SUBROUTINE SHOWP C C PURPOSE: WRITES ASCII EQUIVALENT STRING FOR NEXT PROGRAM STEP C IN /MEMORY/ COMMON "P". RETURNS WITH PROGRAM COUNTER UNALTERED. C C VARIABLES: C P -COMMON BYTE ARRAY CONTAINING CURRENT PROGRAM MEMORY C PC -COMMON INTEGER VARIABLE POINTING TO NEXT PROGRAM STEP IN P C CMND -COMMON BYTE ARRAY CONTAINING COMMAND OPERATING ON C LENGTH -COMMON INTEGER VARIABLE SET TO BYTE COUNT OF COMMAND IN CMND. C IF NEGATIVE, COMMAND IN INTERNAL FORMAT. C IF POSITIVE, COMMAND IN EXTERNAL (ASCII STRING) FORMAT. C C SUBROUTINES REQUIRED (CALLED DIRECTLY): C FETCH -LOADS "CMND" WITH NEXT SEQUENTIAL COMMAND IN "P", PROGRAM C COUNTER IS UPDATED. C RECODE -TAKES INTERNALLY CODED COMMAND FROM "CMND" AND REGENERATES C ASCII STRING THAT IT RESULTED FROM. C C SUBROUTINES CALLED INDIRECTLY: C STEPPC -CALLED BY FETCH C LOOKUP -CALLED BY RECODE C CMPRES -CALLED BY RECODE C C SORENSON 2/81 C COMMON/UNIT/LUNCMD,LUNOUT,LUNTI,LUNFIL COMMON/COMAND/LENGTH,CMND(40) BYTE CMND COMMON/MEMORY/PC,P(1000) INTEGER PC BYTE P C C REMEMBER CURRENT PC C I=PC CALL FETCH PC=I CALL RECODE IF(LENGTH.LE.0)GO TO 20 10 WRITE(LUNTI,11)PC,(CMND(I),I=1,LENGTH) 11 FORMAT('0 PC = ',I4,' : ',40A1) RETURN 20 WRITE(LUNTI,21)PC 21 FORMAT(' UNKNOWN COMMAND @ PC =',I4) RETURN END