.title rmser2 overlay 2 for rms error text .psect .macro save list .if b , .ift save .iff .irp x, mov x,-(sp) .endr .endc .endm save .macro unsave list .if b , .ift unsave .iff .irp x, mov (sp)+,x .endr .endc .endm unsave rmser2::save ; be nice to our caller mov 4(r5) ,r1 ; return buffer address mov r1 ,r2 ; save buffer address clrb (r1)+ ; make first char .asciz mov #77 ,r0 ; clear it out first 10$: movb #40 ,(r1)+ ; fill rest of buffer with spaces sob r0 ,10$ ; next please mov #dsp ,r0 ; get the index table for errors 20$: tst @r0 ; hit the end yet ? beq 100$ ; yes, exit with no text cmp @2(r5) ,@r0 ; type indexentry = record beq 30$ ; errnum: integer cmp (r0)+ ,(r0)+ ; errtxt: textaddress br 20$ ; end ; 30$: mov 2(r0) ,r0 ; get the error text address mov #77 ,r1 ; maxlength of 77 (8) bytes 40$: movb (r0)+ ,(r2)+ ; copy until 63 characters or a beq 50$ ; null byte is found sob r1 ,40$ ; next please 50$: clrb @r2 ; insure .asciz for output text 100$: unsave ; pop our registers and exit return .psect dsp ,ro,d,lcl,rel,con dsp: .psect msgtxt ,ro,d,lcl,rel,con .macro $ioer$ nam,code,txt .psect msgtxt $$ = . .ascii #nam# .ascii # # .asciz #txt# .psect dsp .word code,$$ nam = code .psect .endm $IOER$ ER$EXT,-624., $IOER$ ER$FAB,-640., $IOER$ ER$FAC,-656., $IOER$ ER$FAL,-664., $IOER$ ER$FEX,-672., $IOER$ ER$FID,-168., $IOER$ ER$FLG,-688., $IOER$ ER$FLK,-704., $IOER$ ER$FNA,-712., $IOER$ ER$FND,-720., $IOER$ ER$FNF,-736., $IOER$ ER$FNM,-752., $IOER$ ER$FOP,-768., $IOER$ ER$FSS,-776., $IOER$ ER$FUL,-784., $IOER$ ER$IAN,-800., $IOER$ ER$IDX,-816., $IOER$ ER$IFI,-832., $IOER$ ER$IMX,-848., $IOER$ ER$INI,-864., $IOER$ ER$IOP,-880., $IOER$ ER$IRC,-896., $IOER$ ER$ISI,-912., $IOER$ ER$KBF,-928., $IOER$ ER$KEY,-944., $IOER$ ER$KRF,-960., $IOER$ ER$KSZ,-976., $IOER$ ER$LAN,-992., $IOER$ ER$LBL,-1008., $IOER$ ER$LBY,-1024., $IOER$ ER$LCH,-1040., $IOER$ ER$LEX,-1048., $IOER$ ER$LIB,-1052., $IOER$ ER$LOC,-1056.,<"LOC" FIELD INVALID(STV=@XAB)> $IOER$ ER$MAP,-1072., $IOER$ ER$MEM,-1080., $IOER$ ER$MKD,-1088., $IOER$ ER$MRN,-1104., $IOER$ ER$MRS,-1120., $IOER$ ER$NAE,-1128., $IOER$ ER$NAM,-1136.,<"NAM" BLOCK ADDRESS ZERO OR ODD> $IOER$ ER$NEF,-1152., $IOER$ ER$NET,-1160., $IOER$ ER$NID,-1168., $IOER$ ER$NMF,-1172., $IOER$ ER$NOD,-1176., .psect dsp .word 0,0 ; mark end of text .end