学习了点小知识,分享一下
L P##Addr_point //Addr_point的数据类型为:pointer
LAR1
L O
L W[AR1,P#0.0] //取指针的第一个字内的数据块编号
==I
JC _oo1
T #DB_No
OPEN DB[#DB_No]
_001: L D[AR1,P#2.0]
LAR1
L W[AR1,P#0.0]
L W[AR1,P#2.0]
OW
T #Result
弱弱的问几个问题:
问题1:pointer指针不是48吗?怎么能放到32位地址寄存器中?any指针也有同样的疑惑?
问题2:第四句指令 L W[AR1,P0.0]
第九句指令 L D[AR1,P#2.0] 这两句指令怎么理解?
问题3:pointer和any指针存放在什么地方呢?
希望各位大侠能帮忙解答,谢谢
下面是我的回帖:
问题1:pointer指针不是48吗?怎么能放到32位地址寄存器中?any指针也有同样的疑惑?
第1条指令是将pointer的起始地址送累加器1,送的不是6字节的pointer本身。
问题2:第四句指令 L W[AR1,P0.0]
第九句指令 L D[AR1,P#2.0] 这两句指令怎么理解?
L W[AR1,P0.0]送的是指针的第1个字,即数据块编号。
L D[AR1,P#2.0]送的是指针中的后4个字节,即数据块内的起始地址。
问题3:pointer和any指针存放在什么地方呢?
pointer和any指针存放在调用它的块的临时局部变量区里。