diff options
Diffstat (limited to 'test/objexe.asm')
-rw-r--r-- | test/objexe.asm | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/objexe.asm b/test/objexe.asm new file mode 100644 index 0000000..9959f40 --- /dev/null +++ b/test/objexe.asm @@ -0,0 +1,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: |