我知道答案,理论也可以推出来,但我在debug里运行的时候,怎么从实验结果里看出来是最后想上跳了10个字节的!
部分上机结果在这里!
-------------
0B93:0014 8905 MOV [DI],AX CS:0008=90
-t
AX=F6EB BX=0000 CX=0023 DX=0000 SP=0000 BP=0000 SI=0020 DI=0008
DS=0B83 ES=0B83 SS=0B93 CS=0B93 IP=0016 NV UP EI PL NZ NA PO NC
0B93:0016 EBF0 JMP 0008
-t
AX=F6EB BX=0000 CX=0023 DX=0000 SP=0000 BP=0000 SI=0020 DI=0008
DS=0B83 ES=0B83 SS=0B93 CS=0B93 IP=0008 NV UP EI PL NZ NA PO NC
0B93:0008 EBF6 JMP 0000
-t
AX=F6EB BX=0000 CX=0023 DX=0000 SP=0000 BP=0000 SI=0020 DI=0008
DS=0B83 ES=0B83 SS=0B93 CS=0B93 IP=0000 NV UP EI PL NZ NA PO NC
0B93:0000 B8004C MOV AX,4C00
-t
AX=4C00 BX=0000 CX=0023 DX=0000 SP=0000 BP=0000 SI=0020 DI=0008
DS=0B83 ES=0B83 SS=0B93 CS=0B93 IP=0003 NV UP EI PL NZ NA PO NC
0B93:0003 CD21 INT 21
-p
-------------
------解决方案--------------------------------------------------------
不要用t命令,用u命令看一下,复制的时候就是把jmp short s1的机器指令复制过去到s处,机器码是什么你自己debug一下再用u命令看一下就知道了,然后那个数据应该是-10的补码F6,,你调试一下看看。