.TITLE CCSERR - DECLARE CCS ERROR .SBTTL CCSERR - TITLE PAGE .IDENT /V01.00/ .ENABL LC ; ; Declare CCS error ; ; Version: V01.00 ; ; Author: R.W. Stamerjohn MAPC ; ; Modification history: ; ; V01.00 RWS 14-Oct-1984 Initial version .SBTTL CCSERR - DECLARATIONS .DSABL GBL .DSABL CRF ; ; Macro library calls: ; .MCALL QIOW$S ;Issue I/O and wait .MCALL EXST$S ;Exit with status ; ; Global declarations: ; .GLOBL CCSERR ;Entry point ; ; Global references: ; ; CCS symbols. ; .GLOBL TLUN ;Terminal lun .GLOBL TEFN ;Terminal event flag ; ; Other symbols. ; .GLOBL EX$SEV ;Exit with severe errror .GLOBL IO.WVB ;Write message .ENABL CRF .SBTTL CCSERR * DECLARE CCS ERROR ; ;+ ; This routine outputs the supplied error message and exits with a ; severe error status. ; ; Call by: JSR PC,CCSERR ; .WORD ; ; Exit with: Does not return, exits task. ;- CCSERR:: ;Ref. label MOV @(SP),R0 ;Get address of message MOV R0,R1 ;Copy message address 1000$: TSTB (R1)+ ;Is this end of message? BNE 1000$ ; If NE - no, loop SUB R0,R1 ;Get length of message ; ; Output message. ; QIOW$S #IO.WVB,#TLUN,#TEFN,,,, ; ; Exit with severe error. ; EXST$S #EX$SEV ;Bite the dust .END