В таких
копіляторах як nasm, yasm відсутній
компановщик для створення вихідного
файлу для виконнаня, можна створити
лише obj ( обєктний
файл ), от і стала задача використати
yasm і
скомпілювати все в ОС Windows
з використанням masm32:
;compile
obj file yasm
;
link
masm32
;
example
Hello
world
test
;
yasm
-f
win32 test.asm
;
link
test.obj
/subsystem:windows
/entry:main
/libpath:E:\masm32\lib
/nodefaultlib
kernel32.lib ;user32.lib
/largeaddressaware:no
global
_main
extern
_ExitProcess@4
extern
_MessageBoxA@16
section
.data
title
db "Yasm
& link",
0
mesaga
db "Скомпільовано
yasm, зібрано в masm32",
0
section
.text
_main:
push
0
push
title
push
mesaga
push
0
call
_MessageBoxA@16
push
0
call
_ExitProcess@4
код для
простого прикладу і компілюємо:
yasm -f win32
test.asm
link
test.obj /subsystem:windows /entry:main /libpath:E:\masm32\lib
/nodefaultlib kernel32.lib user32.lib /largeaddressaware:no
Все тепер більше не потрібно тягнути GCC, binutils в Windows, якщо треба щось зібрати в nasm чи yasm.