SECT PCHAR JA #ST / JUMP IN TEXT +PCHAR + SECT8 MUH FNOP TEXT +PCHAR8+ EXTERN #RETRN / PDP-8 SUBROUTINE! TCF=6042 / CLEAR TELEPRINTER FLAG TOCHR, 4 / LOCATION OF TTY STATUS / POSITIVE=CHARACTER IN QUEUE / NEGATIVE=BUSY / ZERO=IDLE PC8, CLA CLL RDF DCA DFIELD / SAVE DATA FIELD CDF 0 BLOOP, CLA CLL TAD% TOCHR / TELEPRINTER STATUS SZA JMP BLOOP CLA CLL CML RAR DCA% TOCHR / SET BUSY TAD DFIELD / DATA FIELD RESTORATION TAD CDFXX DCA .+1 CDF 0 / WILL BE OVERWRITTEN TAD CHAR2 / LOAD CHARACTER TO PRINT TLS / OUT! / TSF / JMP .-1 / WAIT TO BE DONE WITH CHARACTER CIF CDF 0 JMP% RETURN+1 DFIELD, 0 CDFXX, CDF 0 / INSTRUCTION TEMPLATE RETURN, ADDR #RETRN CHAR, 1234 CHAR1, 4321 CHAR2, 1234 0;0;0;0;0;0;0;0 /FPP code here; using the rest of the SECT8 page. / ************************************************************** BASE 0 / PCHAR(CHAR) #PCBAS, 7007 7017 7027 B1, 7107 7117 7127 B2, 7207 7217 7227 B3, 7307 7317 7327 B4, 7407 7417 7427 B5, 7507 7517 7527 PTR, B6, 7607 7617 7627 ARGP1, B7, 7607 7617 7627 XR, ORG .+30 #ST, / START OF FPP ROUTINE STARTD / 24 BIT DATA ONLY 0210 /FLDA 30 / GET RETURN JA FSTA #GOBAK / PUT TO RETURN LOCATION 0200 /FLDA 0 / JA AROUND ARGUMENTS BASE #PCBAS SETX XR / USE OWN INDEX REGISTERS SETB #PCBAS / OUR BASE FSTA #PCBAS / TO POINTER LDX 0,1 / 0 TO INDEX REG 1 FLDA% #PCBAS,1+ / LOAD FROM #PCBAS+INDEX1 FSTA ARGP1 / ADDRESS OF ARGUMENT 1 STARTF FLDA% ARGP1 / NOW WE HAVE ARGUMENT 1 ALN 0 / MAKE INTEGER OF IT FSTA CHAR TRAP3 PC8 STARTF / BACK TO 3-WORD MODE JA #GOBAK / RETURN JUMP #GOBAK, 0;0 / RETURN JUMP TARGET END