09/26/2023 09:54:44 AM:
> Do you have a distaste for comments? Comments are your
> friend. Add a comment explaining what you're doing.
No, I do not have a distaste for comments. I like comments. I
just prefer the look of the following over the alternative. (This is my
current code for a 3270 channel appendage routine as previously discussed
-- however, this is still not giving me the results I am looking for,
which is a true wait for a 3270 attention interrupt.)
ST R6,SUPVR6 SAVE SUPVR. WORK REG.
XR R6,R6 CLEAR WORK REGISTER
ICM R6,B'0111',X'41'(R0) GET PENDING CCW ADDR.
SELECT SELECT CONDITION
WHEN x'44'(R0),(ON,TM),x'80' WHEN INTERRUPT IS ATTN
MVC x'44'(2,R0),=x'0C00' SET CE+DE AND DEQUE
WHEN X'44'(R0),EQ,X'08' WHEN INTERRUPT IS CH END
NOPR 0 DO NOTHING AND DEQUE <===
WHEN X'44'(R0),EQ,X'04',AND, WHEN INTERRUPT IS DEVEND *
R6,(Z,LTR),R6 AND NO PENDING CCW
MVC x'44'(2,R0),=x'0600' SET DE+UC AND DEQUE
WHEN x'44'(R0),EQ,x'0C',AND, WHEN INTERRUPT IS CE+DE *
R6,(Z,LTR),R6 AND NO PENDING CCW
MVC x'44'(2,R0),=x'0F00' SET CE+DE+UC+UE AND DEQUE
WHEN OTHER WITH PENDING CCW
SL R6,=F'8' GET PREV. CCW ADDR.
IF 0(R6),EQ,x'03' IF CCW IS MY NOOP
IF 0(R1),(NOT,TM),x'80' IF CCB NOT FLAGGED
MVC x'44'(2,R0),=x'0080' CHANGE TO PCI
OI 0(R1),x'80' FLAG THE CCB
L R6,SUPVR6 RESTORE SUPVR. WORK REG.
B 0(,R7) REQUEUE AND RETRY
ENDIF ENDIF
NI 0(R1),x'FF'-x'80' REMOVE CCB FLAG
ENDIF ENDIF
ENDSL END SELECT
L R6,SUPVR6 RESTORE SUPVR. WORK REG.
B 4(,R7) DEQUEUE AND CONTINUE