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

Материал из Викиконспекты
Версия от 23:18, 2 марта 2012; Mityada (обсуждение | вклад) (Простейшая программа)
Перейти к: навигация, поиск

Необходимые программы

Компилятор

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     ; 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

Компиляция

После компиляции у вас должен получится объектный файл.

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

Запуск

Если вы все сделали правильно, программа должна запускаться и завершаться без ошибки.

Полезные ссылки