- 论坛徽章:
- 0
|
发布《linux内核0.11(0.95)完全注释》修正版1.1
-u 100
0AE7:0100 EBFE JMP 0100
0AE7:0102 EBFC JMP 0100
0AE7:0104 EBFA JMP 0100
0AE7:0106 EBF8 JMP 0100
0AE7:0108 EBF6 JMP 0100
我用DEBUG反汇编一段代码如上,发现 JMP 100,对应的汇编代码都不一样
JMP 100 JMP 100 JMP 100
EB FE EB FC EBFA
相同的跳转指令被汇编为不同的二进制机器代码,请问一下:JMP汇编成机器码是如何对应成的,要是能提供一些资料也行。
1110 1011 1111 1110 EBFE
1110 1011 1111 1100 EBFC
1110 1011 1111 1010 EBFA
1110 1011 1111 1000 EBF8
1110 1011 1111 0110 EBF6
--------------------------
0000 0001 0000 0000 0100
直接也看不出指令和跳转地址的对应规律最好有资料看。有知道的朋友请跟一下先谢了。
发现上述问题是在读核的时候,用Win98引导盘做实验, 我手工修改引导区,在引导之间先执行我的一段代码,跳转回来的时候, 我直接用原JMP 014(第一扇区最开始二个字节) 指令发现根本回不去,最后发现是跳转的指令汇编后的代码不同。 |
|