Изменения

Перейти к: навигация, поиск

Участник:Mityada/Ассемблер

1159 байт добавлено, 10:17, 3 марта 2012
м
Компиляция: http://tsya.ru/
== Компилятор ==
Yasm. Качаем отсюда [http://yasm.tortall.net/отсюда].
== Линковщик ==
=== Windows ===
<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 ===
<code>ld</code> из пакета <code>binutils</code>.
== Текстовый редактор ==
= Простейшая программа =
=== Windows ===  section .text ; code section global _main ; entry point must be global _main: ; entry point ret ; exit === Linux ===  section .text ; code section global _start ; entry point must be global _start: ; entry point mov eax, 1 ; sys_exit system call mov ebx, 0 ; return code 0 int 0x80 ; call kernel = Компиляция =
section После компиляции у вас должен получиться [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 объектный файл].text global _main
=== Windows === yasm -f win32 test.asm === Linux === _mainyasm -f elf32 test.asm = Линковка = === Windows === link.exe /subsystem:console /entry:main test.obj ret=== Linux === ld -o test test.o
== Linux =Запуск =
section Если вы все сделали правильно, программа должна запускаться и завершаться без ошибки.text global _start
_start= Полезные ссылки =*[http://www.tortall.net/projects/yasm/manual/html/manual.html Yasm User Manual] mov eax, 1*[http://en.wikipedia.org/wiki/X86_assembly_language x86 assembly language] mov ebx, 0*[http://en.wikibooks.org/wiki/X86_Assembly x86 assembly] int 0x80*[http://google.com Google]
689
правок

Навигация