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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

76 Pascal Implementation: Compiler and Assemb: interpreter Assembler/Interpreter Listing 7761 errori(' road on output file569 81 errori(' roadln on prr file ') 63311(Ardi 4 ); csao atore(al).va of570 end; 6345: readi(input),571 ep.- ep-1 6356: errori(' read on output file,),572 end; 63671 readi(prd),573 4 (Anew th bogin nd: ■ np-store(spj.va; 637end; 81 errori(' read on prr file,)574 (Atop of stack gives tho length in unite of storage A) 630575 if ad 0. ep then 639 12(ArdrA): case store(epl.va of576 errori(' store overflow '); 640 5: readr(input);577 np:. ad; ad:• otore(sp-1).va; 6411 ).518 atoro(adj,va 1. np; 6427i readr(prd).,)579 o p: il- 6p - 2 643end; et errori(' read on prr fe50u end; 644581 5 ("win•)1 begin caao atore(sp).va of 645 13(ArdcA)t case etore(apj.va of582 Si errori(' writein on input file '), 646 Si 5 i readc(input);583 6: writeln(output), t 647 61 actor!(' read on output file.584 ,),7: error!(' writein on prd file64871 readc(pr8):,)585 8: writeln(prr) 649end; 8i errori(' road on prr file586 end; 650587 ep:- op-1 651140'010)1 etore(op).vr:0 sin(store(opkvr);588 end; 65215("cos.91 atore(sp).vr:- coo(storo(ep).vr),589 6 (Awre")1 case otorolopl.va of 6536(*exp")1 atorelep),vrp. exp(atore(spi.vr),590Si 51 errori(' write on input file 1 )1 65417("logl9t atore(apj.vr: ■ ln(store(sp).vr);591 61 writestr(output)i 655592 71 errori(' write on prd file '); 656593 8: writestr(prr) 657594 end; 6513 etore(adj.va :A np;595 7 ("olnA), begin coso store(opkva of 659 Bpi. sp-1596 5: linos - eoln(input); 660 and;591 6: errori(' ooln output file '). 661 end;(*case q')598 7i line:-eoln(prd)1 662 end;(Acallse)18(Asq0)1 storo(sp).vrI• eqrt(storelaP).vr);19(*atnA)t store(sp).vr:A arctan(storelepkvr),20(AsavA): begin ed:Astore(spkval599 8: errori(' eoln on prr file,)663600 end; 664 begin (A main A)601 store(spl.vb IA line 665 rewrito(prr);602 end; 666 load; (" e•semblos and stores code A)603 0 (*wri"); begin case atorelapj.va of 667 writein(output), (" for testing A )<strong>604</strong> 5: errori(' write on input file 1 );668 pc :- ap :. -1; rep I-0, np :. maxatk+1; op :- 5;605 6: write(out put ,669 store(inputadrj.vc I.. input";606 atorelep - 21.vi: storo(op - 1).vi);670 atoro(prdadd.vc i.. prd';607 7: orrori(' write on prd file I ),671 interpreting,:- true;608 8: wrlto(prr,672609 store(sp - 2).vil store(ap - 11.vi)673 while interpreting do610 end;674 begin611 ep:..ep-3 675 (*fetch*)612 end; 676 with code(pc div 2) do613 9 ("wrr")i begin cane etorelepj.va of 677 if odd(pc) then614 Si error!('write on input file '). 678 begin op tA opt; p IA p2, q tA q2615 6: writs(output, 679 end el..616 litorelep-21.vri store(ap-11.vi); 680 begin op tA opl; p i• pl; q 1. ql617 7: errori(' write on prd file 1 )1 681 and;618 8: write(prr, 682 pc p. pc+I;619 store(ep-2j.vr: store(ap-1).vi) 683620 end; 684 (*execute*)621 sp:-ep-3 605 case op of622 end; 68662) 10("wro9t begin case ntore(sp).ve of 607 105,106,107,108,109,624 5: errori(' write on input file.);688 0 (AlodA): begin ad :A base(p) + q;625 6; writa(output,store(sp-21.vct 689 sp ;A sp+1;626 store(sp-11.v1), 690 store(sp) s-. etore(ad)627 1: error!(' write on prd file '); 691 end;628 0: write(prr,chr(store(sp-21.vi)1 692629 storelep-1).vi), 693 65,66,67,68,69,630 end; 694 1 Oldo")1 begin631 ep.-ep-3 , 695632 end; 696sp tA I'M;store(sp) 1• store(q)

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

Saved successfully!

Ooh no, something went wrong!