.TITLE PASS2 .IDENT /hah005/ .PSECT CODE,RO ; ; VERSION 01 ; ; TOM GETZINGER 19-SEP-80 ; ; Modified: 07-Nov-83 hah005 ; Add temporary support for ISD entries (just ignores them for ; now) ; ; THIS MODULE BUILDS LABEL BITMAPS, AND THE GLOBAL SYMBOL TABLE ; .MCALL GET$S WRITE$ PASS2:: MOV VBN,R1 ; GET STARTING VBN MOV VBN+2,R2 MOV BYTNUM,R3 ; GET STARTING BYTE NUMBER MOV #FDBIN,R0 ; GET INPUT FDB ADDRESS CALL .POINT ; POINT TO START OF OBJECT MODULE MOV #-1,CRNPSN ; INITIALIZE CURRENT PSECT NUMBER CLR CRNADR ; AND CURRENT ADDRESS MOV PSCEND,R2 ; POINT TO START OF GLOBAL SYMBOL TABLE MOV #-1,GBLPSN ; INITIALIZE PSECT NUMBER 5$: GET$S #FDBIN ; GET THE NEXT RECORD BCS 10$ ; ERROR MOV F.NRBD(R0),R4 ; GET THE RECORD LENGTH SUB #2,R4 MOV F.NRBD+2(R0),R3 ; GET THE RECORD ADDRESS MOV (R3)+,R1 ; GET THE RECORD TYPE CALL SELECT ; GO PROCESS THE RECORD .BYTE RT.GSD,RT.END .WORD 20$ ; ILLEGAL TYPE .WORD GSD2+1 ; GSD (CALLED) .WORD 5$ ; END OF GSD .WORD TXT2+1 ; TXT (CALLED) .WORD RLD2+1 ; RLD (CALLED) ; .WORD 20$ ; ISD ;hah005 .WORD 5$ ; ISD - IGNORE FOR NOW ;hah005 .WORD 40$ ; END OF MODULE BR 5$ ; LOOP BACK FOR NEXT RECORD 10$: TRAP INIOER ; INPUT I/O ERROR BR 50$ 20$: TRAP OBJFMT ; OBJECT FORMAT ERROR BR 50$ 40$: CALL DASM2 ; DISASSEMBLE REMAINING TEXT CLR R4 CALL RLSTXT ; RELEASE REMAINING TEXT 50$: RETURN ; AND WE'RE DONE .END