关于对div运算的规定
在知道这个规定是那些!但除的时候但被除数是16位数的时候,除数是8位,要进行8位的运算,可为什么64位的放到bx就会算错了?数字都没有变啊!
-a
0B26:0100 mov ax,03e9
0B26:0103 mov bx,64
0B26:0106 div bx
0B26:0108
-g 0106
AX=03E9 BX=0064 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B26 ES=0B26 SS=0B26 CS=0B26 IP=0106 NV UP EI PL NZ NA PO NC
0B26:0106 F7F3 DIV BX
-t
AX=000A BX=0064 CX=0000 DX=0001 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B26 ES=0B26 SS=0B26 CS=0B26 IP=0108 NV UP EI PL NZ NA PO NC
0B26:0108 00F7 ADD BH,DH
-------------------
-a
0B26:0126 mov ax,03e9
0B26:0129 mov bl,64
0B26:012B div bl
0B26:012D
-g 012d
AX=010A BX=0064 CX=0000 DX=0001 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B26 ES=0B26 SS=0B26 CS=0B26 IP=012D NV UP EI PL NZ NA PO NC
0B26:012D 032A ADD BP,[BP+SI] SS:0000
-
[解决办法]
DX:AX / BX
商AX,余数DX
[解决办法]