位置相关码,位置无关码?

  • 举个例子:排队时

    1.A排在第一的位置,B排在第二的位置

    2.A排在B的前面

    这两种情况,都说明的A和B的位置关系,而第一种跟位置相关,属于绝对地址;而第二种情况则跟位置无关,属于相对地址。
 
 
 
  位置无关码:CPU取指时,总是相对于本条执行指令的相对地址去取指。比如指行一个ADD指令时,PC要取下一指令的地址,就在原来的基础上+4。这就不管你代码放在存储器的任何位置,只要他们的相对地址没有改变,就能正常执行程序。一般上电复位那几条语句就必须是位置无关码指令。

  位置相关码:可以这样来说,就是CPU每次取指都从绝对位置去取,而不是上面的相对位置。这个绝对地址就是相对起始地址0来说的。这样,就要求你在存放程序时,必须给连接脚本所规定的一样,把代码放到指定位置。
posted @ 2013-04-28 19:07  ITtecman  阅读(389)  评论(0编辑  收藏  举报