diff options
author | H. Peter Anvin <hpa@zytor.com> | 2002-04-30 21:02:01 +0000 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2002-04-30 21:02:01 +0000 |
commit | 788e6c10e175ab4b3e67feefbffe570619ae2330 (patch) | |
tree | fdbac44f81f28b729e74ce8a8379b5211f2d6f95 /test/bintest.asm | |
parent | 4cf1748e6829f80be251b8d7d274738009f934cf (diff) | |
download | nasm-788e6c10e175ab4b3e67feefbffe570619ae2330.tar.gz nasm-788e6c10e175ab4b3e67feefbffe570619ae2330.tar.bz2 nasm-788e6c10e175ab4b3e67feefbffe570619ae2330.zip |
NASM 0.98.12
Diffstat (limited to 'test/bintest.asm')
-rw-r--r-- | test/bintest.asm | 90 |
1 files changed, 56 insertions, 34 deletions
diff --git a/test/bintest.asm b/test/bintest.asm index 96a1dce..94d2bf7 100644 --- a/test/bintest.asm +++ b/test/bintest.asm @@ -1,34 +1,56 @@ -*************** -*** 26,32 **** - - jmp start ; [6] - -- end mov ax,0x4c00 ; [1] - int 0x21 - - start mov byte [bss_sym],',' ; [1] [8] ---- 26,32 ---- - - jmp start ; [6] - -+ endX mov ax,0x4c00 ; [1] - int 0x21 - - start mov byte [bss_sym],',' ; [1] [8] -*************** -*** 49,55 **** - datasym db 'hello world', 13, 10, '$' ; [2] - bssptr dw bss_sym ; [2] [11] - dataptr dw datasym+5 ; [2] [10] -- textptr dw end ; [2] [9] - - SECTION .bss - ---- 49,55 ---- - datasym db 'hello world', 13, 10, '$' ; [2] - bssptr dw bss_sym ; [2] [11] - dataptr dw datasym+5 ; [2] [10] -+ textptr dw endX ; [2] [9] - - SECTION .bss - +; test source file for assembling to binary files +; build with: +; nasm -f bin -o bintest.com bintest.asm + +; When run (as a DOS .COM file), this program should print +; hello, world +; on two successive lines, then exit cleanly. + +; This file should test the following: +; [1] Define a text-section symbol +; [2] Define a data-section symbol +; [3] Define a BSS-section symbol +; [4] Define a NASM local label +; [5] Reference a NASM local label +; [6] Reference a text-section symbol in the text section +; [7] Reference a data-section symbol in the text section +; [8] Reference a BSS-section symbol in the text section +; [9] Reference a text-section symbol in the data section +; [10] Reference a data-section symbol in the data section +; [11] Reference a BSS-section symbol in the data section + + BITS 16 + ORG 0x100 + + SECTION .text + + jmp start ; [6] + +endX mov ax,0x4c00 ; [1] + int 0x21 + +start mov byte [bss_sym],',' ; [1] [8] + mov bx,[bssptr] ; [7] + mov al,[bx] + mov bx,[dataptr] ; [7] + mov [bx],al + mov cx,2 +.loop mov dx,datasym ; [1] [4] [7] + mov ah,9 + push cx + int 0x21 + pop cx + loop .loop ; [5] [6] + mov bx,[textptr] ; [7] + jmp bx + + SECTION .data + +datasym db 'hello world', 13, 10, '$' ; [2] +bssptr dw bss_sym ; [2] [11] +dataptr dw datasym+5 ; [2] [10] +textptr dw endX ; [2] [9] + + SECTION .bss + +bss_sym resb 1 ; [3] |