debug 调试不过,不知道错在哪里。
本帖最后由 Pino 于 2011-8-10 09:36 编辑DS=0B70 ES=0B60 SS=0B70 CS=0B71 IP=0024 NV UP EI PL NZ NA PO NC
0B71:0024 50 PUSH AX
-t
AX=317A BX=0B70 CX=0099 DX=0000 SP=FFF4 BP=0000 SI=0000 DI=0000
DS=0B70 ES=0B60 SS=0B70 CS=0B71 IP=0025 NV UP EI PL NZ NA PO NC
0B71:0025 B20A MOV DL,0A
-t
AX=317A BX=0B70 CX=0099 DX=000A SP=FFF4 BP=0000 SI=0000 DI=0000
DS=0B70 ES=0B60 SS=0B70 CS=0B71 IP=0027 NV UP EI PL NZ NA PO NC
0B71:0027 BB0000 MOV BX,0000
-t
AX=317A BX=0000 CX=0099 DX=000A SP=FFF4 BP=0000 SI=0000 DI=0000
DS=0B70 ES=0B60 SS=0B70 CS=0B71 IP=002A NV UP EI PL NZ NA PO NC
0B71:002A F6F2 DIV DL
-t
Divide overflow
Program terminated normally调试到DIV DL,就退出了。想破头皮也想不出来。
除法溢出, AX / DL = 4F2 > 8bit,
al不能存储商, 改用除数为16位的除法就可以了! 代码贴出来看看 谢谢2楼的兄弟,没考虑到商的大小。代码是实验10.3我还在写中,还没完善。不太好意思贴出来。呵呵。
页:
[1]