Участник:Mityada/Ассемблер — различия между версиями
Mityada (обсуждение | вклад) |
Mityada (обсуждение | вклад) (→Компиляция) |
||
Строка 34: | Строка 34: | ||
= Компиляция = | = Компиляция = | ||
+ | |||
+ | После компиляции у вас должен получится [http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D1%8B%D0%B9_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C объектный файл]. | ||
=== Windows === | === Windows === |
Версия 22:27, 2 марта 2012
Содержание
Необходимые программы
Компилятор
Yasm. Качаем отсюда http://yasm.tortall.net/.
Линковщик
Windows
link.exe
из Microsoft Visual Studio. Лежит в "%Program Files%/Microsoft Visual Studio 10.0/VC/bin/
". При запуске может ругаться на нехватку mspdb100.dll, берем из "%Program Files%/Microsoft Visual Studio 10.0/Common7/IDE/
".
Linux
ld
из пакета binutils
Текстовый редактор
На ваш вкус и цвет.
Простейшая программа
Windows
section .text global _main _main: ret
Linux
section .text global _start _start: mov eax, 1 mov ebx, 0 int 0x80
Компиляция
После компиляции у вас должен получится объектный файл.
Windows
yasm -f win32 test.asm
Linux
yasm -f elf32 test.asm
Линковка
Windows
link.exe /subsystem:console /entry:main test.obj
Linux
ld -o test test.o
Запуск
Если вы все сделали правильно, программа должна запускаться и завершаться без ошибки.