码迷,mamicode.com
首页 > 编程语言 > 详细

汇编语言,以10进制的方式显示数字

时间:2016-05-29 21:09:59      阅读:392      评论:0      收藏:0      [点我收藏+]

标签:

printit proc near
    
    test ax,8000h
    jz p
    neg ax    
    mov cx,ax
    mov dx,2dh
    mov ah,2
    int 21h
    mov ax,cx
    mov dx,0
p:    mov bx ,10
    div bx
    mov bx,dx
    mov dx,ax
    add dx,30h
    mov ah,02h
    int 21h
    mov dx,bx
    add dx,30h
    mov ah,02h
    int 21h
    ret
printit endp

DIV CX这条指令,是DX:AX合起来的32bit数值除以CX的16bit数值,除法的结果必须在16bit内能表示,所以可以得出结论,如果这条指令执行前,DX中的数值比CX还大的话,就会溢出,不论CX是否为0。我估计你的原意是想要做AX除以CX,那么只要先把DX清零就行了。

汇编语言,以10进制的方式显示数字

标签:

原文地址:http://www.cnblogs.com/da-peng/p/5540200.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!