.title rmser1 1st ovrelay for rms11 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 rmser1::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$ABO,-16., $IOER$ ER$ACC,-32., $IOER$ ER$ACT,-48., $IOER$ ER$AID,-64., $IOER$ ER$ALN,-80., $IOER$ ER$ALQ,-96., $IOER$ ER$ANI,-112., $IOER$ ER$AOP,-128., $IOER$ ER$AST,-144., $IOER$ ER$ATR,-160., $IOER$ ER$ATW,-176., $IOER$ ER$BKS,-192., $IOER$ ER$BKZ,-208., $IOER$ ER$BLN,-224., $IOER$ ER$BOF,-232., $IOER$ ER$BPA,-240., $IOER$ ER$BPS,-256., $IOER$ ER$BUG,-272., $IOER$ ER$CCR,-288., $IOER$ ER$CHG,-304.,<$UPDATE-KEY CHANGE WITHOUT HAVING ATTRIBUTE OF XB$CHG SET> $IOER$ ER$CHK,-320., $IOER$ ER$CLS,-336., $IOER$ ER$COD,-352., $IOER$ ER$CPB,-360., $IOER$ ER$CRE,-368., $IOER$ ER$CUR,-384., $IOER$ ER$DAC,-400., $IOER$ ER$DAN,-416., $IOER$ ER$DEL,-432., $IOER$ ER$DEV,-448., $IOER$ ER$DFW,-456., $IOER$ ER$DIR,-464., $IOER$ ER$DME,-480., $IOER$ ER$DNA,-488., $IOER$ ER$DNF,-496., $IOER$ ER$DNR,-512., $IOER$ ER$DPE,-520., $IOER$ ER$DTP,-528.,<"DTP" FIELD INVALID(STV=@XAB)> $IOER$ ER$DUP,-544., $IOER$ ER$ENT,-560., $IOER$ ER$ENV,-576., $IOER$ ER$EOF,-592., $IOER$ ER$ESA,-600., $IOER$ ER$ESL,-604., $IOER$ ER$ESS,-608., $IOER$ ER$EXP,-616., .psect dsp .word 0,0 ; mark end of text .end