汇编语言上天之路8-10课笔记(JMP同一地址不同机器码))
第八节课
物理地址 = 段地址×16 + 偏移地址(×16相当于二进制向左移动4位) 二进制左移一位相当于×2
第九节课
段地址和偏移地址都是16位(如FFFF),所以段地址不变,只改变偏移地址的最大寻址能力为64KB-》2的16次方
第十节课
CS是代码段,IP是代码段的偏移地址
JMP ax,作用是改变IP,不改变CS
JMP 1000:3的作用是改变CS和IP
附JMP近跳转的同一地址出现不同机器码的原因:
如:
0047FF0E处跳转到10001000地址处,则机器码为E9 ED 10 B8 0F , E9为近跳转的机器码 ,又有OD用的小端序所以跳转的EIP为0FB810ED
用JMP的地址减去JMO指令处的地址再减去这个指令的长度5字节得到 10001000-0047FF0E-5 = 0FB810ED,这个就是JMP同一地址不同机器码的原因
0047FF16处跳转到10001000地址处,则机器码为E9 E5 10 B8 0F , 跳转的EIP为0FB810E5
用JMP的地址减去JMP指令处的地址再减去这个指令的长度5字节得到 10001000-0047FF16-5 = 0FB810E5
页:
[1]