Участник:Mityada/Ассемблер — различия между версиями
Mityada (обсуждение | вклад) (→Компилятор) |
Mityada (обсуждение | вклад) (→Windows) |
||
Строка 6: | Строка 6: | ||
== Линковщик == | == Линковщик == | ||
=== Windows === | === Windows === | ||
− | <code>link.exe</code> из Microsoft Visual Studio. Лежит в | + | <code>link.exe</code> из Microsoft Visual Studio. Лежит в <code>%Program Files%/Microsoft Visual Studio 10.0/VC/bin/</code>. При запуске может ругаться на нехватку <code>mspdb100.dll</code>, берем из <code>%Program Files%/Microsoft Visual Studio 10.0/Common7/IDE/</code>. |
+ | |||
=== Linux === | === Linux === | ||
<code>ld</code> из пакета <code>binutils</code> | <code>ld</code> из пакета <code>binutils</code> |
Версия 22:42, 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
Запуск
Если вы все сделали правильно, программа должна запускаться и завершаться без ошибки.