Съставяне на програма за събрание с NASM

Компилирането на програма за сглобяване с NASM може да се направи на Linux или Windows, като NASM е достъпна и за двете платформи. Netwide Assembler (NASM) е асемблер и дилемер за архитектурата Intel x86 и обикновено се използва за създаване на 16-битови, 32-битови (IA-32) и 64-битови (x86-64) програми.

Сглобяването ще превърне кодирането ви на ниско ниво, използвайки мнемоника, в машинен език, който може да бъде разбран от процесора. Тази статия няма да ви научи да програмирате с NASM, а да създадете изпълнима команда за Linux и Windows от изходния код на NASM.

  • Съставяне на програма за сглобяване с NASM за Linux
    • Създаване на изходния файл
    • Сглобяване на изходния файл
    • Създаване на изпълнимия файл
    • Изпълнение на програмата
  • Съставяне на програма за сглобяване с NASM за Windows
    • Инсталиране на софтуера
    • Създаване на изходен файл
    • Сглобяване на изходния файл
    • Създаване и изпълнение на програмата

Съставяне на програма за сглобяване с NASM за Linux

Създаване на изходния файл

Можете да използвате всеки текстов редактор, като Gedit, KWrite или XEmacs, за да го направите. Когато запазите файла си, дайте му разширение .asm .

Сглобяване на изходния файл

За тази стъпка ще ви е необходим софтуер NASM, инсталиран на вашата машина.

Ако използвате Debian или Ubuntu, просто въведете командата:

 sudo apt-get install nasm 

Ако имате друга дистрибуция на Linux, трябва да използвате мениджъра на пакети на вашия дистрибутор (напр. Urpmi, Yum, Emerge) или да изтеглите NASM от официалния сайт.

Използвайте следния команден ред, за да съберете изходния си файл:

 nasm -f elf test.asm 

В примера записаният .asm файл се нарича test.asm . Това ще създаде файл с име test.o в текущата директория.

NB Този файл не е изпълним. Той все още е обектен файл.

Създаване на изпълнимия файл

Сега, когато имаме обектния файл, наречен test.o, трябва да създадем своя изпълним файл.

Вашата програма може да започне с процедура, наречена _start . Това означава, че вашата програма има своя собствена точка на влизане, без използването на основната функция. Трябва обаче да използвате „l“, за да създадете изпълнимия си файл:

 ld test.o -o тест 

Алтернативно, вашата програма може да започне с процедура наречена main . Трябва да използвате gcc, за да създадете изпълнимия си файл:

 gcc test.o -o тест 

Сега изпълнимият ви файл е създаден, тестван и разположен в текущата директория.

Изпълнение на програмата

За да стартирате програмата, наречена тест, напишете тази команда:

, / тест 

Съставяне на програма за сглобяване с NASM за Windows

Основната функция не е достъпна под Windows и трябва да бъде заменена от WinMain .

Ако входната точка е _start или main, тя трябва да бъде променена на _WinMain @ 16 . Също така, променете ret при края на процедурата до ret 16 :

 текст

глобален

:

mov eax, 0

ret 16

Инсталиране на софтуера

Първо трябва да инсталирате //ccm.net/download/download 1025 NASM. Дръжте някъде архив, тъй като ще бъде използван по-късно.

Най-трудната стъпка ще бъде инсталирането на MinGW, която е безплатна среда за разработка на Windows:

Започнете, като изберете най-новата версия на MingGW от AZ. Стартирайте инсталационната програма, но не актуализирайте на този етап. Оставете всички опции, избрани по подразбиране, и изчакайте да се инсталира.

Сега трябва да вмъкнете NASM в средата за разработка MinGW. Разопаковайте архива на NASM. Трябва да получите папка, съдържаща, наред с други неща, файл с име nasm.exe . Копирайте този файл в директорията C: MinGW bin .

Създаване на изходен файл

Подобно на Linux, не е необходимо да използвате конкретен издател, за да създадете изходен файл за NASM. Можете да използвате Notepad . Но имайте предвид, че тя има тенденция да добавя разширение .txt към файловете, които създава. За да премахнете всяка неяснота, препоръчваме ви да преглеждате разширенията на файловете си.

Във всеки случай избягвайте текстообработващи програми като Word или WordPad .

Ако желаете, можете да използвате и редактор, който използва NASM синтаксис, като NasMEdit IDE .

Уверете се, че запазете файла си с разширение .asm .

Сглобяване на изходния файл

Отворете командния прозорец, като отидете в Start> Run и напишете cmd.exe

С помощта на командата cd отидете в папката, съдържаща вашия изходен файл. След като сте в тази директория, съберете изходния си файл ( test.asm ) с тази команда:

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

Вече сте създали обектен файл. Следващата стъпка ще бъде да я превърнем в изпълним файл.

Създаване и изпълнение на програмата

От командния прозорец въведете последната команда, за да създадете изпълнимия файл:

 ld test.o -o test.exe

Изображение: © Alexandr Pakhnyushchyy - Shutterstock.com

Предишна Статия Следваща Статия

Топ Съвети