X86汇编将寄存器中的内容以十进制输出

 1 code segment
 2         assume cs:code
 3 strart:       
 4         mov ax ,1234                    ;将要输出的数字
 5         or  ax , ax
 6         jz  zero
 7         mov bx , -1                     ;余数栈底标志
 8         push bx
 9         mov bx , 10                     ;除数
10 
11 repeat: xor dx , dx
12         div bx
13         mov cx , ax                     ;商
14         or  cx , dx
15         jz  print_exit                  ;商与余数全零则结束
16         push dx
17         jmp repeat
18 
19 zero:   mov dl , 30h
20         mov ah , 02h
21         int 21h
22 
23 print_exit:
24         pop dx
25         cmp dx , -1
26         je  exit
27         add dx , 30h
28         mov ah , 02h
29         int 21h
30         jmp print_exit
31 
32 exit:
33         mov ax , 4c00h                  ;返回DOS
34         int 21h 
35 
36 code ends
37 end  strart

 

posted on 2014-12-26 22:41  Karma_wjc  阅读(2049)  评论(0编辑  收藏  举报