当前位置:编程学习 > 汇编语言 >>

汇编语言div指令的问题

为什么除数8位,被除数则为16位,除数16位,被除数则为32位?
答案:不同的 CPU 有不同的处理方法。

51 单片机就是 8 位数除以 8 位数。
其他:这是div指令的规定啊,
就跟add规定前面和后面的数据得是同类型的一样 8086/8088CPU执行除法时规定:除数只能是被除数的一半字长,并规定:
(1)当被除数为16位,应放于AX中;除数应为8位,可放在寄存器/存储器中,但得到的8位商在AL中,8位余数在AH中
(2)当被除数为32位,应存放于DX:AX中;除数应为16位,可放在寄存器/存储器中,但得到的16位商在AX中,16位余数在DX中
DIV src ;(AL) : (AX)/src的商                   (字节除法)
             ;(AH):(AX)/src的余数

             ;(AX):(DX:AX)/(src)的商              (字除法)

             ;(DX):(DX:AX)/(src)的余数 

上一个:姿臣eke绸早ёжз
下一个:谁能帮我查找汉字所有资料

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,