答:注意,此程序不会执行S1后的指令。分析如下:
首先mov di,offset s/mov si,offset s2/mov ax,cs:[si]/mov cs:[di],ax几条指令,实现了将s2的内容放到s中;
然后jmp short s1是根据位移来做转移的,即s2的地址-s1的地址,即为F6(原码为-10);
所以我们看到,s的内容为将当前IP向前移动10个字节,正确返回。
- [zihaolee] 哦 我记得就是debug里,用g直接把程序运完,发现寄存器不改变;用t或p单步运行,就能看到寄存器 04/28 15:52
- [mywiil] 今天做rep movsb(P232)页时,发现用G直接执行完程序,寄存器不会改变,用T单步执行就能改 04/25 20:10