.TITLE BLKTRP .IDENT /V1.0/ .PSECT BLKTRP,RW ;+ ; MACHINE/SYSTEM - PDP-11/70 / IAS V3.0 ; AUTHOR - JOHN GUIDI ; DATE - 22-SEPTEMBER-80 ; RESIDENCE - LB:[?,?]BLKTRP.MAC ; LANGUAGE - MACRO-11 D1113 ; ;- ; ; A MESSAGE PACKET CONSISTS OF: ; ; <--------------- MESSAGE PACKET ----------------> ; ------------------------------------------------- ; : HEADER TEXT : MESSAGE TEXT : ; ------------------------------------------------- ; .NLIST BEX MESPKT: HDRTXT: .ASCII /BLK -- / HDRSIZ=.-HDRTXT MESTXT: .BLKB 72. .IF EQ DEBUG .PSECT TRPRO,RO .IFF .PSECT TRPRW,RW .ENDC ; *** DO NOT REORDER THESE ENTRIES BELOW *** .EVEN MESTBL: .WORD 999$ TABLE \GCMLXX TABLE \SYNTXX TABLE \LSYNXX TABLE \LSWIXX TABLE \LWLDXX TABLE \LMULXX TABLE \LPRSXX TABLE \LOPNXX TABLE \ISYNXX TABLE \IWLDXX TABLE \IOPNXX TABLE \BOPNXX TABLE \XOPNXX TABLE \IREDXX TABLE \LCNVXX TABLE \LORDXX TABLE \LDUPXX TABLE \BREDXX TABLE \XREDXX TABLE \BLBNXX TABLE \EPARXX TABLE \MRETXX TABLE \XCMPXX ; *** DO NOT REORDER ABOVE ENTRIES *** 999$: .ASCIZ /**********/ MSG \GCMLXX, MSG \SYNTXX, MSG \LSYNXX, MSG \LSWIXX, MSG \LWLDXX, MSG \LMULXX, MSG \LPRSXX, MSG \LOPNXX, MSG \ISYNXX, MSG \IWLDXX, MSG \IOPNXX, MSG \BOPNXX, MSG \XOPNXX, MSG \IREDXX, MSG \LCNVXX, MSG \LORDXX, MSG \LDUPXX, MSG \BREDXX, MSG \XREDXX, MSG \BLBNXX, MSG \EPARXX, MSG \MRETXX, MSG \XCMPXX, .EVEN .LIST BEX BLKTRP:: ;+ ; ROUTINE: BLKTRP ; ; EFFECT: DISPLAYS STOCK ERROR MESSAGES FOR $$$BLK. THE TABLE MESTBL ; CONSISTS OF THE ADDRESSES OF THE MESSAGE TEXTS FOR ANY ; GIVEN ERROR MESSAGE. THE ERROR VALUES (SYMBOLS TERMINATING ; IN ...XX) , AND THE TABLE AND MSG MACROS ARE DEFINED IN THE ; PREFIX ASSEMBLY FILE BLKPRE.MAC. ; THIS ROUTINE IS CALLED VIA THE TRAP INSTRUCTION, THUS AN ; SST TABLE IS SET UP IN BLKIMP.MAC WITH THE TRAP VECTOR SET ; TO THE ADDRESS OF BLKDRV. THE ARGUMENT ON THE TOP OF THE ; STACK IS AN OFFSET TO THE TABLE MESTBL. THE APPROPRIATE ; MESSAGE TEXT IS THEN OBTAINED, AND APPENDED TO THE HEADER ; TEXT TO FORM THE DESIRED MESSAGE PACKET. ; ; INPUT: THIS ROUTINE IS CALLED ONLY BY THE TRAP INSTRUCTION. ON ; ARRIVAL THE STACK IS AS FOLLOWS (STANDARD FOR IAS): ; ; ------------------------------------ ; : *2 : (SP) ; ------------------------------------ ; : PC : 2(SP) ; ------------------------------------ ; : PS : 4(SP) ; ------------------------------------ ; ; OUTPUT: ON DEPARTURE, THE STACK APPEARS AS: ; ------ ; : PC : (SP) ; ------ ; : PS : 2(SP) ; ------ ; ;- ; MESTBL BASE + WORD OFFSET GIVES ADD #MESTBL,(SP) ; (SP) -> @ OF ERROR MESSAGE. MOV @(SP)+,R0 ; POP STACK. R0 -> ERROR MESSAGE MOV #MESTXT,R1 ; R1 -> BYTE AFTER HEADER TEXT 10$: MOVB (R0)+,(R1)+ ; TRANSFER ERROR MSG TO MESSAGE TEXT BNE 10$ ; DONE? NO. SUB #MESTXT,R1 ; R1 = LENGTH OT MESSAGE TEXT ADD #HDRSIZ,R1 ; R1 = LENGTH OF MESSAGE PACKET PRINT #HDRTXT,R1,#40 ; DISPLAY MESSAGE ; ; STACK NOW APPEARS AS: ; ------ ; : PC : (SP) ; ------ ; : PS : 2(SP) ; ------ ; RTT ; RETURN FROM TRAP .END