发布于 2015-02-06 18:36:01
7楼
用双字处理效率较高,程序简洁了许多。在看雪001的基础上我稍微修改了一下,也许会简洁一点:
OPN DB 392 //打开数据块392
LAR1 P#6.0 //初始化地址寄存器 (定义间接寻址的起始地址)
L 83 //装载循环次数(84-1=83次)
NEXT: T LW 20 //将循环次数暂存到临时变量
L DBD [AR1,P#0.0] //装载被比较的数据
SRD 8 //ACCU1右移8位
SLD 8 //ACCU1左移8位(右移8位左移8位=去除最高字节的内容)
L B#(33, 37, 31, 0) //装载设定值
==D //判断当前的数据是否等于设定值
= Q 6.6 //输出结果(等于设定值输出1,不等输出0)
JC OUT //如果不等,往下执行;如果相等,跳转到OUT
+AR1 P#62.0 //地址寄存器1内容增大62个字节
L LW 20 //装载当前的循环次数
LOOP NEXT //跳转到NEXT标签,循环次数减1至0时,离开循环往下执行
OUT: NOP 0
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”