我在debug中输入了两条指令
mov cx,0000
jcxz 0005 转到mov cx,0000处执行
结果发现了点问题
-a
153C:0005 mov cx,0000
153C:0008 jcxz 0005
153C:000A
-r ip
IP 0000
:0005
-t
AX=0500 BX=0003 CX=0000 DX=08A0 SP=FFF6 BP=0000 SI=0018 DI=0532
DS=153A ES=B800 SS=153A CS=153C IP=0008 NV UP EI PL NZ NA PO NC
153C:0008 E3FB JCXZ 0005
-t
AX=0500 BX=0003 CX=0000 DX=08A0 SP=FFF6 BP=0000 SI=0018 DI=0532
DS=153A ES=B800 SS=153A CS=153C IP=0005 NV UP EI PL NZ NA PO NC
153C:0005 B90000 MOV CX,0000
-t
AX=0500 BX=0003 CX=0000 DX=08A0 SP=FFF6 BP=0000 SI=0018 DI=0532
DS=153A ES=B800 SS=153A CS=153C IP=0008 NV UP EI PL NZ NA PO NC
153C:0008 E3FB JCXZ 0005
按理说设置cx=0,执行jcxz的后会陷入死循环,cx=ffffH,但执行完jcxz后cx还是等于0,这是怎么回事? |