Just for fun, here is yet one more variation on Peter's scheme, using
only S/360 instructions.  In the comments, YY and ZZ represent the two
bit pairs of interest, lower case x represents bits or bytes of unknown
value.  Bit strings are enclosed in square brackets.  Bytes are separated
by underscore characters.


         XR    R14,R14                  R14 = 00_00_00_00
         IC    R14,BYTE                 R14 = 00_00_00_[YYZZxxxx]
         SRDL  R14,6(0)                 R14 = 00_00_00_[000000YY]
*                                       R15 = [ZZxxxxxx]_xx_xx_xx
         SRL   R15,30(0)                R15 = 00_00_00_[000000ZZ]
         LA    R14,X'F1'(,R14)          * Scale x'00' through x'03'
         LA    R15,X'F1'(,R15)          * to x'F1' through x'F4'

Reply via email to