【例2】将存放在 GR2 所指的四个内存单元中的四位 BCD 码依从高到低顺序压缩到 GR0 中 。
START
LEA GR0,0 ;GR0 清 0
LEA GR3,4 ;循环计数器
L1 SLL GR0,4 ;将已处理过的 BCD 码移到高位
LD GR1,0,GR2 ;GR1 用作临时工作寄存器
AND GR1,C000F ;屏蔽高 12 位
ST GR1,0,GR2 ;对内存单元中的 BCD 码预处理
ADD GR0,0,GR2 ;将已处理过的此位 BCD 码加到 GR0 低位
LEA GR2.1,GR2 ;地址指针指向下一位 BCD 码
LEA GR3,-1,GR3 ;循环计数器减 1
JNZ L1 ;未处理完,继续
RET
C000F DC #000F ;十六进制常数,屏蔽高 12 位二进制数
END