您的位置:控制工程论坛网论坛 » 教程与手册 » 相对寻址使用中应注意的问题

常青树

常青树   |   当前状态:在线

总积分:1421  2024年可用积分:0

注册时间: 2008-09-28

最后登录时间: 2012-05-30

空间 发短消息加为好友

相对寻址使用中应注意的问题

常青树  发表于 2008/10/25 10:11:35      633 查看 0 回复  [上一主题]  [下一主题]

手机阅读


与绝对寻址相比,相对寻址具有很好的“浮动性”,因此是编程人员普遍使用的一种寻址方式。
           使用时,要注意3点:

1,CPU进行地址计算时,PC取值是执行本指令后的地址值。以上面的例子说明:
            指令本身的首地址是2000H,执行完后变为2002H(既下一条指令的首地址)。
            如果使用三字节的相对转移指令,则PC=PC+3。

2,偏移量的计算:
            rel=目标地址-源地址-2     (2字节指令)
    或: rel=目标地址-源地址-3     (3字节指令)
    结果用补码的形式书写。
          为了减少计算偏移量的计算,汇编程序允许使用“符号地址”的方式代替偏移量。如:
                         SJMP   loop1
    汇编程序在翻译时,自动计算并将结果替换符号地址。

3, 如果转移地址的范围超过相对寻址的范围(如:-127~+128)时,就要采用别的方式法,否则在编译时,提示出错。

1楼 0 0 回复