列印
CTSS中,在用戶的控制台上列印一份
BCD卡片映像(card image)檔案。
塊計數=5
打出α, β檔案從行號γ開始。如果忽略了γ,默認是初始的行。如果γ不吻合檔案中的任何行號,列印開始在第一行大於γ。即使一份卡片映像的標識區域包含字母字元,γ只對應一個數字部分。
如果α, β不在卡片映像(card-image)類型中,但是被以變數長度(variable-length)格式寫,沒有行號會被列印。Printf會,如果需要,分裂一行,如果行對於
控制台的字車(
carriage)來說太長的話。
printf subr fap
WAIT,
00010 RECOUP
00020 RECOUP TRA *+1
00030 CAL 1,4
00040 STA RECOUP
00050 TRA 2,4
00060 END
READY.
CP-67
格式
PRINTF filename filetype <n1 n2 < n3 >>
* *
n1是要被打出的第一行的行號(line number)。
n2是要被打出的最後一行的行號。
n3是一行能打出的字元的最大值,如果記錄要被縮短。
用途
filename(
檔案名稱)和filetype(
檔案類型)必須被指定。如果第一條行的行號和最後一條行的行號被忽略,或者由星號(*)指定,整份檔案會被打出。一個星號在第一行或最後一行的區域遞歸地指定檔案的開始或結束。
被打出的行會被縮短到指定的限制,如果任何,或者對於LISTING檔案到113個字元,對於SCRIPT檔案是120個字元,對於MEMO檔案是80個字元,對於所有其它filetypes(檔案類型)是72個字元。如果指定了一個限制,第一行和最後一行區域必須被填充,無論是明確的,或者和星號。
搜查的標準順序被用於尋找檔案。在檔案帶有複製(duplicate)filename和filetype的情況中,只有找到的第一份檔案會被打出。
注意
第一個行號和最後一個行號必須小於9999,並且不能帶有被嵌入的逗號。
一份LISTING檔案中的每行的第一個字元不會被打出。這是一個印表機字車控制字元。
KT命令推翻(overrides)任何指定的最後一個行號或者行長度。
例子
這裡有一些被給予在Figures 8、9和10中。
printf go exec
LOAD &1
START
R; T=0.27/0.53 10.40.16
printf go exec * * 80
LOAD &1 GO 00010
START G0 00020
R; T=0.27/0.55 10.46.32
Figure 8. 兩個PRINTF命令打出一份整個檔案的例子
printf syslib maclib 157 171 72
MACRO
&LABEL MADDPL &COMM=*,&NAME=*,&TYPE=*,&MODE=P1,&ITNO=O,
&BUFF=*,&SIX ZE=80,&FV=F,*NOIT=1
&LABEL DS 0D
&LABEL.COMM DC CL8'&COMM'COMMAND
&LABEL.NAME DC CL8'&NAME'FILE-NAME
&LABEL.TYPE DC CL8'&TYPE'FILE-TYPE
&LABEL.MODE DC CL2'&MODE.FILE-MODE
&LABEL.INTO DC H'&ITNO' ITEM NUMBER
&LABEL.BUFF DC A(&BUFF) BUFFER REA
&LABEL.SIZE DC A(&SIZE) BUFFER SIZE
&LABEL.FV DC CL2'&FV' FIXED/VARIABLE FLAG
&LABEL.NOIT DC H'&NOIT' NUMBER OF ITEMS
&LABEL.NORD DC F'0' NUMBER OF BYTES ACTUALLY READ
MEND
R; T=0.50/0.72 10.56.18
Figure 9. 一條打出一個
宏定義(macro definition)的PRINTF命令
printf fortj listing 33 * 72
FORMAT STATEMENT MAP
SYMBOL LOCATION SYMBOL LOCATION SYMBOL LOCATION
538C 20 3928 398
TOTAL MEMORY REQUIREMENTS 00057E BYTES
R; T=0.33/0.47 10.59.42
Figure 10. 一條打出一份FORTRAN LISTING檔案的PRINTF命令
錯誤信息
E(00001) CORRECT FORM IS: 'PRINTF' FILENAME
FILETYPE STARTLINE ENDLINE LINE-LIMIT,
WHERE 'STARTLINE', 'ENDLINE', AND
'LINE-LIMIT' ARE OPTIONAL.
filename或filetype被忽略,或者其中一個可選的區域不可用。
一個I/O錯誤發生。再次初始化磁碟可能是需要的。
沒有檔案帶有指定的filename和filetype存在。