恭喜,你发布的帖子
发布于 2017-07-12 09:28:56
3楼
L P##S1 //取指针地址,从下面的使用情况来看因该是POINTER
LAR1
L P##S2 //取指针地址,从下面的使用情况来看因该是POINTER
LAR2
L W [ AR1 , P#0.0 ]
T #w_Temp //取S1对应的DB号给 #w_Temp
OPN DB [ #w_Temp] //打开#w_Temp 对应的DB块
L D [ AR1 , P#2.0 ]
LAR1 //取S1指针对应的地址数据存入AR1
L W [ AR2 , P#0.0 ]
T #w_Temp //取S2对应的DB号给 #w_Temp
OPN DI [ #w_Temp] //打开#w_Temp 对应的背景DB块
L D [ AR2 , P#2.0 ]
OD 16#0100_0000 //这个逻辑或的作用应该是将该地址转化为背景数据
LAR2 //取S2指针对应的地址数据存入AR2
SET
SAVE
L B [ AR1 , P#1.0 ] //取S1对应的DB块的数据的第二个字节,应该是字符串实际使用的数据
+ 1
LOP: T #y_Loop
L B [ AR1 , P#1.0 ]
L B [ AR2 , P#1.0 ] //因为是字节进行比较所以就有了 OD 16#0100_0000 这段指令
<>I //两个DB块的字符串进行比较不等就跳转到循环外,
JC RESE
+AR1 P#1.0
+AR2 P#1.0
L #y_Loop
LOOP LOP //如果比较的结果相等就继续执行,知道循环数结束为止
S #EQ_STRNG //比较结果都相等就置位#EQ_STRNG
JC ENDE
RESE: R #EQ_STRNG //比较结果有不等的就复位#EQ_STRNG
ENDE: BE
L W [ AR1 , P#0.0 ] 我就不明白这步是怎么取那个DB号的
请填写推广理由:
分享
只看
楼主