13.07.2015 Views

The PowerPC 604 RISC Microprocessor - eisber.net

The PowerPC 604 RISC Microprocessor - eisber.net

The PowerPC 604 RISC Microprocessor - eisber.net

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

8 Pascal Implementation: Compiler and Asse ► bler/Interpreter Compiler Listing 9313 if currpoe laetpos then write(outo. ,/,')314 else315 begin316 while fKeepos < currpoe do117 begin write(output,' '); freepos t. freepos + I end;318 write(output,'"');319 lastpos 1. currpoe320 and;321 if currnmr < 10 then f ► • 1322 oleo if currnmr < 100 then t tft 2323 elan t t ■ 3;324 write(output,currnmrif);325 freepos 1. froepue + f + 1326 end;321 writeln(output); errinx I. 0328 end;329 linccount 1• linacount + 1;330 if list and (not sof(input)) then331 begin write(output i linecountt6, 1 't2);332 if dp then write(output,lct7) else writo(output,ici7);333 write(output,' ')334 end;335 chcnt t. 0336 end (*endofline*)337338 procedure arror(ferrnri integer);339 begin340 if errinx >- 9 then341 begin errlint(101.nmr 255; arrinx 1. 10 end342 else343 begin errinx to errinx + 11344 errlistlerrinxl.nmr ts. ferrnr345 end;346 orrlistIerrinxi•pow chcnt347 end (*error") ;340349 procedure ineymboi;350 (*read next baoic symbol of source program and return its351 description in the global variables sy, op, id, vel and lgth*)352 label 1,2,3;353 var 1,ki integer;354 digit: packed array (1..strglgthl of char;355 string: packed array (1..strglgth) of char;356 lvp, cep; test: bonlean;357358 procedure nextch;359 begin if eol then360 begin if list then writeln(output); endofline361 end;362 if not oof(input) then363 begin eol f. eoln(input); rend(input ech);364 if list than write(output,ch);365 chcnt chcnt + 1366 end367 else368 begin writeln(output,' " 4 sof ','encounterod');369 test 1. false370 and371 end;372373 procedure options;374 begin315 repeat nextch;376 If ch 0 'A' then377 hegin378 if ch 't' then379 begin nextch; prtebles t. ch '+' end380 else381 if ch • '1' then382 begin nextch; list I. ch '+';383 if not list then writeln(output)384 end305 else306 if ch 'd' then387 begin nextch; debug388 elsech '+' end389 if ch 'c' then39U (.fcl'

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!