技术论坛

 回复:帮忙看到这段程序

返回主题列表
作者 主题
花开的声音
游士

经验值:232
发帖数:70
精华帖:0
楼主    2014-02-04 18:17:56
主题:帮忙看到这段程序
TAR1 #tAR1_MEM

TAR2 #tAR_BASE

L P##inDATA_POINTER
L DW#16#7FFFF
AD
T #tAR_OFFSET

L #tAR_OFFSET
L #tAR_BASE
+D
LAR1
L W [AR1,P#0.0]
T MW 2
L D [AR1,P#2.0]
T MD 4

LAR1 #tAR1_MEM
请各位帮忙看看这段程序是什么意思,这指针是怎么执行的,谢谢了
youhm
至圣

经验值:13571
发帖数:4924
精华帖:81
3楼    2014-02-05 08:40:16
精华帖  主题:回复:帮忙看到这段程序
TAR1 #tAR1_MEM //保存当前AR1到变量#tAR1_MEM
TAR2 #tAR_BASE //保存当前AR2到变量#tAR_BASE
L P##inDATA_POINTER //装载变量 #inDATA_POINTER的起始地址到累加器,在多重背景调用里,这个地址实际是相对地址,即就是一个偏移量
L DW#16#7FFFF
AD //过滤32位地址里的区域信息(比如P#DBX100.0变成P#100.0)
T #tAR_OFFSET
L #tAR_OFFSET
L #tAR_BASE //这段代码我想是在FB里的,FB里AR2保存的是背景数据的起始地址
+D
LAR1 //这里实际上就是把变量#inDATA_POINTER的真实地址(即在多重背景数据块里的绝对地址)装载到AR1
L W [AR1,P#0.0]
T MW 2 //传送#inDATA_POINTER的第一个字到MW2,Pointer指针的第一个字是DB块号
L D [AR1,P#2.0]
T MD 4 //传送#inDATA_POINTER后4个字节的32位区域地址到MD4
LAR1 #tAR1_MEM //恢复AR1之前的值

这段代码说明了如何在多重背景调用里访问FB的输入Pointer 类型指针变量。
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。