AXR$ . PFILE EQU 1 . 1=PRINT$ , 0=PRNTA$ WDS EQU 4 . SHOULD EQUAL 4 OR 8 WORDS/LINE DO WDS=4 ,LENTHB EQU 11 DO WDS=8 ,LENTHB EQU 20 $(2) . MIDMP* J $-$ SLJ MIDMP DS A0,SV 'IDENT ' DS A2,SV+2 +NO. WORDS, LOCATION DS A4,SV+4 DS A6,SV+6 S R1,SV+8 S R2,SV+9 L,U R1,LENTHB L A0,(1,BF) L,U A1,(' ') BT A0,0,*A1 CLEAR LINE BUFFER L A0,*MIDMP GET IDENTIFICATION WORD S A0,BF L A1,(1,BF+1) INITIALIZE BUFFER COUNTER L,U A2,5 SET TO MOVE 6 CHARACTERS L,U R2,5 L,H2 A5,MIDMP GET CALLIN ADDRESS LSSC A5,18 LEFT JUSTIFY L,U A0,$+3 SIMULATE AN SLJ S,H2 A0,OCTAL J OCTAL+2 OUTPUT 6 CHARACTER ADDRESS SLJ PRNT L,H2 A2,MIDMP PREPARE TO GET SECOND ARG L A0,1,A2 LOCATION TO DUMP L A3,1,A2 . NUMBER OF WORDS TO WRITE SSA A3,18 AN,U A3,1 LXI,U A0,1 A,U A2,2 FIX UP RETURN ADDRESS S,H2 A2,MIDMP JN A3,MID02 L A1,(1,BF+1) INITIALIZE BUFFER COUNTER L,U A2,5 AND CHARACTER COUNTER SZ FIRST MID01 SLJ TEST TEST IF READY TO OUTPUT LINE L A5,0,*A0 GET WORD TO DUMP SLJ OCTAL CONVERT IT TO FIELD DATA JGD A3,MID01 ARE WE DONE TZ FIRST WAS LINE BUFFER LEFT PARTIALLY FILLED SLJ PRNT MID02 DL A0,SV DL A2,SV+2 DL A4,SV+4 DL A6,SV+6 L R1,SV+8 L R2,SV+9 J *MIDMP . TEST J $-$ L A6,A0 TZ FIRST ARE WE AT BEGINNING OF LINE J TEST01 TEST04 L,U R1,LENTHB LENGTH OF LINE IMAGE L A0,(1,BF) L,U A1,(' ') BLANK OUT LINE BUFFER BT A0,0,*A1 L,U R2,5 L A1,(1,BF) L,U A2,5 SIMULATE SLJ AND OUTPUT 6 L,U A5,TEST01 CHARACTER LOCATION AT START OF LINE S,H2 A5,OCTAL L A5,A6 LSSL A5,18 J OCTAL+2 TEST01 L A0,FIRST HAS LINE BEEN FILLED WITH WDS TG,U A0,WDS NUMBERS PLUS ADDRESS J TEST02 A,U A0,1 S A0,FIRST COUNT ONE MORE L A0,A6 RESTORE A0 FROM SCRATCH REG J *TEST TEST02 SZ FIRST RESET NO. OF WORDS IN BUFFER COUNTER SLJ PRNT J TEST04 . OCTAL J $-$ CONVERT OCTAL TO FIELD DATA L,U R2,11 GET READY TO SEND 12 CHARACTERS L,U A4,05 FIRST SEND 2 BLANKS SLJ DSPAT SLJ DSPAT OCT02 SZ A4 A5 CONTAINS WORD TO EDIT INTO BF LDSL A4,3 GET LEADING CHARACTER A,U A4,060 CONVERT NUMBER TO FIELD DATA SLJ DSPAT DISPATCH CHARACTER TO BUFFER JGD R2,OCT02 HAVE ALL CHARACTERS BEEN SENT J *OCTAL . DSPAT J $-$ DISPATCH THE CHARACTER IN EX MID05,A2 REG. A4 TO LINE BUFFER JGD A2,DSPAT L,U A2,5 MOVE TO NEXT WORD IN LINE BUFFER J *DSPAT MID05 S,S6 A4,0,*A1 S,S5 A4,0,A1 S,S4 A4,0,A1 S,S3 A4,0,A1 S,S2 A4,0,A1 S,S1 A4,0,A1 . PRNT $-$ DO PFILE=1 , L A0,PNTA DO PFILE=1 , ER PRINT$ DO PFILE=0 , L,U A0,PNTA DO PFILE=0 , ER PRNTA$ J *PRNT . FIRST +0 SV RES 10 SAVES REGISTERS BF RES LENTHB LINE BUFFER DO WDS=4 ,PNTA +0113,BF DO WDS=8 ,PNTA +0124,BF 'DUMP ' END