Page 1 01-12-84 00:12:41 JG IC Line# Source Line IBM Personal Computer Pascal Compiler V1.00 00 1 program diskx; 2 {MSDOS 2.0 link check} 3 10 4 const nblk = 40; 10 5 fname = 'C:JUNKDATA'; 6 10 7 type buffer= array [0..511] of byte; 8 10 9 var f: file of buffer; 10 10 terminalin: file of char; 10 11 pass,err,i,k: word; 10 12 buf1,buf2: buffer; 13 20 14 function keypress: boolean; 15 {returns true if key read } 16 { false if no key available} 20 17 begin / 21 18 get(terminalin); = 21 19 keypress := terminalin^ <> chr(0); 10 20 end; Symtab 20 Offset Length Variable - KEYPRESS - 0 6 Return offset, Frame length - 4 1 (function return) : Boolean 21 10 22 procedure chkIO; 20 23 var ch: char; 20 24 begin 21 25 if f.errs <> 0 then begin 22 26 writeln; 26 --------------^Warning 238 Assumed OUTPUT 22 27 write ('**** I/O error ',i:1,', continue? [Y/N]: '); 27 --------------^Warning 238 Assumed OUTPUT 22 28 read(ch); writeln; 28 ------------^Warning 237 Assumed INPUT 28 ------------------------^Warning 238 Assumed OUTPUT 22 29 if (ch = 'N') or (ch = 'n') then begin / 22 30 discard(f); endxqq; end; 30 -----------------------------^303 Unknown Identifier Skip State 30 ment 30 -----------------187 End Skip^ 21 31 end; 10 32 end; Symtab 32 Offset Length Variable - CHKIO CHKIO  Page 2 01-12-84 00:12:46 JG IC Line# Source Line IBM Personal Computer Pascal Compiler V1.00 - 0 6 Return offset, Frame length - 4 1 CH :Char 33 20 34 procedure fillbuff (p,b: word); 20 35 var i,n: word; 20 36 begin 21 37 n := p+b; 21 38 for i := 0 to 511 do begin = 21 39 buf1[i] := n mod 256; n := n+1; end; 39 --------------^Warning 199 Integer Type Not Compatible With Wor 39 d Type 10 40 end; Symtab 40 Offset Length Variable - FILLBUFF - 4 12 Return offset, Frame length - 0 2 P :Word ValueP - 2 2 B :Word ValueP - 8 2 I :Word - 10 2 N :Word 41 10 42 begin { diskx } 43 {for keypress} 11 44 terminalin.mode := terminal; 11 45 assign(terminalin,'USER'); reset(terminalin); 46 11 47 assign(f,fname); 11 48 pass := 0; err := 0; 11 49 repeat 12 50 write('O'); f.trap := true; 50 ---------^Warning 238 Assumed OUTPUT 12 51 rewrite(f); f.trap := true; chkIO; 12 52 for i := 0 to nblk-1 do begin 13 53 fillbuff(pass,i); 13 54 write('W'); 54 -------------^Warning 238 Assumed OUTPUT 13 55 f^ := buf1; put(f); chkIO; 12 56 end; 57 12 58 write('C'); 58 ---------^Warning 238 Assumed OUTPUT 12 59 close(f); f.trap := true; chkIO; 12 60 write('o'); 60 ---------^Warning 238 Assumed OUTPUT 12 61 reset(f); f.trap := true; chkIO; DISKX  Page 3 01-12-84 00:13:25 JG IC Line# Source Line IBM Personal Computer Pascal Compiler V1.00 12 62 for i := 0 to nblk-1 do begin 13 63 fillbuff(pass,i); 13 64 write('r'); 64 -------------^Warning 238 Assumed OUTPUT 13 65 get(f); chkIO; f^ := buf1; 13 66 if (buf1 <> buf2) then begin 66 -----------------------^191 Invalid Value Type For Operator Or 66 Function 14 67 err := err+1; writeln; 67 ------Warning 238 Assumed OUTPUT^ 13 68 writeln('Error on block: ',i:1); end; 68 -------------------^Warning 238 Assumed OUTPUT 12 69 end; 70 12 71 write('c'); 71 ---------^Warning 238 Assumed OUTPUT 12 72 close(f); f.trap := true; chkIO; 12 73 writeln; 73 ----------^Warning 238 Assumed OUTPUT 12 74 pass := pass+1; 12 75 writeln('pass = ',pass:1,' error = ',err:1); 75 -----------^Warning 238 Assumed OUTPUT 11 76 until(keypress); 11 77 writeln; 77 ------^Warning 238 Assumed OUTPUT 11 78 reset(f); f.trap := true; discard(f); 00 79 end. Symtab 79 Offset Length Variable 0 2816 Return offset, Frame length 2 1146 F :File Static 1786 2 ERR :Word Static 1788 2 I :Word Static 1790 2 K :Word Static 1792 512 BUF1 :Array Static 2304 512 BUF2 :Array Static 1784 2 PASS :Word Static 1148 636 TERMINALIN :File Static Errors Warns In Pass One 3 16