1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
; Demonstration of how to write an entire .EXE format program as a .OBJ
; file to be linked. Tested with the VAL free linker.
; To build:
; nasm -fobj objexe.asm
; val objexe.obj,objexe.exe;
; To test:
; objexe
; (should print `hello, world')
segment code
..start: mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,stacktop
mov dx,hello
mov ah,9
int 0x21
mov ax,0x4c00
int 0x21
segment data
hello: db 'hello, world', 13, 10, '$'
segment stack stack
resb 64
stacktop:
|