bintest.asm
上传用户:yuppie_zhu
上传日期:2007-01-08
资源大小:535k
文件大小:1k
源码类别:

编译器/解释器

开发平台:

C/C++

  1. ; test source file for assembling to binary files
  2. ; build with:
  3. ;    nasm -f bin -o bintest.com bintest.asm
  4. ; When run (as a DOS .COM file), this program should print
  5. ;    hello, world
  6. ; on two successive lines, then exit cleanly.
  7. ; This file should test the following:
  8. ; [1] Define a text-section symbol
  9. ; [2] Define a data-section symbol
  10. ; [3] Define a BSS-section symbol
  11. ; [4] Define a NASM local label
  12. ; [5] Reference a NASM local label
  13. ; [6] Reference a text-section symbol in the text section
  14. ; [7] Reference a data-section symbol in the text section
  15. ; [8] Reference a BSS-section symbol in the text section
  16. ; [9] Reference a text-section symbol in the data section
  17. ; [10] Reference a data-section symbol in the data section
  18. ; [11] Reference a BSS-section symbol in the data section
  19.   BITS 16
  20.   ORG 0x100
  21.   SECTION .text
  22.   jmp start ; [6]
  23. end   mov ax,0x4c00 ; [1]
  24.   int 0x21
  25. start   mov byte [bss_sym],',' ; [1] [8]
  26.   mov bx,[bssptr] ; [7]
  27.   mov al,[bx]
  28.   mov bx,[dataptr] ; [7]
  29.   mov [bx],al
  30.   mov cx,2
  31. .loop   mov dx,datasym ; [1] [4] [7]
  32.   mov ah,9
  33.   push cx
  34.   int 0x21
  35.   pop cx
  36.   loop .loop ; [5] [6]
  37.   mov bx,[textptr] ; [7]
  38.   jmp bx
  39.   SECTION .data
  40. datasym   db 'hello  world', 13, 10, '$' ; [2]
  41. bssptr   dw bss_sym ; [2] [11]
  42. dataptr   dw datasym+5 ; [2] [10]
  43. textptr   dw end ; [2] [9]
  44.   SECTION .bss
  45. bss_sym   resb 1 ; [3]