Menyusun Program Perhimpunan dengan NASM
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 .teksglobal
:
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.exeMenggunakan 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