TITLE ARPDMP - DUMP ETHER/IP GATE-HOST TABLES SUBTTL PHIL BUDNE@BU - APRIL 15, 1985 .DECSAVE A==1 B==2 C==3 D==4 E==5 F==6 X==10 Y==11 P==17 XPEEK%=:JSYS 626 ;EXTENTED PEEK JSYS .XPPEK==:1 ;PEEK FUNCTION AR1: BLOCK ;COPY OF MONITOR GHTAR1 AR2: BLOCK ARNUM* ;COPY OF MONITOR GHTAR2 GHTAR1: BLOCK 1 ;GHT TABLE PART ONE PTR GHTAR2: BLOCK 1 ;GHT TABLE PART TWO PTR NIMAXH: BLOCK 1 ;MAX SIZE OF GHT TABLE PDL: BLOCK STRING: BLOCK 20 PEKBLK: PEKLEN ;*** XPEEK% BLOCK **** .XPPEK ;FUNCTION PEKCNT: 0 ;COUNT 0 ;WORDS XFERED PEKMON: 0 ;MONITOR ADDR PEKADR: 0 ;USER ADDR PEKLEN==.-PEKBLK ;*** END OF XPEEK BLOCK *** START: JFCL MOVE P, [-LPDL,,PDL-1] RESET MOVEI A, .FHSLF SETO C, EPCAP MOVE B, [.RSQZ 0,GHTAR1] ;SYMBOL IN RIGHT SQUOZE FORMAT MOVE C, [.RSQZ 0,STG] ;SYMBOL TABLE FOR SPEED IN LOOKUP CALL DOPEEK MOVEM B, GHTAR1 MOVE B, [.RSQZ 0,GHTAR2] ;SYMBOL IN RIGHT SQUOZE FORMAT MOVE C, [.RSQZ 0,STG] ;SYMBOL TABLE FOR SPEED IN LOOKUP CALL DOPEEK MOVEM B, GHTAR2 MOVE B, [.RSQZ 0,NIMAXH] ;SYMBOL IN RIGHT SQUOZE FORMAT MOVE C, [.RSQZ 0,STG] ;SYMBOL TABLE FOR SPEED IN LOOKUP CALL DOPEEK MOVEM B, NIMAXH MOVE A, GHTAR1 MOVEI B, AR1 MOVE C, NIMAXH CALL DOXPEK MOVE A, GHTAR2 MOVEI B, AR2 MOVE C, NIMAXH IMULI C, AR2LEN CALL DOXPEK MOVN X, NIMAXH HRLZI X, (X) LOOP: SKIPN AR1(X) JRST BOT MOVEI A, .GTHNS ;NUMBER TO NAME HRROI B, STRING MOVE C, AR1(X) GTHST% ERJMP TYPADR HRROI A, STRING PSOUT TYPADR: MOVEI A, ^I PBOUT MOVEI A, .PRIOU LDB B, [.BP (037700),AR1(X)] ;get first byte MOVEI C,10. ;decimal NOUT ;output it TRN MOVEI B,". ;delimiter BOUT LDB B,[.BP 000077600000,AR1(X)] ;get next byte NOUT ;output it TRN MOVEI B,". BOUT LDB B,[.BP 177400,AR1(X)] ;get next byte NOUT ;output it TRN MOVEI B,". BOUT LDB B,[.BP 377,AR1(X)] ;get final byte NOUT ;output it TRN MOVEI A, ^I PBOUT MOVEI Y, (X) IMULI Y, AR2LEN MOVE D, [441000,,AR2(Y)] MOVEI E, 6 MOVEI F, "- HRROI A, STRING MOVE C,[NO%LFL\NO%ZRO\<2,,>\16.] ;output double "hits" TRNA ADRLOP: IDPB F, A ILDB B, D NOUT TRN SOJG E, ADRLOP SETZ F, IDPB F, A HRROI A, STRING PSOUT SKIPG B,AR2+2(Y) ;CHECK VALID BIT (SIGN) JRST NEXT HRROI A, [ASCIZ ' (DUMB)'] TLNN B, 200000 ;CHECK DUMB FLAG HRROI A, [ASCIZ ' (NOT VALID)'] ;NOT DUMB, AND NOT VALID PSOUT NEXT: HRROI A, [.BYTE 7 ? ^M ? ^J] PSOUT BOT: AOBJN X, LOOP HALTF DOXPEK: MOVEM A, PEKMON ;STORE MONITOR ADDRESS MOVEM B, PEKADR ;SAVE MOVEM C, PEKCNT MOVEI A, PEKBLK ;GET ARG BLOCK XPEEK% ;GO-FOR-IT! ERJMP YOULOSE RET DOSNOO: MOVEI A, .SNPSY ;SYMBOL LOOKUP SNOOP JRST YOULOSE RET DOPEEK: CALL DOSNOO HRRI A, (B) HRLI A, 1 MOVEI B, B PEEK JRST YOULOSE RET YOULOSE: HRROI A, [ASCIZ 'You lose'] ESOUT HALTF JRST .-1 END START