.PSECT IO_DATA,LONG,WRT,NOEXE LF = 10 CR = 13 BLANK = ^A/ / INFAB:: $FAB FNM= OUTFAB:: $FAB FNM=,MRS=85 DISKFAB:: $FAB FNM= INRAB:: $RAB FAB=INFAB,USZ=80,- ROP=PMT,PBF=PROMPT,PSZ=5 OUTRAB:: $RAB FAB=OUTFAB DISKRAB:: $RAB FAB=DISKFAB,USZ=80 PROMPT: .ASCII /?? / ; PROCEDURE RDLINE(WHERETO) .PSECT IO_PROCS,NOWRT .ENTRY RDLINE,0 MOVL 4(AP),INRAB+RAB$L_UBF $GET RAB=INRAB CVTWL INRAB+RAB$W_RSZ,R0 RET ; PROCEDURE RDRCRD(WHERETO) .ENTRY RDRCRD,0 MOVL 4(AP),DISKRAB+RAB$L_UBF $GET RAB=DISKRAB CMPL DISKRAB+RAB$L_STS,#RMS$_EOF BEQL EOF CVTWL DISKRAB+RAB$W_RSZ,R0 RET EOF: BISB2 #^X04,4(FP) RET ; PROCEDURE PTCHRS(STRING,MAX_LEN) CR_LF: .BYTE 13,10 .ENTRY PTCHRS,0 MOVAW CR_LF,OUTRAB+RAB$L_RBF MOVW #2,OUTRAB+RAB$W_RSZ $PUT RAB=OUTRAB MOVL 4(AP),OUTRAB+RAB$L_RBF LOCC #0,8(AP),@4(AP) SUBL2 4(AP),R1 MOVW R1,OUTRAB+RAB$W_RSZ $PUT RAB=OUTRAB RET ; PROCEDURE DUMP_MSGS HDR: .ASCIZ /** DUMPLONG OUTPUT **/ STARS: .ASCIZ /** END DUMPLOG **/ .ENTRY STARTDUMP,0 PRINTCHRS HDR RET .ENTRY ENDDUMP,0 PRINTCHRS STARS RET ; PROCEDURE CVTPRT (LONG,NAME) .PSECT IO_DATA LONG: .BLKL 1 DUMP: .BLKB 18 .PSECT IO_PROCS DESC: .LONG ^X010E0008 .ADDRESS DUMP+10 ARGS: .LONG 3 .ADDRESS LONG,DESC .LONG 8 .ENTRY CVTPRT,^M MOVC5 #0,0,#BLANK,#10,DUMP LOCC #0,#8,@8(AP) SUBL3 R0,#8,R2 MOVC3 R2,@8(AP),DUMP MOVL 4(AP),LONG CALLG ARGS,G^OTS$CVT_L_TZ PRINTCHRS DUMP,#18 RET .END