|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC700 "Piccolo" |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC700 "Piccolo" Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 1792 (0x700) Types: TextFile Names: »PRINT.PAS«
└─⟦940cc5fc9⟧ Bits:30003294 ASM assembler og editor til RC700 └─ ⟦this⟧ »PRINT.PAS«
PROGRAM hexdump; æ$A+,R-,S+å TYPE sector = ARRAYÆ0..127Å OF byte; str4 = STRINGÆ4Å; filename = STRINGÆ14Å; const sp=' '; pa='.pa'; pb='.PA'; head='PAGE - NO : '; nchars=78; VAR i,chars,x,line,page,p,n: integer; ch: char; t:str4; inname,outname: filename; buffer: sector; infile: FILE; outfile: text; procedure formfeed; begin write(outfile,@12,sp,sp,sp,head,page,' ',inname,@13@10,sp);line:=1; page:=page+1; end; BEGIN write('Input file name? '); readln(inname); IF inname='' THEN halt; write('Output file name? '); readln(outname); IF outname='' THEN halt; assign(infile,inname); æ$I-å reset(infile) æ$I+å; IF iores>0 THEN BEGIN writeln(inname,' does not exist'); halt; END; assign(outfile,outname); rewrite(outfile); line:=1;page:=1;chars:=1; formfeed; REPEAT blockread(infile,buffer,1,n); IF n<>0 THEN BEGIN FOR p:=0 TO 127 DO BEGIN x:=(bufferÆpÅ); chars:=chars+1; if x=138 then x:=10; tÆ0Å:=chr(3); tÆ1Å:=chr(x); tÆ2Å:=chr(bufferÆp+1Å); tÆ3Å:=chr(bufferÆp+2Å); if t=pa then begin formfeed; end; if t=pb then begin formfeed; end; if x=12 then begin formfeed; end; ch:=chr(x); if x=13 then begin for i:=chars to nchars do begin write(outfile,' '); end; write(outfile,'I'); line:=line+1;chars:=0; end; write(outfile,ch); if x=10 then write(outfile,sp); if line=68 then formfeed; END; END; UNTIL n=0; close(infile); close(outfile); END. «eof»