.title rmser3 overlay 3 of 3 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 rmser3::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$NPK,-1184., $IOER$ ER$OPN,-1200., $IOER$ ER$ORD,-1216., $IOER$ ER$ORG,-1232., $IOER$ ER$PLG,-1248., $IOER$ ER$PLV,-1256., $IOER$ ER$POS,-1264.,<"POS" FIELD INVALID(POS GT MRS,STV=@XAB)> $IOER$ ER$PRM,-1280., $IOER$ ER$PRV,-1296., $IOER$ ER$RAB,-1312., $IOER$ ER$RAC,-1328., $IOER$ ER$RAT,-1344., $IOER$ ER$RBF,-1360., $IOER$ ER$RER,-1376., $IOER$ ER$REX,-1392., $IOER$ ER$RFA,-1408., $IOER$ ER$RFM,-1424., $IOER$ ER$RLK,-1440., $IOER$ ER$RMV,-1456., $IOER$ ER$RNF,-1472., $IOER$ ER$RNL,-1488., $IOER$ ER$ROP,-1504., $IOER$ ER$RPL,-1520., $IOER$ ER$RRV,-1536., $IOER$ ER$RSA,-1552., $IOER$ ER$RSL,-1556., $IOER$ ER$RSS,-1560., $IOER$ ER$RST,-1564., $IOER$ ER$RSZ,-1568., $IOER$ ER$RTB,-1584., $IOER$ ER$RVU,-1592., $IOER$ ER$SEQ,-1600., $IOER$ ER$SHR,-1616., $IOER$ ER$SIZ,-1632.,<"SIZ" FIELD INVALID(STV=@XAB)> $IOER$ ER$STK,-1648., $IOER$ ER$SUP,-1656., $IOER$ ER$SYS,-1664., $IOER$ ER$TRE,-1680., $IOER$ ER$TYP,-1696., $IOER$ ER$UBF,-1712., $IOER$ ER$UIN,-1720., $IOER$ ER$USZ,-1728., $IOER$ ER$VER,-1744., $IOER$ ER$VOL,-1760., $IOER$ ER$WCD,-1768., $IOER$ ER$WER,-1776., $IOER$ ER$WLK,-1784., $IOER$ ER$WPL,-1792., $IOER$ ER$XAB,-1808., $IOER$ ER$XTR,-1824., .psect dsp .word 0,0 ; mark end of text .end