.MACRO QIOWRN ios,lun,cndlst,contin,?defadr CMPB #IS.SUC,ios ;Was I/O successful? BEQ defadr ; if EQ - yes .IF NB ; .MCALL CMPBYT ; .IRP code, ; CMPBYT ios,code ;Compare codes .ENDR ; .ENDC ; .IF NDF Q$$MSG ; .IF NB ; MOV lun,-(SP) ;Save lun number .IFF ; CLR -(SP) ;Set no lun .ENDC ; MOV ios,-(SP) ;Save I/O code JSR PC,ERQIO ;Issue error and return .ENDC ; .IF NB ; JMP contin ;Goto specified address .ENDC ; defadr: ; .ENDM QIOWRN ; .MACRO QIOERR ios,lun,cndlst,?defadr CMPB #IS.SUC,ios ;Was I/O successful? BEQ defadr ; if EQ - yes .IF NB ; .MCALL CMPBYT ; .IRP code, ; CMPBYT ios,code ;Compare codes .ENDR ; .ENDC ; .IF NDF Q$$MSG ; .IF NB ; MOV lun,-(SP) ;Save lun number .IFF ; CLR -(SP) ;Set no lun .ENDC ; MOV ios,-(SP) ;Save I/O code JSR PC,ERQIOX ;Issue error and exit .IFF ; HALT ;Halt the program .ENDC ; defadr: ; .ENDM QIOERR ; .MACRO FCSWRN cndlst,contin,?defadr BCC defadr ; if CC - FCS ok .IF NB ; .MCALL CMPBYT ; .IRP code, ; CMPBYT F.ERR(R0),code ;Compare codes .ENDR ; .ENDC ; .IF NDF F$$MSG ; JSR PC,ERFCS ;Issue error and return .ENDC ; .IF NB ; JMP contin ;Goto specified address .ENDC ; defadr: ; .ENDM FCSWRN ; .MACRO FCSERR cndlst,?defadr BCC defadr ; if CC - FCS ok .IF NB ; .MCALL CMPBYT ; .IRP code, ; CMPBYT F.ERR(R0),code ;Compare codes .ENDR ; .ENDC ; .IF NDF F$$MSG ; JSR PC,ERFCSX ;Issue error and exit .ENDC ; .IFF ; HALT ;Halt the program .ENDC ; defadr: ; .ENDM FCSERR ; .MACRO DIRWRN cndlst,contin,?defadr BCC defadr ; if CC - directive OK ; .IF NB ; .MCALL CMPWRD ; .IRP code, ; CMPWRD $DSW,code ;Compare codes .ENDR ; .ENDC ; .IF NDF D$$MSG ; JSR PC,ERDIR ;Issue error and return .ENDC ; .IF NB ; JMP contin ;Goto specified address .ENDC ; defadr: ; .ENDM DIRWRN ; .MACRO DIRERR cndlst,?defadr BCC defadr ; if CC - directive OK .IF NB ; .MCALL CMPWRD ; .IRP code, ; CMPWRD $DSW,code ;Compare codes .ENDR ; .ENDC ; .IF NDF D$$MSG ; JSR PC,ERDIRX ;Issue error and exit .ENDC ; .IFF ; HALT ;Halt the program .ENDC ; defadr: ; .ENDM DIRERR ; .MACRO PRGWRN msgadr,contin MOV msgadr,-(SP) ;Save message address JSR PC,ERPRG ;Output message and return .IF NB ; JMP contin ;Goto specified address .ENDC ; .ENDM PRGWRN ; .MACRO PRGERR msgadr MOV msgadr,-(SP) ;Save message address JSR PC,ERPRGX ;Output message and exit .ENDM PRGERR ; .MACRO CMPBYT loc,msk,adr CMPB #msk,loc ;Is mask equal location? BEQ adr ; if EQ - yes. .ENDM CMPBYT .MACRO CMPWRD LOC,MSK,ADR CMP #msk,loc ;Is mask equal location? BEQ adr ; if EQ - yes. .ENDM CMPWRD