.SBTTL > GCML/CSI MACROS ; ; ; GCML AND CSI MACROS WITH ERROR HANDLERS ; ; GCML BLOCK,PROMPT-ADDRESS,PROMPT-LENGTH,EOF HANDLER,ERROR ; .MACRO GCML BLOCK,ADPRM,LNPRM,EOF,ERR,?L1,?L2 .MCALL GCML$,CALL GCML$ BLOCK,ADPRM,LNPRM .IF NB EOF'ERR BCC L2 .IF NB EOF CMPB #GE.EOF,G.ERR(R0) BNE L1 CALL EOF L1: .ENDC .IF NB ERR CALL ERR .ENDC L2: .ENDC .ENDM ; ; ; CSI1G CSI-BLOCK,GCML-BLOCK,ERROR-HANDLER ; .MACRO CSI1G CSBLK,GCBLK,ERR,?L1 .MCALL CSI$1,CALL CSI$1 CSBLK,GCBLK+G.CMLD+2,GCBLK+G.CMLD .IF NB ERR BCC L1 CALL ERR L1: .ENDC .ENDM ; ; ; CSI1 CSI-BLOCK,BUFFER,LENGTH,ERROR ; .MACRO CSI1 CSBLK,ADBUF,LNBUF,ERR,?L1 .MCALL CSI$1,CALL CSI$1 CSBLK,ADBUF,LNBUF .IF NB ERR BCC L1 CALL ERR L1: .ENDC .ENDM ; ; ; CSI2 CSBLK,IO,SWVAL,ERR ; .MACRO CSI2 CSBLK,IO,SWVAL,ERR,?L1 .MCALL CSI$2,CALL CSI$2 CSBLK,IO,SWVAL .IF NB ERR BCC L1 CALL ERR L1: .ENDC .ENDM ;