拯救我的有木有?汇编求解
这个内存中,指令jmp 0ff0:0100 怎么能跳转到mov ax,2000h处呢?难道0ff0:0100等于10000h吗?{:5_96:}给个说法的有木有?jmp 0ff0:0100
地址 = 段地址* 16 + 偏移地址
0ff0 * 16 = 0ff00 【因为是16进制 ,所以每个位向前推一位】
0ff00+ 100 = 10000
所以地址为 10000 一句话,我们在物理地址的时候,都是给段地址推进一个零,0ff0=相当于0ff0x16,【这里16相当于十六进制的10】,我们要把十进制的16转换为十六进制的10,然后进行十六进制的计算,所以0ff0x10执行后就相等于0ff00,再加上偏移地址,计算就是0ff0x10+0100=10000.我们在书里有点没有明确解释一些方式,其实当我们看到书里的老师都是把段地址前面多加一个0去计算,列如:0ff0前面多加一个0=0ff00,再去加0100就是我们要的物理地址。。。。。。。。。。0ff00+0100=10000{这里进行的是十六进制计算}。希望可以明白,我是菜鸟,其实我也不很懂,,以后还请大神们多多指教和指点。谢谢
页:
[1]