Trailing-Edge
-
PDP-10 Archives
-
integ_tools_tops20_v7_30-apr-86_dumper
-
tools/dumper2/errorm.mar
There are 3 other files named errorm.mar in the archive. Click here to see a list.
.TITLE ERRORM Error message reporting tool
;+
; This routine simplifies the reporting of errors
; by taking a single argument (the error number) and
; using $PUTMSG to deliver it to the user. No checking
; of any kind is done and the routine is re-entrant.
;-
.ENTRY ERRORM,0
;+
; Allocate the storage on the stack for the message
; vector. Since this will be a singularly stupid routine,
; the message vector will always be 8 bytes (flags=0,
; arg count=1, and message number as supplied).
;-
MOVZBL (AP),R0
SOBGTR R0,HAVEARGS ; FAO arguments supplied
BRB NOARGS
;
HAVEARGS:
ASHL #2,R0,R1
ADDL2 #12,R1
SUBL2 R1,SP
ASHL #-2,R1,(SP)
MOVW #0,2(SP)
MOVL @4(AP),4(SP)
MOVL R0,8(SP)
MOVAL 8(AP),R1
MOVAL 12(SP),R2
FAOL:
MOVL (R1)+,(R2)+
SOBGTR R0,FAOL
BRB PM
;
NOARGS:
SUBL2 #8,SP
MOVW #1,(SP)
MOVW #0,2(SP)
MOVL @4(AP),4(SP)
PM:
MOVL SP,R0
$PUTMSG_S (R0),,
RET
;
.END