Menyusun Program Perhimpunan dengan NASM

Menyusun program pemasangan dengan NASM boleh dilakukan di Linux atau Windows, kerana NASM tersedia untuk kedua-dua platform. Netwide Assembler (NASM) adalah penghimpun dan penceroboh untuk seni bina Intel x86 dan biasanya digunakan untuk membuat program 16-bit, 32-bit (IA-32), dan 64-bit (x86-64).

Perhimpunan akan mengubah pengekodan peringkat rendah anda, menggunakan mnemonik, ke dalam bahasa mesin yang dapat difahami oleh pemproses. Artikel ini tidak akan mengajar anda untuk program dengan NASM, tetapi untuk membuat arahan boleh laku untuk Linux dan Windows dari kod sumber NASM.

  • Menyusun Program Perhimpunan dengan NASM untuk Linux
    • Mewujudkan Fail Sumber
    • Menyusun Fail Sumber
    • Mewujudkan Eksekusi
    • Pelaksanaan Program
  • Menyusun Program Perhimpunan dengan NASM untuk Windows
    • Memasang Perisian
    • Mencipta Fail Sumber
    • Menyusun fail sumber
    • Penciptaan dan Pelaksanaan Program

Menyusun Program Perhimpunan dengan NASM untuk Linux

Mewujudkan Fail Sumber

Anda boleh menggunakan sebarang editor teks, seperti Gedit, KWrite, atau XEmacs, untuk berbuat demikian. Apabila anda menyimpan fail anda, berikannya lanjutan .asm .

Menyusun Fail Sumber

Untuk langkah ini, anda memerlukan perisian NASM yang dipasang pada mesin anda.

Jika anda menjalankan Debian atau Ubuntu, cukup ketik arahan:

 sudo apt-get install nasm 

Jika anda mempunyai pengedaran Linux yang lain, anda mesti menggunakan pengurus pakej pengedaran anda (mis. Urpmi, Yum, Emerge) atau muat turun NASM dari laman web rasmi.

Gunakan baris arahan berikut untuk memasang fail sumber anda:

 nasm -f elf test.asm 

Dalam contoh, fail .asm yang disimpan dipanggil test.asm . Ini akan membuat fail bernama test.o dalam direktori semasa.

NB Fail ini tidak dapat dilaksanakan. Ia masih merupakan fail objek.

Mewujudkan Eksekusi

Sekarang kita mempunyai fail objek kami, bernama test.o, kita mesti membuat laksana yang boleh dilaksanakan.

Program anda mungkin bermula dengan prosedur yang dipanggil _start . Ini bermakna bahawa program anda mempunyai titik masuk sendiri, tanpa menggunakan fungsi utama . Walau bagaimanapun, anda perlu menggunakan "l" untuk mencipta laksana:

 ld test.o -o test 

Sebagai alternatif, program anda mungkin bermula dengan prosedur yang dipanggil utama . Anda perlu menggunakan gcc untuk membuat laksana anda:

 ujian gcc test.o -o 

Kini, executable anda dibuat, diuji, dan terletak di direktori semasa.

Pelaksanaan Program

Untuk menjalankan program yang disebut ujian, cukup ketik perintah ini:

 . / ujian 

Menyusun Program Perhimpunan dengan NASM untuk Windows

Fungsi utama tidak tersedia di bawah Windows dan mesti digantikan oleh WinMain .

Jika titik masuk anda adalah _start atau utama, ia mesti ditukar kepada _WinMain @ 16 . Juga, tukar ret pada akhir prosedur untuk mencatat 16 :

 bahagian .teks

global

:

mov eax, 0

ret 16

Memasang Perisian

Anda mesti terlebih dahulu memasang //ccm.net/download/download 1025 NASM. Simpan arkib di suatu tempat, kerana ia akan digunakan kemudian.

Langkah paling sukar ialah memasang MinGW, yang merupakan persekitaran pembangunan percuma untuk Windows:

Mula dengan memilih versi terbaru dari MingGW dari AZ. Jalankan pemasang, tetapi jangan dikemas kini pada ketika ini. Tinggalkan semua pilihan yang dipilih secara lalai, dan tunggu untuk dipasang.

Kini anda perlu memasukkan NASM dalam persekitaran pembangunan MinGW. Buka arkib NASM. Anda sepatutnya mendapat folder yang mengandungi, antara lain, sebuah file bernama nasm.exe . Salin fail ini ke direktori C: \ MinGW \ bin .

Mencipta Fail Sumber

Seperti Linux, tidak perlu menggunakan penerbit tertentu untuk membuat fail sumber untuk NASM. Anda boleh menggunakan Notepad . Tetapi ambil perhatian bahawa ia cenderung untuk menambah sambungan .txt ke fail yang dibuatnya. Untuk menghapus sebarang kekaburan, mengesyorkan agar anda melihat sambungan fail anda.

Walau apa pun, elakkan daripada pemproses kata, seperti Word atau WordPad .

Jika anda mahu, anda juga boleh menggunakan editor yang menggunakan sintaks NASM, seperti IDE NasmEdit .

Pastikan anda menyimpan fail sumber anda dengan sambungan .asm .

Menyusun fail sumber

Buka tetingkap Command dengan pergi ke Start> Run dan ketik cmd.exe

Menggunakan cd perintah, pergi ke folder yang mengandungi fail sumber anda. Sebaik sahaja anda berada di direktori ini, kumpulkan fail sumber anda ( test.asm ) dengan arahan ini:

 nasm -f win32 test.asm -o test.o 

Anda kini telah membuat fail objek. Langkah seterusnya adalah mengubahnya menjadi fail boleh laku.

Penciptaan dan Pelaksanaan Program

Dari tetingkap Perintah anda, ketik perintah akhir untuk membuat laksana:

 ld test.o -o test.exe

Imej: © Alexandr Pakhnyushchyy - Shutterstock.com

Artikel Sebelumnya Artikel Seterusnya

Tip-Tip Utama