.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 call rmserx 100$: unsave ; pop our registers and exit return .globl rmserx .psect dsp ,ro,d,lcl,rel,con dsp: .psect msgtxt ,ro,d,lcl,rel,con .macro $ioer$ nam,code,txt .psect msgtxt $$ = . $$x = 0 .irpc $$c, $$x = $$x + 1 .iif ge ,$$x-4, .byte ''$$c .endr .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