mirror of
https://github.com/netwide-assembler/nasm.git
synced 2024-12-03 08:41:02 +08:00
31 lines
529 B
NASM
31 lines
529 B
NASM
; 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:
|