從後往前檢測TMED中的每個bit是0還是1,並且根據結果從前往後給FLAGS賦值
LA R1,3
LA R5,TMED+2
LA R4,FLAGS
LOOPFLAG DS 0H
LA R14,01
LA R15,8
LOOPBITS DS 0H
MVI 0(R4),C'N'
EX R14,TESTBIT
BZ ELOOPBIT
MVI 0(R4),C'Y'
ELOOPBIT DS 0H
SLL R14,1
LA R4,1(R4)
BCT R15,LOOPBITS 每次內循環8次(byte內)
BCTR R5,R0
BCT R1,LOOPFLAG 外循環3次(一共3個byte)
TMED DS XL3 B'11000101 11100011 00000001'
TESTBIT TM 0(R5),X'00'
FLAGS DS 24CL1 C'YNNNNNNN YYNNNYYY YNYNNNYY'
本文沒打算講述什麼,只是loop的一個應用,代碼中唯一值得留意的就是,在TM指令的機器碼中,第二個字節是掩碼位。
有疑問請聯繫QQ349106216