ASMB,R,L NAM \DUMP,0 24999-16313 REV.2024 800116 ENT \DUMP ENTRY POINT EXT $MRMP POINTER TO MEMORY RESIDENT MAP * A EQU 0 B EQU 1 **************************************************************************** * * THIS CODE, IN CONJUNCTION WITH THE MEMORY RESIDENT PROGRAM #DUMP, * WILL PRODUCE A DUMP OF A CRASHED SYSTEM. TO RUN, LOAD THE P REGISTER * WITH THE ADDRESS OF THE ENTRY POINT \DUMP. THE S REGISTER CONTAINS * THE SELECT CODE OF THE DUMP DEVICE. * * THIS CODE LOCATES THE MEMORY RESIDENT PROGRAM #DUMP AND EXECUTES * IT. IT ALSO SAVES THE MEMORY STATUS REGISTER AND THE SYSTEM MAP. * NOTE THAT THE SYSTEM MAP IS WRITTEN OVER THIS CODE. * * * JEF 01/16/80 **************************************************************************** MSTAT DEF *-* CONTENTS OF MEM STATUS REGISTER * \DUMP RSA SAVE STB MSTAT MEM STATUS REG LDB 1657B GET ADDR OF STB KTBL KEYWORD TABLE L1 LDB KTBL,I GET ADDR OF ID SEGMENT SZB,RSS IS THIS THE END OF THE TABLE? JMP HLT YES - GO AND HALT ADB D12 NO - POINT TO NAME * * CHECK THE NAME IN THE ID SEGMENT * LDA B,I GET WORD CPA NAM1 MATCH? RSS JMP NIX NO INB LDA B,I NEXT WORD CPA NAM2 MATCH? RSS JMP NIX NO INB LDA B,I NEXT WORD AND HIBYT KEEP HIGH CHAR CPA NAM3 MATCH? JMP FOUND YES - THIS IS THE ID SEGMENT NIX ISZ KTBL NO - BUMP TO NEXT ENTRY JMP L1 AND GO TRY IT HLT HLT 0 IF THE ENTRY WASN'T FOUND... JMP HLT * D3 DEF 3 D7 DEF 7 D12 DEF 12 KTBL DEF *-* NAM1 ASC 1,#D "#DUMP" NAM2 ASC 1,UM NAM3 OCT 050000 LETTER P HIBYT OCT 177400 MASK TO GET THE HIGH BYTE HIBIT OCT 100000 TO OR INTO STADR FOR SYA STADR DEF \DUMP FOR SYA INSTRUCTION * * WE HAVE FOUND THE PROGRAM - GET THE ENTRY POINT * FOUND LDB KTBL,I ID SEG ADDR ADB D7 + 7 LDB B,I IS THE PRIMARY ENTRY POINT ADB D3 BUMP BY THREE TO SKIP SAFETY STB ENTP LDA STADR SAVE IOR HIBIT -OR IN DIRECTION- SYA SYSTEM MAP LDA $MRMP LOAD SYA MEM RES MAP LDA STADR LOAD \DUMP ADDR SJP ENTP,I AND GO EXECUTE THE ROUTINE * ENTP DEF *-* THE ENTRY POINT END