2011年09月02日   码农之路   3,923 次浏览
我们知道在汇编中字符显示的情况下,如果要打印出来两位及以上数值的话就无法打印。
下面,给大家演示一个汇编打印65535内任意数值的函数:
DATAS SEGMENT num dw 12345 DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX mov ax, num call printnum MOV AH,4CH INT 21H ;打印65535内任意数值 ;数值在AX中 printnum proc push ax push bx push cx push dx ;将数值除10把余数保存在堆栈中直到商为0 mov bx, 0 loop1: inc bx mov cx, 10 mov dx, 0 div cx push dx cmp ax, 0 ja loop1 ;将堆栈中的数值显示出来 loop2: dec bx pop dx add dx, 30h mov ah, 02h int 21h cmp bx, 0 ja loop2 pop dx pop cx pop bx pop ax ret printnum endp CODES ENDS END START |
注意读懂小写字母的代码就行了。
>>> Hello World <<<
这篇内容是否帮助到你了呢?
如果你有任何疑问或有建议留给其他朋友,都可以给我留言。