Pino 发表于 2011-8-10 09:00:13

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,就退出了。想破头皮也想不出来。

weixianlang 发表于 2011-8-10 09:04:07

除法溢出, AX / DL = 4F2 > 8bit,
al不能存储商, 改用除数为16位的除法就可以了!

parbbo 发表于 2011-8-10 09:23:29

代码贴出来看看

Pino 发表于 2011-8-10 09:36:23

谢谢2楼的兄弟,没考虑到商的大小。代码是实验10.3我还在写中,还没完善。不太好意思贴出来。呵呵。
页: [1]
查看完整版本: debug 调试不过,不知道错在哪里。