.TITLE CKDSW - CHECK DSW STATUS .IDENT /01.00/ .LIST MEB .PSECT CKDSW ; ; AUTHOR: H. L. COLEMAN ; MILLIKEN AND COMPANY ; P. O. BOX 1926 ; MAIL STOP M-103 ; SPARTANBURG, S. C. 29304 ; ; VERSION: 01.00 ; ; MODIFICATIONS: ; ; FUNCTION: CHECK THE $DSW STATUS RETURNED FROM ANY DIRECTIVE. IF ; THE STATUS IS SUCESSFULL (CC ON ENTRY), RETURN TO THE ; INSTRUCTION FOLLOWING THE CKDSW$ MACRO. IF THE STATUS ; IS IE.UPN, ISSUE A WSIG$S MACRO AND RETURN TO THE ; RETRY ADDRESS. IF THE STATUS IS ANYTHING ELSE, CALL ; THE ERR ROUTINE AND RETURN TO THE ADDRESS IN R5. ; ; ENTRY: THIS ROUTINE IS ENTERED BY ISSUEING THE MACRO: ; ; CKDSW$S RETRY,ERR ; ; EXPANSION: ; ; JSR R5,$CKDSW ; .WORD RETRY ; .WORD ERR ; .MCALL WSIG$S $CKDSW::BCC 1100$ ;IF CC, NO ERROR - WE'RE THROUGH CMPB #IE.UPN,$DSW ;INSUFFICIENT DSR? BNE 1000$ ;IF NE, NO - GO TO USER ERROR ROUTINE MOV (R5)+,R5 ;R5 = A(RETRY ROUTINE) WSIG$S ;GIVE SYSTEM A CHANCE TO FREE SOME DSR RTS R5 ;RETURN TO RETRY ADDRESS 1000$: TST (R5)+ ;BUMP OVER RETRY ADDRESS CALL @(R5)+ ;CALL USER ERROR ROUTINE RTS R5 ;RETURN 1100$: CMP (R5)+,(R5)+ ;BUMP OVER PARAMETER LIST RTS R5 ;RETURN IN-LINE .END