大型機彙編(mainframe assembler/HLASM)之代碼loop篇

 

從後往前檢測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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章