1:在0624单元内忧一条二字节JMP SHORT OBJ指令,如果其中偏移量是27H,则转向地址OBJ的值是多少? 2:有指令JMP NEAR PTR qus,一直指令在内存的偏移地址为100H,qus的地址为1000H。问计算指令中的位移量为多少 注:才学这东西,拜托写清楚解题步骤,感恩呐……
2011-10-18 19:03
提问者采纳
1、jmp short 的机器码是 EB ,EB后面跟一个字节的带符号的偏移量。 所以内存单元: 0624:EB 0625:27 当这条指令读入CPU后, IP指向之后的地址,即0b27。 加上偏移量,地址为0b4e。 2、 jmp near ptr的机器码是E9,E9后面跟两个字节的带符号偏移量。 所以内存单元: 0100:E9 0101:XX 0102:XX 上面的两个字节(XX XX)是要求的值, 此时的IP(0102H) + 偏移量 = 1000H 所以偏移量= 1000H - 0102H = 0FF8H 关键在于,把指令读入后IP地址已经指向了新的地址(下一条指令的地址),为了到达目标地址计算偏移量时,要用目标地目标减去此时的地址。 用补码表示结果。
-
追问
-
第一题中的IP指向之后地址不是应该是0b26吗,为什么是0b27啊
-
回答
-
题目上面说的偏移量为27h说的就是JMP指令操作码后面的偏移量为27h。 所以是EB 27