Участник:Mityada/Ассемблер — различия между версиями
Mityada (обсуждение | вклад) |
Mityada (обсуждение | вклад) |
||
| Строка 32: | Строка 32: | ||
mov ebx, 0 | mov ebx, 0 | ||
int 0x80 | 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 | ||
| + | |||
| + | = Запуск = | ||
| + | |||
| + | Если вы все сделали правильно, программа должна запускаться и завершаться без ошибки. | ||
Версия 22:21, 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
Запуск
Если вы все сделали правильно, программа должна запускаться и завершаться без ошибки.