汇编div后结果错误
本帖最后由 走在01的路上 于 2020-7-25 15:50 编辑https://imgchr.com/i/Uz7RIO
16位除法是这样的
当除数为8位时
被除数在AX里,除数为 byte ptr ,或者AL,AH,BL,BH,CL,CH,DL,DH寄存器
如:
MOVAX,16
MOVBL,7
DIV BL
执行除法后,商进AL,余数进AH
当除数是16位时
被除数在DX:AX中,即DX,AX共同组成被除数,除数为WORD PTR,或者AX,BX,CX,DX
如:
MOV AX,16
XORDX,DX
MOV BX,7
DIV BX
执行除法后,商进 AX,余数进DX。
你的代码中
DX = 1
AX = 16H
DIVWORD PTR
相当于执行了10016H / 7
商是2495H 余数是3
另外
乘法的规则和除法一样。 非常感谢原来是dx和ax一起组成的被除数 {:10_250:}
页:
[1]