汇编JMP语句 IP值和偏移量的问题。问题如下,我想知道IP值是怎么变化的。还有8086一条指令占个几字节啊

汇编JMP语句 IP值和偏移量的问题。问题如下,我想知道IP值是怎么变化的。还有8086一条指令占个几字节啊

2011-10-16 22:26 干物虫子  |  分类:汇编语言  |  浏览404次
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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值