恭喜,你发布的帖子
发布于 2017-04-10 15:53:32
1楼
总算看明白了,情况是这样的,循环程序开始的第一个字是从最后一个字开始的,所以要有一段最后一个字的地址的计算:
NXT1: T LW 18
TAR1
L P#2.0
-D //这里可以看出是减去,而不是加。
LAR1
解释如何实现最后一个字地址的计算
L LD 6
L DW#16#FFFFFF
AD
T LD 10 //这个是初始的地址
//计算最后一个存储单元指针保存至 LD10
L LW 2 //数据长度,以字为长度的,因为是INT
L 2
*I //乘以2得到的是以字节为单位的长度
T LD 14
L L#2
-D //减去2,因为DB块的数据是从0开始的,
SLD 3 //左移动三位相当于乘以8,得到了增加的地址长度。
L LD 10
+D
T LD 10 //最后加上初始的地址值,得到的才是最后一个地址的长度:
例如从0开始的10字(原来是字节,笔误),在DBW0-DBW18
DBW18的指针地址:(10*2-2)*8=144
请填写推广理由:
分享
只看
楼主