展开查看
以下是引用loveheyunbo在2015-02-05 21:03:58的发言 >¥��:各位高手们,现在有个问题,请大家帮忙想想:
我有char string 类型的数据,我要的数据,他有这样的规律
第一套:DB932.DBB6 DB932.DBB7 和 DB932.DBB8
第二套:DB932.DBB68 DB932.DBB69 和 DB932.DBB70
........
最后二套:DB932.DBB5254 DB932.DBB5255和DB932.DBB5256
最后一套:DB932.DBB5318 DB932.DBB5319 和DB932.DBB5320
每套数据之间相差64(共84套)
取得的三个数据要做比较,判断和我设定值(33,37,31)是否相同,。
这个怎么做?
知道使用指针,不知道从何下手?忘指点!
第一套数据与第二套数据差62,不是64!
现以64字节偏移写语句:
OPN DB 932
L L#48 // 字节指针为6
M001: T #TEMP1
L DBD [#TEMP1] //加载DBD6
SRD 8 //右移8位
T #TEMP2 //存到临时双字变量2中
L #TEMP1 //偏移64个字节
L L#512
+D
T #TEMP1
O(
L #TEMP2 //加载右移一个字节后的数据
L L#2172191 //与33,37,31比较
==D
)
O(
L L#43104 //加载5388字节地址长度
L #TEMP1 //这句加载放在后面
<=D
)
JN M001
NOP 0
程序的思路是把这三个字节当作一个双字,右移一个字节后,再与000,033,037,031双字比较,当等于时或循环次数完成时,跳出循环。