Участник:Mityada/Ассемблер — различия между версиями
Mityada (обсуждение | вклад)  (→Windows)  | 
				Mityada (обсуждение | вклад)   | 
				||
| Строка 55: | Строка 55: | ||
Если вы все сделали правильно, программа должна запускаться и завершаться без ошибки.  | Если вы все сделали правильно, программа должна запускаться и завершаться без ошибки.  | ||
| + | |||
| + | = Полезные ссылки =  | ||
| + | *[http://www.tortall.net/projects/yasm/manual/html/manual.html Yasm User Manual]  | ||
| + | *[http://en.wikipedia.org/wiki/X86_assembly_language x86 assembly language]  | ||
| + | *[http://en.wikibooks.org/wiki/X86_Assembly x86 assembly]  | ||
| + | *[http://google.com Google]  | ||
Версия 23:08, 2 марта 2012
Содержание
Необходимые программы
Компилятор
Yasm. Качаем отсюда.
Линковщик
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
Запуск
Если вы все сделали правильно, программа должна запускаться и завершаться без ошибки.