汇编语言div指令的问题
为什么除数8位,被除数则为16位,除数16位,被除数则为32位?
为什么除数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绸早ёжз
下一个:谁能帮我查找汉字所有资料