IMD 1.16: 7/09/2007 11:21:02 ADAP ORIENTER STARTUP 2-6-1  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÅÙÔÁ×@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@åÖÓñÄèâÁÕ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@æÈÄÙñ@ÄÁãÁ@@@@@@@@@@@@@@@ðøð@ðñððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ðñððñ@ÄÄÙñ@ÄÁãÁðù@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñð@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁññ@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñò@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñó@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñô@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñõ@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñö@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñ÷@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñø@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñù@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòð@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòñ@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòò@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòó@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòô@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòõ@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòö@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ £‚ååååO^£"£‚åååå STARTUP™ «É2£ SYSTEM.STARTUP{¢¢ EDITDEMO.TEXT`{\Ÿ  COMPDEMO.TEXT`{\Ÿ #NAMEFILE`{ñ¡#& SCDEMO.CODE`{¢¢&*COPYSCUNIT.CODEB£*2 UPDATE.TEXT`{èŸ26 UPDATE.CODE`{¢¢6: READ.ME.TEXT`{   CONST (PAGETOP=511; {top of page buffer} (  TYPE (ORIENTATION=(DISORIENTED,PCD_ORIENTED,SGRF_ORIENTED,LI_ORIENTB£:FSCREENOPS.CODE{Ñ£FjSCR.TEST.TEXT`{£ååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååED); (  VAR (CUR_DCT_BLK, {current block of PCODEFILE in SEG_DCT} (CUR_BLK, {current block of PCODEFILE in PAGå STARTUP™ «É2£ SYSTEM.STARTUP{¢¢ EDITDEMO.TEXT`{\Ÿ  COMPDEMO.TEXT`{\Ÿ #NAMEFILE`{åñ¡#& SCDEMO.CODE`{¢¢&*COPYSCUNIT.CODEB£*2 UPDATE.TEXT`{èŸ26 UPDATE.CODE`{¢¢6: READ.ME.TEXT`{ DCT_RANGE; VAR SEG_DCT:DCT_REC):INTEGER};  {  0 Gets the dictionary page corresponding to DCT_INDEX into SEG_DCT  0 re7ňׂ�EÅ簾ˆ­î×­£íî€#È#ušu–y$£íi#îh!³!²¡ ³¡ ²¡Õ›ˆ ×!î§€ °Õˆ­�€(�­�€(�¢sš"turning the local (0..15) dictionary index if all went smoothly,  0 -1 otherwise.  }  VAR DCT:INTEGER; " uˆ ×!î€+È$¦#¦$#sš€+ušu­ñˆ�­�×ç"Ê­�í¦�ˆ�­�×$ʈ�­�×#Ê­ñˆ�­�×ç€ ÊŠðŠð–"PROCEDURE DCTFLIP; "{ "1 Byte flips all word quantities in segment dictionary. Assumes "1 SEG_DCT and ALT_PAGE both ontain­­s­�²ñsˆ�­�×h ç€?Ê Ê Êš€ uˆ­î×­£íî€ È­�î¦�­�€(�­�€(�¢sš€ uˆ�­�×h ɦ ɦ­­sB£:FSCREENOPS.CODE{Ñ£FjSCR.TEST.TEXT`{£åååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå unflipped version of segment "1 dictionary. "} "VAR I,J:INTEGER; " A_PAGE:ARRAY[BYTERANGE] OF INTEGER; "BEGIN RIENTATION; {oriented in procedure for GETPCODE?} ( (FLIP_SEG:BOOLEAN; {is current segment byte-flipped?}  (DCT_BLK:   PASCALSYORIENTER  {block numbers of all dictionary pages} 0ARRAY[0..MAX_DCT_PAGE] OF INTEGER; 0 (ALT_PAGE: {scratch page of PCODEFIL E used by GETWORD, etc.} ( ARRAY[BYTERANGE] OF INTEGER; €€€€€€€€€€€€€€€€DPASCALSY(PAGE: {current page of PCODEFILE used for GETPROC, GETPCODE} ( PACKED ARRAY[0..PAGETOP] OF BYTERANGE; (SE,e,Óððh°þSCREEN28Á`ÀÅ´m0Z/`ÀÓ¢,:ð‚^@€ÓÖ3G_DCT:DCT_REC; {current page of segment dictionary}    {---------------------- private procedures ------------------- ORIENTERõÅ€2sš‚€�t š­tš‚€�t š­tš‚€ �t €2sš‚€�t š$îtš€,uš%£ítš‚€------}    FUNCTION BYTEFLIP(WORD:INTEGER):INTEGER;  {  0 Returns the byte-flipped value of WORD.  }  VAR SWA�t ji!"²Ô1€7!¢skh #²Ôšˆ$£!¢×%£ ¢î§u íhŠß!íiŠÊ­­s–ásš‚€�t ­­s–G¦¦¦¦�€Èih !P1,SWAP2:PACKED RECORD CASE BOOLEAN OF 0TRUE:(INT:INTEGER); 0FALSE:(MOSTSIG,LEASTSIG:BYTERANGE) .END;  BEGIN  SWAP1.INT:=²Ô!ˆ� ×j"­Ê"­Ê"ç€ Ê íhŠÚih !²Ô sš‚€4�t íhŠç­­s–¦ïih !²Ô ¢sšˆ ×t íhŠã­�îih !²Ô# €(WORD; "SWAP2.MOSTSIG:=SWAP1.LEASTSIG; "SWAP2.LEASTSIG:=SWAP1.MOSTSIG; "BYTEFLIP:=SWAP2.INT; {some simple trickiness here}  � €(�¢sšˆ� ×çÉu íhŠØ­­s–¼ˆ×‚€Iňׂ€Wňׂ€eňׂ€sňׂ€�ňׂ€�ňׂ€�ÅEND;     {-------------------- public procedures -------------------------}    FUNCTION GET_DCT{(DCT_INDEX:ˆ×‚€«Åˆ×‚€¹Åˆ ׂ€Çň ׂ€Õň ׂ€ãň ׂ€ñň ׂ€ÿňׂ� ňׂ�ňׂ�)ňׂ� ñ­í¦Š ­²ñ­î¦­îísš€^uˆ,§s–)¢sš‚‚í�t ¢sš‚ƒ�t ¢sš‚ƒ�t ¢sš`€Pt št `˜ˆ€Program has following commands::B(ack - backs up cursor,,! unsaves most recent commandC(lear - wipes maze clean# sP­vï–)‘*¢sš‚ƒ3�t ¢sš‚ƒY�t ¢sš‚ƒb�t ­î¢sš`€Pt št ­î¢s`§¤*­‡*¢îˆ§²ñ ˆ§­£í¤*š€o you can start over again  `§uˆ­‡*vï–* )¢sš‚ƒy�t ¢sš‚ƒž�t ¢sš‚ƒ§�t ¢sš`€Pt št ­îísš€ u`˜ˆ˜v¦­Ò¦€K ROW­îísš€^uˆ,§s–)¯ Tï��šat !ƒƒ¾Úñn!0ç(É⼃ƒÆÛÚÔ�ŠV!0ç(É⼃ƒÎÛÚÔ�Š>!ƒƒÕÚÔ�Š0!ƒƒÜÚÔ� ROW YOUR BOAT4Data: I(nsert D(elete P(os R(ight L(eft C(lear Q(uittJEnter string to be inserted: Š"!ƒƒãÚÔ�Š!ƒƒëÚÔï��Šï!ƒƒòÚÕwÿ–TÍ sih !²Ô št íhŠñ–Û šu–è ���–CURSX::, CURSY:: Then press RETURN,Note: Use BACKSPACE (BS) to erase characterssJType an X for each character to be deleted abov MAZE[]: =Maze: U(p D(own R(ight L(eft B(ack H(elp X(ecute C(lear Q(uit( @@@@e Then press RETURN,Note: Use BACKSPACE (BS) to erase characterssIEnter string to be located: –¹¦ï ­�h¦� îli!$²Õ•mj"%²Ô5!€(�!€(�¢s€Ènk#&²Ô#íkŠö­­s€Ènk#&²Ô#íkŠö"íjŠÆˆ�!×çɦ­€RÒ ­í­€Rï Š1­@@@@@@@@@@@@@@@@@@@@@@@@@ @ @ @@@ @@@@@@@@@ @ @ @@@@@@@@@ @@@ @ @ @ @ @@@ @ @ @@@@@ @@@@@ @ €LÒ ­î­€Lï Š ­€UÒ ­­î€Uï Š­€DÒ ­­í€Dï !íi‹eÿ¦–tš‚�S�t štš‚�f�t štš‚�w�t štštš‚�Š�t @@@@@ @@@ @ @ @ @ @ @ @ @ @@@ @@@ @ @ @@@ @ @@@ @ @ @@@@@ @ @ @ @ @ @@@ @@@@@ @ @@@@@@@@@@@@@ @@@@@ @ štš‚���t štš‚�¯�t štštš‚�Ã�t štštš‚�Ô�t štš‚�å�t štštš‚�ö�t št–æðs@ @ @ @@@ @@@@@ @ @ @@@@@@@@@ @ @ @@@ @ @ @ @ @ @ @@@ @@@@@ @@@@@ @@@@@ @ @ @@@@@ @ @ @ @ @ @ š‚‚�t štštš‚‚�t štš‚‚(�t štš‚‚9�t štš‚‚F�t št�šat !€ Òõðï–ø¢�� šbt k"0ç)Éâ @@@ @@@ @@@@@ @ @@@@@@@ @@@ @@@ @ @ @ @ @@@@@ @@@@@ @ @ @ @@@@@@@ @ @@@ @ @ @ @ @@@@@@@@@@@ @@¼ƒ‚XÛÚåÕ×"Ò! �‹Ì"0ç(É⼃‚`ÛÚÔ !í €R� ‹¯"0ç(É⼃‚hÛÚÔ !î €L� ‹’"0ç'É⼃‚oÛÚÔ ! î€U� Šv"0ç'É⼃‚wÛÚÔ@@@@@@@@@@@@@@@@%D(own - moves the cursor one box down! (if no wall in the way)%L(eft - moves the cursor one box LEFT$Q ! í€D� ŠZ"ƒ‚~Úšt Ô� ŠE"ƒ‚…ÚÔ� Š7"ƒ‚�ÚÔ� Š)"€Ò€Osšt ! sŠ"ƒ‚”ÚÔ� �Šïk"0ç)É⼃‚›ÛÚÕøþ–‚¢(uit - terminates the maze program,," returns to Pascal Systemm'R(ight - moves the cursor one box RIGHT!U(p - moves thesšˆ,˜t –Bsš‚‚£�t sšˆ˜t ­îísš€^uï–^ˆ‚‚ÉëP¦ˆ,‚‚ÒëP–­­îísš€ u Ò­ˆ§í³ cursor one box up X(ecute - simulates execution off your "program" of movess# PRESS SPACEBAR TO RETURN TO MAZE$Maze  PROGRAM EDITDEMO;   PROCEDURE REPEAT1;  VAR S,SG:STRING; $L,N:INTEGER;  BEGIN "WRITELN( $'TYPE ANY STRING FOLLOWED BY ' )); "READLN(S); "N:=1; "L:=LENGTH(S); "REPEAT $SG:=COPY(S,1,N); $WRITELN(SG); $N:=N+1; "UNTIL N>L  END (*REPEAT1*);   PROCEDURE REPEAT2;  VAR S:STRING;   PROCEDURE REVERSE; "(*REVERSE THE ORDER OF CHARACTERS &IN S*)  VAR NB,NE:INTEGER; $(*BEGIN AND END POINTERS*) $SAVE:CHAR;  BEGIN "NB:=1; "NE:=LENGTH(S); "REPEAT $(*EXCHANGE CHAR'S NB & NE, &SHIFT NB & NE *) $SAVE:=S[NE]; $S[NE]:=S[NB]; $S[NB]:=SAVE; $NB:=NB+1; $NE:=NE-1; "UNTIL NB>=NE;  END (*REVERSE*);   BEGIN (*O^REPEAT2*) "WRITELN( $'TYPE ANY STRING FOLLOWED BY ' )); "READLN(S); "WHILE LENGTH(S)>0 DO "BEGIN $REVERSE; $WRITELNìœ\Ÿ(S); $WRITELN; $WRITELN('TYPE ANOTHER STRING'); $READLN(S); "END;  END (*REPEAT2*);   BEGIN (*MAIN PROGRAM*) "WRITELN('START EDITDEMO'); "WRITELN; "REPEAT1; "WRITELN; "REPEAT2;  END.   Then press RETURN,Note: Use BACKSPACE (BS) to erase characterssKÙ±£‰�_¼¿`Õ¦se õéÚð ìœ\ŸS); "WHILE LENGTH(S)>0 DO "BEGIN $REVERSE; $WRITELN(S); $WRITELN; $WRITELN('TYPE ANOTHER STRING'); $READLN(S); "END;  END (*REPEAT2*);   FUNCTION BLOWUP(X,Y:INTEGER):BOOLEAN;  VAR "I,LB,UB:INTEGER; "CH:CHAR; "A:ARRAY[1..10] OF INTEGER;  BEGIN  LB:=X; "UB:=Y; "FOR I:=LB TO UB DO $BEGIN &A[I]:=I*I; &WRITELN(I,': ',A[I] ; $END; "BLOWUP:=UB > 10;  END (*BLOWUP*); "  BEGIN (*MAIN PROGRAM*) "WRITELN('START EDITDEMO'); "WRITELN; "REPEAT1; "WRITELN; "REPEAT2; "WRITELN; "IF BLOWUP(5,15) THEN $WRITE('Upper Bound too large');  END.   PROGRAM EDITDEMO;  VAR G1, "G2, "G3,G4:INTEGER; "B1,B2,B3:BOOLEAN;   PROCEDURE REPEAT1;  VAR S,SG:STRING; $L,N:INTEGER;  BEGIN "WRITELN( $'TYPE ANY STRING FOLLOWED BY ' )); "READLN(S); "N:=1; "L:=LENGTH(S); "REPEAT $SG:=COPY(S,1,N); $WRITELN(SG); $N:=N+1; "UNTIL N>L  END (*REPEAT1*);   PROCEDURE REPEAT2;  VAR S:STRING;   PROCEDURE REVERSE; "(*REVERSE THE ORDER OF CHARACTERS &IN S*)  VAR NB,NE:INTEGER; $(*BEGIN AND END POINTERS*) $SAVE:CHAR;  BEGIN "NB:=1; "NE:=LENLawn's Nursery Inc.ÆÍ¸¹Æ Lawn, Moe D.APDISKª(¶7ÆŸÍÆ¦123 Shady LaneDE[*]ª(Escondido, CA 92025V0ßzÀ743-5GTH(S); "REPEAT $(*EXCHANGE CHAR'S NB & NE, &SHIFT NB & NE *) $SAVE:=S[NE]; $S[NE]:=S[NB]; $S[NB]:=SAVE; $NB:=NB+1; $NE:555ÀfÀ San Diego Zooy Inc.ÆÍ¸¹Æ Bare, Ted E.APDISKª(¶7ÆŸÍÆ¦Park BoulevardDE[*]ª(San Diego, CA 92101V0ßzÀO^=NE-1; "UNTIL NB>=NE;  END (*REVERSE*);   BEGIN (*REPEAT2*) "WRITELN( $'TYPE ANY STRING FOLLOWED BY ' )); "READLN(  €€5€€€€€€€€€€€€€€€€5297-5432ÀfÀAce Veterinary Clinic͸¹Æ Ritus, ArthurPDISKª(¶7ÆŸÍÆ¦453 Ocean Avenue[*]ª(Del Mar, CA 9203601V0†Óððh°þORIENT28¨P�ÀÅ©¾0Z/P�ÀÓ¢,:ð‚^@€ÓÖ3ßzÀ755-1735ÀfÀRamona Stock Farminic͸¹Æ Bull, TerryurPDISKª(¶7ÆŸÍÆ¦ Box 48 RFD #2nue[*]ª(Ramona, CA 92065601  TYPE $SCCHSET = SET OF CHAR; $SCKEYCOMMAND = (BACKSPACEKEY,ETXKEY,UPKEY,DOWNKEY, @LEFTKEY,RIGHTKEY,NOTLEGAL); $  VAR  V0ßzÀ789-1573ÀfÀVista Antiques Storec͸¹Æ Teek, AnnryurPDISKª(¶7ÆŸÍÆ¦27 Santa Fe Ave.[*]ª(Vista, CA 920 SCCH:CHAR;   PROCEDURE SCINITIALIZE;  PROCEDURE SCLEFT;  PROCEDURE SCRIGHT;  PROCEDURE SCUP;  PROCEDURE SCDOWN;  PROCED835601V0ßzÀ724-3176ÀfÀVista Antiques Storec͸¹ÆTeek, AnnryurPDISKª(¶7ÆŸÍÆ¦27 Santa Fe Ave.[*]ª(Vista, URE SCGETCCH(VAR CH:CHAR; RETURNONMATCH:SCCHSET);  FUNCTION SCMAPCRTCOMMAND(KCH: CHAR): SCKEYCOMMAND;   IMPLEMENTATION CA 920835601V0ßzÀ724-3176ÀfÀVista Antiques Storec͸¹ÆTeek, AnnryurPDISKª(¶7ÆŸÍÆ¦27 Santa Fe Ave.[*]ª(V ista, CA 920835601V0ßzÀ724-3176ÀfÀVista Antiques Storec͸¹ÆTeek, AnnryurPDISKª(¶7ÆŸÍÆ¦27 Santa Fe Ave.[´SCDEMO ©‡€ÿih !²Ô † ØÊ íhŠîšç%i†!çÉØʆ!çÉØʆ!çÉØʆ!çÉØʆ!çÉØʆšç+*]ª(Vista, CA 920835601V0ßzÀ724-3176ÀfÀVista Antiques Storec͸¹ÆTeek, AnnryurPDISKª(¶7ÆŸÍÆ¦27 Santa FeÉØÊ––† ØÉi–ášçi!ç#ØÉÔ š!Érš$r!çɲñ!çÉjh "²Ô šr íhŠï–óšç"É‘ –šç! Ave.[*]ª(Vista, CA 920835601V0ßzÀ724-3176ÀfÀVista Antiques Storec͸¹ÆTeek, AnnryurPDISKª(¶7ÆŸÍÆ¦27 SaÉ‘ –šç!É‘ –%š r–Iš‡s šsÔ‡ ćx`ÐÚÔã–P–MF•Ž…|s § PASCALIOEXTRAIO  nta Fe Ave.[*]ª(Vista, CA 920835601V0ßzÀ724-3176ÀfÀVista Antiques Storec͸¹ÆTeek, AnnryurPDISKª(¶7ÆŸÍÆ¦ 27 Santa Fe Ave.[*]ª(Vista, CA 920835601V0ßzÀ724-3176ÀfÀ–µTESTSCUNSCDEMO µSCDEMO   ´SCDEMO ©‡€ÿih !²Ô † ØÊ íhŠîšç%i†!çÉØʆ!çÉØʆ!çÉØʆ!çÉØʆ!çÉØʆšç+&TEL:STRING[10] $END;  VAR "RECNUM:INTEGER; "BUF:STRUCTURE; "TITLE:STRING; "FID:FILE OF STRUCTURE;   PROCEDURE ZEROREC(ÉØÊ––† ØÉi–ášçi!ç#ØÉÔ š!Érš$r!çɲñ!çÉjh "²Ô šr íhŠï–óšç"É‘ –šç!VAR REC:STRUCTURE);  BEGIN "WITH REC DO $BEGIN &NAME:=''; &COMPANY:=''; &STREET:=''; &CITYSTATE:=''; &TEL:=''; $END;  É‘ –šç!É‘ –%š r–Iš‡s šsÔ‡ ćx`ÐÚÔã–P–MF•Ž…|s § PASCALIOEXTRAIO  END (*ZEROREC*);   PROCEDURE SHOWREC(REC:STRUCTURE);  BEGIN "WRITELN; "WITH REC DO $BEGIN &WRITELN('NAME: ',NAME) ; &WRITELN('COMPANY: ',COMPANY); &WRITELN('STREET: ',STREET); &WRITELN('CITY&STATE: ',CITYSTATE); &WRITELN('TEO^LEPHONE: ',TEL); $END;  END (*SHOWREC*);   PROCEDURE GETREC(VAR REC:STRUCTURE);  LABEL 1;  VAR S:STRING; " "FUNCTION•TESTSCUNa#šsp–` €?ÚÔ- Š%rš€ sprŠrŠrŠrŠ rŠ¥ŠÖ€Š‘–¿r†¼ƒ€ ÛÇŽš‚€�ü�žt pštpš‚€$�t p¥††Ðr1¼ÚÔ1r‘Š š1sp0ÔÝ–Øÿøÿðÿôÿèÿìÿþÿÿ'Arrow keys move cursor; ETX terminates; BS erases visible charss 2PASCALIOEXTRAIO SCDEMO    TYPE $SCCHSET = SET OF CHAR; $SCKEYCOMMAND = (BACKSPACEKEY,ETXKEY,UPKEY,DOWNKEY, @LEFTKEY,RIGHTKEY,NOTLEGAL); $  VAR   SCCH:CHAR;   PROCEDURE SCINITIALIZE;  PROCEDURE SCLEFT;  PROCEDURE SCRIGHT;  PROCEDURE SCUP;  PROCEDURE SCDOWN;  PROCEDURE SCGETCCH(VAR CH:CHAR; RETURNONMATCH:SCCHSET);  FUNCTION SCMAPCRTCOMMAND(KCH: CHAR): SCKEYCOMMAND;   IMPLEMENTATION  (*$G+*)  PROGRAM UPDATE;  TYPE "STRUCTURE= $RECORD &NAME,COMPANY:STRING[32]; &STREET:STRING[20]; &CITYSTATE:STRING[30];   $END;  1:  END (*GETREC*);   BEGIN (*main program*) "WRITE('File title:'); "READLN(TITLE);  (*$I-*) "RESET(FID,TITLE)UPDATE ; "IF IORESULT<>0 THEN REWRITE(FID,TITLE);  (*$I+*)  RECNUM:=0; "WHILE RECNUM>=0 DO $BEGIN &WRITELN; &WRITE('Record num ber:'); &READLN(RECNUM); &IF RECNUM>=0 THEN (BEGIN *SEEK(FID,RECNUM); *GET(FID); *IF EOF(FID) THEN ,BEGIN .WRITELN('Ente€€€€€€€€€€€€€€€€Ür new Record:'); .ZEROREC(FID^); .GETREC(FID^); .SEEK(FID,RECNUM); .PUT(FID); ,END *ELSE ,BEGIN .WRITELN('Old Record:');­,Óððh°þSTANLEY28¾~ÀÅ©¨0Z/~ÀÓ¢,:ð‚^@€ÓÖ3 .SHOWREC(FID^); .WRITELN; .WRITELN('Enter Changes:'); .GETREC(FID^); .SEEK(FID,RECNUM); .PUT(FID); ,END; (END; UPDATE oG!h ç‚€ë ‚€ë ç"‚€ë ç-‚€ë ç=‚€ë –õC`‡DÅCšrpš‚€�r pš„˜r pšrpš‚€ END (*WHILE*); "CLOSE(FID,LOCK);  END. ( �r pš`˜r pšrpš‚€�r pš„#˜r pšrpš‚€�r pš„.˜r pšrpš‚€#�r pš„>˜r pšrp–D2šˆ€Pr pšr piˆ§²ñˆˆ§ì§ÒiŠ ˆëP–Í*š‚€*�r pšrpšrp‡+¤*š‚€J�r p‡*ç�ÔŠ^š‚€P�r p‡*�ÔŠHš‚€V�r p‡*ç"�ÔŠ0š‚€\�r p‡*ç-�ÔŠš‚€b�r p‡*ç=�ÔŠ–+Ö†n†�š€Csš‚€h�r pš†E€Pr pšr p†n†E READIT(VAR T:STRING):BOOLEAN; "BEGIN $READLN(S); $READIT:=FALSE; $IF LENGTH(S)>0 THEN &IF S[LENGTH(S)]=CHR(27(*ESC*)) THEN READIT:=TRUE &ELSE (T:=S; "END (*READIT*);   BEGIN "WRITELN('RETURN skips item with no change; ESC+RETURN skips whole Record'); "WRITELN; "WITH REC DO $BEGIN &WRITE('NAME:  '); IF READIT(NAME) THEN GOTO 1; &WRITE('COMPANY: '); IF READIT(COMPANY) THEN GOTO 1; &WRITE('STREET: '); IF READIT(STREET) THEN GOTO 1; &WRITE('CITY&STATE:'); IF READIT(CITYSTATE) THEN GOTO 1; &WRITE('TELEPHONE: '); IF READIT(TEL) THEN GOTO 1;  NY: STREET: CITY&STATE: TELEPHONE: ?RETURN skips item with no change; ESC+RETURN skips whole Record NAME: COMPANY: STREET: CITY&STATE: TELEPHONE: File title:Record number::Enter new Record: Old Record:Enter Changes::}›& "The quizzes mentioned in the BEGINNER'S MANUAL by Dr. Bowles are  not yet available. We will notify you when they become avaiéFILEOPS PASCALIO lable  for sale. " "Dr. Bowles's book was written to describe the II.0 version of the  UCSD Pascal (tm) system. The IV.0 version of the UCSD p-System (tm)  differs with respect to units which are described in Chapter 9. The  UCSD Pascal Users Manual - Version IV.0 describes units correctly. E^B£B£Y’SCREENOPSEGSCINI  ˜spÓ †n†E˜s¥0³Õ²šrpš‚€n�r pš†rpšr p0³Õ…†n0sp†nrp†nrpÔ+š‚€v�r pšrp…n‘…n‘†n0sp†nrpŠDš‚€�r pšrp…n‘šrpš‚€…�r pšrp…n‘†n0sp†nrp‹Hÿ†nsp†ns– NAME: COMPA  dure sc_use_port(do_what:sc_choice; var t_port:sc_tx_port); "procedure sc_erase_to_eol(x,line:integer); "procedure sc_left; "#çl$É�$çÉ�$çÉ�$çÉ�$çÉ�$çÉ�$çÉ�$çÉ� �#ç%l$çÉ �$çÉ�$çÉ �$çÉ€€€€€€€€€€€€€€€€¡SCREENOPprocedure sc_right; "procedure sc_up; "procedure sc_down; "procedure sc_getc_ch(var ch:char; return_on_match:sc_chset); "pro(îèïèïh°þ4.0v›>æ3>ÆžÛÅòœÄ++ÆžÛîN(ðè <€î†/ cedure sc_clr_screen; "procedure sc_clr_line (y:integer); "procedure sc_home; "procedure sc_eras_eos (x,line:integer); "proc  const $sc_fill_len = 11; $sc_eol = 13;   type $sc_chset = set of char; $sc_misc_rec = packed record 8heiedure sc_goto_xy(x, line:integer); "procedure sc_clr_cur_line; "function sc_find_x:integer; "function sc_find_y:integer; "ght, width : 0..255; 8can_break, slow, xy_crt, lc_crt, 8can_upscroll, can_downscroll : boolean; 6end; $sc_date_rec = pacfunction sc_scrn_has(what:sc_scrn_command):boolean; "function sc_has_key(what:sc_key_command):boolean; "function sc_map_crtked record 8month : 0..12; 8day : 0..31; 8year : 0..99; 6end; $sc_info_type = packed record 8sc_version : string; 8_command(var k_ch:char):sc_key_command; "function sc_prompt(line :sc_long_string; x_cursor,y_cursor,x_pos, sc_date : sc_date_rec; 8spec_char : sc_chset; {Characters not to echo} 8misc_info : sc_misc_rec; 6end; $sc_long_string = st7where:integer; return_on_match:sc_chset; 7no_char_back:boolean; break_char:char):char; "function sc_check_char(var buf:sc_wring[255]; $sc_scrn_command = (sc_whome, sc_eras_s, sc_erase_eol, sc_clear_lne, 7sc_clear_scn, sc_up_cursor, sc_down_cursor, indow; var buf_index,bytes_left:integer) 9:boolean; "function space_wait(flush:boolean):boolean; "procedure sc_init; $  imp7sc_left_cursor, sc_right_cursor); $sc_key_command = (sc_backspace_key, sc_dc1_key, sc_eof_key, sc_etx_key, 7sc_escape_key, slementation c_del_key, sc_up_key, sc_down_key, 7sc_left_key, sc_right_key, sc_not_legal); $sc_choice = (sc_get, sc_give); $sc_window = packed array [0..0] of char; $sc_tx_port = record ‘SEGSCINI…=†Jç ØÉñ†fç*†fç*ІJç §â¼ÛÇŽ–U†Jç "ȆJç Ø!Ê–l"­ç$!ØÉ ï ï–•†Qç ØÉñ†fç8row, col, { screen relative} 8height, width, { size of txport (zero based)} 8cur_x, cur_y : integer; E{*†fç*ІQç §â¼ÛÇŽ–µ†"Ø ʆQç "ȆQç Ø!Ê–Ì"­ç/!ØÉ ï ï– ›ap!k€ÿlh $²Ô † Ø Ê íhŠî†Q#ç-ÉĆJ#cursor positions relative to the txport } 6end; 4 "procedure sc_use_info(do_what:sc_choice; var t_info:sc_info_type); "proceçÉĆfç)›DÅ#çl†fç:m%#æ%îÊ%#æ&îÊ%çÊ%çÊ%ç$ÉÊ%ç$ÉÊ%ç$ÉÊ%çʆfç*â¼#ç-Éâ¼Û#çÉâ¼Û â¼Ûâ¼ÛÇŽ  Ô‘ Šp"–œ‘Ô!‘–Ñ‘ Ô�ÿá‘ Š‘Ô�ÿá‘ ‘–á‘Ô‘Š †Zh çÄ Ä–#"‘‘Ô%†fç;ÉÔ#"‘"O^££í†Z{ih !²Ô ‘ íhŠó#"‘–Pš‡u šuÔ‡ ćxƒ€ÚÔ ‡‡x€ £Ä‡x`ÐÚÔΖq€‡€ƒ‡€‚`‡€�p`‡€�Èš`˜u –€ƒˆ! ¢i!­³Ô­íi!j–î „€Œ„�"¬ÿ†fç:¤ ¤ ‚€ �„€Œ˜sm%„€Œ§í%£€[„€Œ%p¢l‚€ �„€Œ˜„ $„€Œ§$£ís„ ˜sj%ío*çÉÔkŠ †Zzî%"¢£k‡��ÿáÓ‡�‡�‘*çÉñšu'i#²ÔnŠc$'£n&€ „€Œ'p¤ &(£n'(¢o&#²Ÿh Ô#£#á‡� „€Œ'#¢£p¢n&²Ô '$'£‡� „€Œ'pí�o!'ÒnŠán& �$çÉ �$çÉ�$çÉ�$çÉ�$çÉ ��†Qç§Ò�†Jl†G‚€ë$çØÉÔ†G$xÈŠ†GȆG$ç§È$ç§Ò†Gm³Ô�„€Œ%‘%Óš€ t„€Œ'&‘'&¢$³ñ š‚€ �u „€Œ$"‘'&�o‡�!³Ô‡�!‡� ‘‡� ñ„ „�Ѓ€ÛÇ‘ )€?±Õ ÿ)¤�$–�#È'&x§h¤ je†G˜se‚€�se†G˜ seë†fç*†fç*Ð â¼ÝÇŽ†YȆA p†A#ç"ÉȆA§ ²ñ†A Ȇ`k#çÄ#çÄ#ç†fç:ÉÄ#ç†fç:ÉÄ#çÄ#ĆZ†`†Jk† ØÉÒ\‘å†fç;É Ôš‚€�u šuŠ1&xîli!$³Ô'!§€ ³Ô š†G˜u !îiŠå‘Ô �ÿá�ÿá‘&x£j¤ ŠS† ØÉ�ÚÔE¤ &x²ñ:Åq–   ]M8-! háj‘ñ € ³ñ š€_tŠš tŠ'&xî§€ ³Ô ‘š€ t‘Šj&&x"¢Ä%%x"£Ä– !Ôp"š9çÄš‚€�u šçÉñ š‚€�u š`u šç,É⼃€#ÛÚÔåšu € ±j–&–þÿÿ:]? €> to continuee»ªD5XSCREENOPr–6"x!³ñ"!ÄŠ "x ²ñ" Ä–e†Jh ç!ØÉÔš xtš ç!§tš†A˜u –ƒ†`†Z¹ !‘¡h Ô!‘ æzÆqlPvsdH<ŽúîáÔ’`RGOTOXY PASCALIOEXTRAIO STRINGOP  åj–Ÿ!"±h†`†Z¹  Ô#‘ l–»†fh"Ò!†fÅ<Іf!Å<–Ô!Ò †ZÅŠ†Z Å–Þ†Zyh–è†Zxh–†Zhb z‘a {‘†fç;ÉÔ |"¢ }!¢vŠšu ç"Ä !Ä–£#�ÿá°i†fç;ÉÔm†Zj!ñ$#‘"z"|¢†fç:ɰ‘¡Ô‘ŠJd"z‘c"{‘†Y"z$£í€ ¢È#"}¢†fç:ɰ! Ô †Y"z$£€ ¢Èš†Yu !ÔšuŠ$#‘–½†Zh y‘Ô ç yîĖ؆Zh y z‘Ô ç yíÄ–ï†Zh x‘Ô xîÄ–†Zh x {‘Ô xíÄ–†Jç §±i–'†Qç §±i–s†Qj#x"x°"x±¡Ô iš#u Ši†#xØÉh Ó!å"ç ØÉ¡!"ç ØÉå¡ Ô h l–‹‘ ‘  rrectly with the screen and keyboard, *)  (* 2. The control information is correct for the screen, and *)  (* Program'); "writeln('Copyright (c) 1981, SofTech Microsystems Inc.'); "writeln('Answer all verification questions with a ''Y'' 3. The Screen Editor will have no trouble interfacing to the *)  (* screen or keyboard.  (''y'') or ', F'''N'' (''n'').'); "writeln; "{ Get information from screen control unit }  sc_use_info(sc_get,sc_info); *)  (* *)  (* Richard Kaufmann  "with sc_info.miscinfo do $begin &screenheight:=height; &screenwidth :=width; &lower:=lc_crt $end;  end;   procedure  *) open_log_file;  { Open the error logging file }  begin "repeat $write('What file should errors be logged in? ( for none (* This program is proprietary information of Softech Microsystems Inc. *)  (* Copyright (c) 1979 Softech Microsystems Inc.) '); $readln(error_fn); $rewrite(error_file,error_fn); "until (ioresult=0) or (length(error_fn)=0); "error_count:=0; "log_ All rights reserved. *)  (* *)  (*******************errors:=length(error_fn)<>0;  end;   procedure close_log_file;  { Say goodbye and then close the error logging file }  beg******************************************************)   { --- Modified 20-Sep-79 RSK to use Screen Control Unit --- }  { -in "sc_clr_screen; "writeln; "writeln('Done with Screen Control Diagnostics'); "if log_errors then $begin -- Modified 21-Dec-79 DLB to use II.0 Screen Control Unit --- }  { --- Modified 17-Feb-81 SGS to use IV.0 Screen Control Unit ---}   Program Screen_Diagnostic;   Uses {$U Screenops.code} screen_ops;   const  DLE=16;   type "prompt_string=s {$I-}   (*************************************************************************)  (* tring[255];  var "screenheight, screenwidth: 0..255; "lower,log_errors: boolean; "error_count: integer; "error_fn: string; *)  (* Screen Diagnostic Program 15-July-79 *)  (* ----- "testline: packed array [0..255] of char; { line of percent signs } "sc_info: sc_info_type; "s: prompt_string;  error- ---------- ------- *)  (* _file: text;    procedure initialize;  { inits testline and prints welcome message }  begin  *)  (* This program provides a confidence test that shows: *)  (* 1. The BIOS is working co"sc_init; {Initialize Screen Control Unit} "fillchar(testline,sizeof(testline),'%'); " "writeln('Screen Control Diagnostic  rror_count+1; &writeln(error_file,error_count:5,' ',s); $end  end;   procedure ok(s:string);  { read a character. if it ,end *else ,i:=next+1 & end $end;  end;   procedure test_basic;  begin  writeln('* Is this sentence surroundis a N(o then, using log, write the string "to the error logging file }  var ch: char;  begin "repeat read(keyboard,ch) unted by two asterisks (stars). *'); "ok('test_basic: not all characters being written out');  end;   procedure test_gotoxy; il ch in ['Y','y','N','n']; "if ch in ['N','n'] then log(s)  end;   procedure message(prompt:prompt_string);  { clears scr { Try some border cases (0,0) and lower right corners. Also draws a "box. Not a complete test. Just a confidence test }  een, prints message. Imbedded into message can be an arbitrary "number of |x y| strings. Instead of these strings being displ  var "i,x,y: integer; "  procedure exhaustive_gotoxy_check; "{ checks all possible locations on the screen. } "var x,y:ayed, a "sc_goto_xy(x,y) is performed }   var "i,l,next,x,y: integer; "  integer; & $procedure line_out; $begin &for x:=screenwidth - ord(y=screenheight) downto 0 do (begin *sc_goto_xy(x,y); *"function read_integer(var index: integer; term_ch: char): integer; "{ parse integer in string, return value, term_ch tells whwrite(chr( ord('A') + x mod 27 ) ) (end; " end; " "begin $sc_clr_screen; ${ write out line the standard way to check sc_gat character $terminates input }  var ch: char; n: integer; "begin $n:=0; $repeat &ch:=prompt[index]; &if ch in ['0'..'oto_xy patterns against } $sc_goto_xy(0,2); $for x:=0 to screenwidth do write(chr( ord('A') + x mod 27 )); ${ now write out r9'] then (begin *n:=n*10+ord(ch)-ord('0'); *if n>255 then ,begin .writeln('integer overflow in message procedure', 6'. inest of screen backwards } $for y:=screenheight downto 3 do lineout; dex=',index); .exit(program) ,end; *index:=index+1 (end &else (if ch<>term_ch then *begin ,writeln('illegal character in" message('|0 0|Are all of the below lines the same (except for a'); $message('|0 1|missing char in the lower right) ?'); $o message procedure. ch=',ch); ,exit(program) *end; $until ch=term_ch; $index:=index+1; $read_integer:=n "end; $  begin k('exhaustive_gotoxy_check: first pass not ok'); " ${ now check the first two lines } $y:=0; lineout; { fill in the top two &writeln(error_file); &writeln(error_file, ('***** End Diagnostic; ',error_count,' errors encountered.'); &close(error_file,"i:=1; "l:=length(prompt); "while i<=l do $begin &next:=scan(l-i+1,='|',prompt[i])+i; { next sc_goto_xy } &if next>l then lock); &writeln('Error File "',error_fn,'" closed with ',error_count,' errors.'); $end;  end;   procedure log(s:prompt_str(begin unitwrite(1,prompt[i],l-i+1); i:=l+1 end &else (begin *unitwrite(1,prompt[i],next-i); *if prompt[next]='|' then ,being);  { write string to error logging file. keep track of error count }  begin "if log_errors then $begin &error_count:=egin { parse x and y, perform sc_goto_xy } .i:=next+1; .x:=read_integer(i,' '); .y:=read_integer(i,'|'); .sc_goto_xy(x,y)  lines } $y:=1; lineout; $sc_goto_xy(0,screenheight); $write(' ':screenwidth); $sc_goto_xy(0,screenheight); $message('Are al0,y); $write(testline:screenwidth+1); $sc_goto_xy(x,y); $sc_clr_line(y); l of the above lines the same?'); $ok('exhaustive_gotoxy_check: top line error'); "end; " "procedure it; begin sc_goto_xy(x,$message('|0 0|Is this the only thing on the screen?'); $ok(concat('test_clr_line: didn''t clear enough - ',s));  end; " y); write('*') end; "  begin  sc_clr_screen; "message('|0 0|Does this message also start at the upper-left corner?'); "ok begin "try(45,12,'(45,12)'); "try(0,10,'(0,10)'); "try(screenwidth,3,'(0,Screenwidth)'); "sc_clr_screen; "sc_goto_xy(0,1);('test_gotoxy: sc_goto_xy(0,0) did not go home'); "sc_clr_screen; "for i:=1 to screenheight do writeln; "for i:=1 to screenwi "for y:=1 to screenheight-1 do $begin &write(testline:screenwidth+1); &sc_goto_xy(0,y+1); $end; "sc_goto_xy(10,10); sc_cldth-2 do write(' '); "write('>'); "sc_goto_xy(screenwidth-1,screenheight); "message('*|0 0|Is there a ''>'' immed. followed br_line(10); "message('|0 0|Are there two blocks of "%"s (no gaps or missing chars) ?'); "ok('test_clr_line: Clearing one line y a ''*'' in the lower'); "message('|0 1|right corner?'); "ok('test_gotoxy: sc_goto_xy(screenwidth-1,screenheight) not ok'); affected another');  end;   procedure test_clr_cur_line;  begin  { Is there any use for this????? }  end;   procedur"sc_clr_screen; "sc_goto_xy(0,0); "for y:=0 to 8 do writeln; "message('-------->|9 9|');  y:=9; for x:=9 to 18 do it; "xe test_erase_eol;  { display full line then erase most of it }  var i: integer;  begin  sc_clr_screen; "sc_goto_xy(0,8); :=9; for y:=9 to 18 do it; "y:=18; for x:=9 to 18 do it; "x:=18; for y:=9 to 18 do it; "message('|5 0|Does the box have 10 st"for i:=1 to 20 do write('*'); "write('>'); "for i:=22 to screenwidth do write('$');  sc_goto_xy(21,8); sc_erase_to_eol(21ars per side and start at the arrow?'); "ok('test_gotoxy: box not correctly drawn'); "exhaustive_gotoxy_check;  end;   pro,8); "message('|0 0|Is the line below a series of stars immed. followed by'); "message( ' a right-arrow (''>'')?'); cedure test_clr_screen;  begin  sc_clr_screen; "message('|0 10|Is the screen blank (except for this sentence'); "message(' ok('test_erase_eol: sc_erase_to_eol didn''t work');  end;   procedure test_etoeos;  { Draw a block of characters on the|0 11|and (maybe) the lower-right hand character) ?'); "ok('test_clr_screen: screen not cleared');  sc_clr_screen; "message screen and erase most of them }  var i,y: integer;  begin "sc_clr_screen; "sc_goto_xy(0,4); "for y:=4 to screenheight do ('Does this message start at the upper-left corner?'); "ok('test_clr_screen: cursor not left at (0,0) afterwards');  end;  $begin &{ if last line write out one less star (could force scroll) } &write(testline:screenwidth - ord(y=screenheight) + 1);  procedure test_clr_line;  var i,y: integer;  "procedure try(x,y:integer;s:string); "begin $sc_clr_screen; $sc_goto_xy(&if ysc_not_legal) or ( (key=sc_not_legal) and (ch=compare_ch) ) ); "ok('test_scroll: sc_down at bottom line didn''t scroll');  end;   procedure test_DLE_expansion;  { make sure that DLE fol&if not okch then (begin *message('|0 5|Key typed is not correct.'); *message('|0 6|Do you wish to try typing this key again?nes of ''%''s followed by a line'); "message('|0 1| with just five ''%''s (and maybe a stray character in'); "message('|0 2| lowed by n+32 (where n is the number of blanks), "when sent to the terminal expands properly }  var i,j,start: integer;   the extreme lower-right corner)?'); "ok('test_etoeos: sc_eras_eos didn''t work');  end;   procedure test_home;  begin  dashes,plus: packed array [0..255] of char;  begin "fillchar(dashes,sizeof(dashes),'-'); "fillchar(plus,sizeof(plus),'+'); " sc_clr_screen; "message('|0 0|Is the cursor at the upper-left corner (over the ''I'')?'); "sc_home; "ok('test_home: cursor di:=0; "while i<=screenwidth do $begin &sc_clr_screen; &start:=i; &while (i<=start+9) and (i<=screenwidth) do (begin *{ wridn''t go home');  end;   procedure test_single_vectors; { up, left, right, down }  begin  sc_clr_screen; ite line to be partially blanked } *sc_goto_xy(0,i-start+1); *if i>0 then write(plus:i); *if i+1<=screenwidth then write('<')"message('|15 15|*|0 0|Is the cursor to the right of the star?'); "sc_goto_xy(15,15); sc_right; "ok('test_single_vectors: sc_; *j:=screenwidth-i; *if j>0 then write(dashes:j); ( i:=i+1; (end; &sc_goto_xy(0,1); &{ now blank out all of the '+'s } right didn''t work'); "message('|0 0|Is the cursor to the left of the star?'); "sc_goto_xy(15,15); sc_left; "ok('test_single&for j:=start to i do writeln(chr(DLE),chr(j+32)); &message('|0 0|Are all the lines below a ''<'' followed by ''-''s?'); &ok('_vectors: sc_left didn''t work'); "sc_goto_xy(0,0); sc_clr_line(0); "message('|0 0|Is the cursor just below the star?'); "sc_test_DLE_expansion: expansion not happening properly'); $end;  end;   procedure test_special_keys; goto_xy(15,15); sc_down; "ok('test_single_vectors: sc_down didn''t work'); "message('|0 0|Is the cursor just above the star?') { prompt user to type all of the "interesting keys" }  var ch: char;  "procedure test(s:string; key:sc_key_command; compar; "sc_goto_xy(15,15); sc_up; "ok('test_single_vectors: sc_up didn''t work');  end;   procedure test_scroll;  { ensures the_ch: char); "{ s is the name of the key; key is what should be returned. $If key is sc_not_legal then the character is checkeat a line feed on the bottom line of the screen causes "the screen to scroll up one line }  begin "sc_clr_screen; "write(ted against $ch. } "var okch,bailout: boolean; &returned:sc_key_command; "begin $repeat &sc_clr_screen; &message(concat('P  sc_not_legal, chr(13)); "test('tab', sc_not_legal, chr(9) ); "test('line feed', sc_not_le=low_ch to high_ch do write(ch); $sc_goto_xy(4,5); $ch:=low_ch; $repeat &read(keyboard,input_ch); &if sc_map_crt_command(ingal, chr(10));  end;   procedure test_normal_keys;  { checks that all of the keys can be typed. needs to understand wput_ch)<>sc_not_legal then (error(',|4 8|which is interpreted as a special key.') &else (if ch=input_ch then *begin write(chhether "this is an upper-case keyboard }   var "bad: prompt_string; { contains all non-typeable characters }  ); ch:=succ(ch) end (else *error('') $until ch>high_ch; "end;   begin { check_normal_keys } "bad:=''; "range(' ','O'); "procedure range(low_ch,high_ch: char); "{ tests characters in the range [low_ch..high_ch] } "var $ch,input_ch,gch: char; ""if not lower then $begin range('P','`'); range('{','~') end "else $range('P','~'); "{ whenever a key can't be typed it is  s: string[1]; { place holder for ch -> string conversion } ( $procedure error(s: string); ${ handles incorrectly typed charconcatted to BAD } "if length(bad)>0 then $log(concat('check_normal_keys: Can''t type these: ',bad));  end;    begin { Sacters } $begin &message('|4 7|Bad character. You typed a '''); &if input_ch in [' '..'~'] then (write(input_ch) &else (wcreen_Diagnostic } "initialize; { print welcome message, initialize testline to '%'s } "open_log_file; "test_basic; '); *repeat read(keyboard,ch) until ch in ['Y','y','N','n']; *bailout:=(ch in ['N','n']); *if bailout then ,log(concat('testrite('chr(',ord(input_ch),')'); &message(concat('''',s)); &message('|4 9|Do you wish to try this character again?'); &repeat _keyboard: ',s,' key not correct')); (end; " until bailout or okch; "end; read(keyboard,gch) until gch in ['Y','y','N','n']; &if gch in ['N','n'] then (begin *{ must move character to string variable" { 0 -> never used }  begin  test('up-arrow', sc_up_key, c to match types ,with concat } *s:=' '; s[1]:=ch; bad:=concat(bad,s); *ch:=succ(ch) (end; &{ erase the two lines of error mhr(0) ); "test('down-arrow', sc_down_key, chr(0) ); "test('left-arrow', sc_left_key, chr(0) ); essage } &sc_goto_xy(0,7); sc_erase_to_eol(0,7); &sc_goto_xy(0,8); sc_erase_to_eol(0,8); $ sc_goto_xy(0,9); sc_erase_to_eol("test('right-arrow', sc_right_key, chr(0) ); "test('editor accept (etx)', sc_etx_key, chr(0) ); "test('lin0,9); $ { ... and then go back to the next character to be input } &sc_goto_xy(4+ord(ch)-ord(low_ch),5); $end; " "begin e del', sc_del_key, chr(0) ); "test('DC1', sc_dc1_key, chr(0) ); "test('backspace', $sc_clr_screen; $message('Please type in the following characters|2 1|in the EXACT'); $message(' order shown:|4 4|'); ${ mar sc_backspace_key, chr(0) ); "test('escape', sc_escape_key, chr(0) );  test('return', k the fact that there is a } $if low_ch=' ' then &message('|2 2|Note: The first character is a space|4 4|'); $for ch: MES[1]:='KERNEL '; $DCT_INDEX:=GET_DCT(DCT,SEG_DCT); $WITH SEG_DCT DO $BEGIN &IF (SEG_MISC[DCT_INDEX].SEG_TYPE IN [PROG_SEG,UNIT_SEG]) THEN (PARENT:=SEG_NAME[DCT_INDEX] &ELSE PARENT:=SEG_FAMLY[DCT_INDEX].PROG_NAME; &J:=0; &WHILE GET_DCT(J,SEG_DCT)>=0 DO &BEGIN & FOR I:=0 TO 15 DO *BEGIN ,IF SEG_FAMLY[I].PROG_NAME=PARENT THEN .SEG_NAMES[SEG_INFO[I].SEG_NUM]:=SEG_NAME[I]; ,IF SEG_NAME[I]=PARENT THEN .BEGIN /IF ALIGN_SG_REF THEN 0REPEAT {pickup list} 2GET_SEG_REF(SEG_REF); 2SEG_NAMES[SEG_RM_6502 :WRITEOUT('M_6502 '); . M_6800 :WRITEOUT('M_6800 '); . M_9900 :WRITEOUT('M_9900 '); .END; .WRITE(OUT,SEG_NUM:EF.SEG_NUM]:=SEG_REF.SEG_NAME; 0UNTIL SEG_REF.SEG_NAME=' '; 0SEG_NAMES[SEG_INFO[I].SEG_NUM]:=PARENT; .END; 4); * END; ,WITH SEG_MISC[DCT_INDEX] DO ,BEGIN .WRITEOUT(' '); .CASE SEG_TYPE OF . NO_SEG :WRITEOUT('NO_SEG '); . P& END; (J:=J+16; &END; $END; $IF ((J-1) DIV 16)<>(DCT DIV 16) THEN DCT_INDEX:=GET_DCT(DCT,SEG_DCT); "END; # #  BEGINROG_SEG :WRITEOUT('PROG_SEG'); . UNIT_SEG :WRITEOUT('UNIT_SEG'); . PROC_SEG :WRITEOUT('PROC_SEG'); . SEPRT_SEG:WRITEOUT('S {SEGMTGUIDE} "REPEAT $WRITELN; $WRITE('Segment Guide: A(ll), #(dct index), D(ictionary), Q(uit)'); $READ(CH); $CASE CH OF EPRT_SG'); .END; .WRITEOUT(' '); .IF RELOCATABLE THEN WRITEOUT('R') ELSE WRITEOUT(' '); .IF HAS_LINK_INFO THEN WRITEOUT('L')&'A','a':BEGIN {disassemble all possible segments} 0FOR DCT:=0 TO MAX_DCT_ENTRY DO 2IF ALIGN_SEG(DCT)>=0 THEN 3IF (GETPROCLI ELSE WRITEOUT(' '); .WRITEOUT(' '); .IF (SEG_TYPE IN [PROG_SEG,UNIT_SEG]) THEN 0WITH SEG_FAMLY[DCT_INDEX] DO 2WRITE(OUT,DATST(PROCLIST)>0) THEN 5BEGIN 7GET_SEG_LIST; 7SIZE:=GETWORD(0,VALID,TRUE); 7DUMPDATAPOOL; 7FOR I:=1 TO PROCLIST[0] DO 9BEGIN"test_clr_screen; "test_gotoxy; "test_clr_line; "test_clr_cur_line; "test_erase_eol; "test_etoeos; "test_home; "test_sinA_SIZE:6,SEG_REFS:5,HI_SEG_NUM:4,TEXT_SIZE:3) .ELSE WRITE(OUT,'''',SEG_FAMLY[DCT_INDEX].PROG_NAME,''''); * END *END gle_vectors; { up, left, right, down }  test_scroll; { make sure LF at bottom line scrolls screen } "test_DLE_expansion; "t(ELSE WRITE(OUT,' ':46,'NO_SEG'); (WRITELN(OUT); &END; $WRITELN(OUT,'(C):',SEG_DCT.COPY_NOTE); $LIST_SEX; "END;    est_special_keys; { test arrows, etx etc. } "test_normal_keys; { test ' '..'~' } "close_log_file;  end.  PROCEDURE GET_SEG_LIST; "{ "2 Pickup segment reference list for parent segment, if in dictionary. "} "VAR J,I:INTEGER; (SEG_REF:SEG_REF_REC; " PARENT:NAMETYPE; "BEGIN $FILLCHAR(SEG_NAMES,SIZEOF(SEG_NAMES),' '); {clear out segnames} $SEG_NA  0WHILE (CH=' ') AND (GET_DCT(DCT,SEG_DCT)>=0) DO 0BEGIN 2LIST_DIRECTORY(LISTFILE); 2DCT:=DCT+DCT_SIZE; 2IF (SEG_DCT.NEXT_PTFILE,LOCK); {$I+}  END. AGE<>0) THEN 4BEGIN 5WRITE('Type space for next page, anything else to Quit'); 5READ(CH); WRITELN; 4END 2ELSE CH:=CHR(0); 0END; 0CH:=CHR(0); .END; 4 &'0','1','2','3','4','5','6','7','8','9': {variety is the spice of life} .BEGIN 0DCT:=ORD(CH) - ORD('0'); 0READ(CH); WRITELN; 0IF CH IN ['0'..'9'] THEN 2DCT:=DCT*10 + ORD(CH) - ORD('0'); 0DCT_INDEX:=ALIGN_SEG(DCT); 0IF DCT_INDEX>=0 THEN PROCCOUNT:=GETPROCLIST(PROCLIST) 2ELSE PROCCOUNT:=0; 0IF PROCCOUNT>0 THEN 0 BEGIN 4GET_SEG_LIST; 4SIZE:=GETWORD(0,VALID,TRUE); 3 PROCGUIDE; 2END 0ELSE 2BEGIN 2 WRITELN; 4WRITELN('dictionary entry',DCT:3,' is empty'); 2 PROMPT; 2END; 0CH:=CHR(0); .END; &END; {case} "UNTIL (CH IN ['Q','q']);  END;    BEGIN {main program} IVDCODE "INIT; "REPEAT $REPEAT {reset input file} &WRITE('input file: '); &IF SAVENAME<>'' THEN WRITE('[',SAVENAME,'] '); &READLN (LISTNAME); &IF LISTNAME='' THEN LISTNAME:=SAVENAME; $UNTIL (PCODERESET(LISTNAME)=0) OR (LISTNAME=''); $SAVENAME:=LISTNAME; €€€€€€€€€€€€€€€€ $IF LISTNAME<>'' THEN &BEGIN (REPEAT {rewrite output file} *WRITE('listing file [CONSOLE:] '); *READLN(LISTNAME); *IF LISTïØïØhþÊIT<´<ªGòGò8FïòêþrGòGî1z=NAME='' THEN LISTNAME:='CONSOLE:'; *{$I-} CLOSE(LISTFILE,LOCK); REWRITE(LISTFILE,LISTNAME); {$I+} (UNTIL IORESULT=0; IVDCODE  ?B†U‚€Å†‚€ ëP sš‚€ �t pštp–pštpš‚€�t pš`t p € Òóštp–ž$h#ji!"³Ô(CONSOLE:=(LISTNAME='CONSOLE:') OR (LISTNAME='#1:'); (IF LISTNAME<>'' THEN SEGMTGUIDE; & WRITELN; WRITE(' Continue? '); RE†€Ý†U`!ËîØÉ˧up!îiŠÞ–’ke€ p‡‡£¤j"/²Õ±‡"¢`ri#³Ô:†€Ý€ up†€Ýet p†€Ýtpke€ p†€Ý"tp†€Ý‚€,� ;PROCMAX(I,MAX_OFFSET); ;DUMPPROC(PROCLIST[I],MAX_OFFSET); 9END; 5END; 0PROMPT; .END; &'D','d':BEGIN 0DCT:=0; CH:=' ';AD(CH); WRITELN; &END $ELSE CH:='N'; "UNTIL (CH='N') OR (CH='n');  IF (LISTNAME<>'') AND NOT CONSOLE THEN {$I-} CLOSE(LIS ÿË`rÒ %"Œ£ÄŠ%­Œ£ÄŠ%­Œ£Ä–¹)`„*¬P†€Ý`˜t p–+‹štpštp†‚z®Ë×xi!²Ÿ†‚j®Ë×ɰ¡Õ††€Ýtp‚�T�ï †Š'‚ƒk��Š‚ƒp��Š‚ƒu��Š ‚ƒz��ŠÖƒ‚ƒ‰��!ÉŠQ‚ƒ‹��ŠK‚ƒ���ŠB‚ƒ•��Š9‚ƒš��Š0‚ƒŸ��Š'‚ƒ¤��Š‚ƒ©��Š‚ƒ®��Š ‚€Ý†‚*®Ë×t p†€Ýtp†‚š®Ë×{h!! ¢î¤�i!‡�²Ô9›b!upÒ†€Ýb��t pŠš‚�b�t pštp!íiŠÀ†€ÝtpŠš‚�o�ƒ³��ŠÖƒ¸#!Étp†‚j­Ë×i‚ƒÃ��!ÉŠ-‚ƒÄ��Š'‚ƒÉ��Š‚ƒÎ��Š‚ƒÓ��Š ‚ƒØ��Šփ݂ƒä��! ÉÔ ‚ƒå��Š‚ƒæ��!ÉÔ t p!‘†€Ý€ up!ldɲŸdÉ€~³Ÿ¡Ô e#ËdÉÈŠe#Ë€-ÈdɲŸdÉ€~³Ÿ¡Ô e#íËdÉÈŠ e#íË€-È#¢k"íj‹Iÿí#£�Œíj†€Ý€ "upt pštp–� štpštpr Ôg†€Ýtp‚�|�ï †€Ý†‚*®Ë×t p†€Ýtpm`r `‚�޹ñ)†€Ý$tp†€Ý‚�’�t p†€Ý`t p†€Ýt†€Ýet p†€Ýtp–€štperier†]€ÿ˧£j†‚ ­Ë×xh†€Ýtp†€Ý‚€.�t p†€Ý†‚*­Ë×t p†€Ýtp†€Ý‚€<�t p†€ÝpŠm%ÔÅŠš‚�”�t pštp– f štpštpr Õ†€Ýtp‚�©�ï †€Ý†‚*®Ë×t p†€Ýtp`r †€Ý`t p$‹Í‚�¹�ï ‹Æ†€Ý tp†€Ý‚€@�t p†€Ýtp �†€Ýtp†€Ý‚€S�t p†€Ý !��¢tp†€Ý‚€W�t p†€Ý!��Œtp†€Ý‚€_�t p†€Ý!!¢tp†€Ýtp!"�‚�¾�t p†€Ý%tp‹­†€Ý‚�Ã�t p†€Ý%tp†€Ý‚�Î�t p†€Ý&tp‹~†€Ý‚�Õ�t p†€Ý%tp†€Ý‚�ß�t p†€Ý&tp‹O$Š$‚�å�ï Š–�†€Ýtp­Šb†€Ý‚€f�t p†€ÝtpŠO†€Ý‚€v�t p†€ÝtpŠ9†€Ý­tp†€Ý‚€‰�t p†€ÝtpІ€Ý‚€˜�t p†€ÝtpŠÖ€¡†€Ý‚€§�t‚�ê�ï Š‚�ï�ï Š ‚�ô�ï ŠÖ�ù†€Ý‚�ÿ�t p†€Ý%tp†€Ý‚‚�t p†€Ý&tp†€Ý‚‚ �t p'Ô ‚‚�ï Š‚‚�ï ‹Ö$Š$‚‚�ï Š‚‚�ï  p†€Ý†‚*®Ë×t p†€Ý‚€¬�t p†€Ý­tp†€Ý‚€²�t p†€Ýtp1ñKš‚€Ë�t pš†‚*®Ë×t pš‚€Ð�t pš­tpš‚€Š‚‚�ï Š ‚‚#�ï ŠÖ‚(‚‚.�ï %Š‚‚3�ï Š‚‚6�ï Š ‚‚9�ï ŠÖ‚;‚‚@�ï †€Ý&tp$Ò†€Ý‚‚D�t p†€Ý'tp&¤ І€Ý`Ë×xtp&îÖ�t pštp–a‡€ÿËdrh °Õ¸1ñKš‚€ï�t pš†‚*­Ë×t pš‚€û�t pš‡tpš‚��t pštp†€Ýtp†€Ý‚¤ ¤ )¤ ¤ *+²Ô.(³Ô†€Ýtp¤ `r Š(í¤ †€Ý`*Ë×xtp*í¤ ŠÍŠÖ‚I†€Ýtp$°ÕþŠš‚‚W�t pštp– ¾štpštpš‚‚f��t p†€Ý†‚*­Ë×t p†€Ý‚� �t p†€Ý‡tp†€Ýtp†€Ý‚��t p†€Ý(tp†€Ý‚��t p†€Ý'tp†€Ý‚��t p†€Ý&&¢tp†€�t pš­tpš‚‚k�t pš†‚*­Ë×t pštpš‚‚w�t pštpš‚‚“�t pš`t p ‹Äï†]€ÿ˧kj"#²Ô"ˆï †]"Ýtp†€Ý‚�$�t p†€Ý%tp†€Ý‚�*�t p†€Ý$tp†€Ýtp†€Ý‚�0�t p†€Ý€ up†€Ý‚�6�t p†€Ýtp„ r‡$Ò†€Ý‚�;�t p†€Ýtp€ÿ˧­ï"íjŠä‘‹™� ‹”ï‹��‹Š�‹… €0£iš`t p ƒ‚´ÚÔ$! Œ ¢€0£iš`t p ƒ‚¸ÚÔ ! Œ ¢€0£ihštp!²Ÿ!­²¡Ô&j"†]€ÿˆ€Ý‡tp†€Ý€(up‡‘†€Ý‚�B�t p†€Ý„ t p„ɋ݀ up‹å„É€Šâ¼€‹â¼Û€Ò€Õ¼Û€ñâ¼ÛÚÔ‡¤†€Ý‡tp†€Ý€ up‹®„§²†]"€ÿ˧!±¡Ô"íjŠä"ˆï Ц!­ï‘ŠÖ‚¼ ƒƒÚÕµþštp– Ò)`„*¬P­`˜t p–+ …ƒ h‚ƒ �ï`Ë§Ó ‚ƒ �ƒ�ï­‚ƒÉ€“â¼€”â¼Ûƒ�EÛÚÔ †€Ý†ƒ ‡€ÿË×t p†€Ý‡tpІ€Ý‡tp†€Ý‡tp†€Ý€ upŠV„É€•Ò †€Ý†ƒ ‡€ÿË×t p†€Ý‡tpІ€�t p­…‚Útp­tp–®#tp#tp‚ƒ&��#‚ƒE�t p#tp#€ € number of procs in segmentIO error on fileeÿ›ÿ±ÿÇÿçsegment procedure0 not available in P-Code formÿëÿô NO_SEG PROG_SEGGUNIT_SEGGPROC_SEGGSEPRT_SGGÿÐÿÙÿâÿëÿô R L  NO_SEGG(C)::KERNEL 8Segment Guide:  for disassembly....segment procedure0 not available in P-Code form for disassembly.... Disassembling segment procedureA(ll), #(dct index), D(ictionary), Q(uit))/Type space for next page, anything else to Quitÿdictionary entryy is empty0‚ƒç��Š‚ƒè��‚ƒé��!ÉÚÔ-†‚š­Ë×j#"xtp#"ytp#"ztp#"{tpŠ!#€'up#†‚š­Ë×t p#€'upŠ#€ €.up#‚ƒê�  .... Segment: Procedure::Block:: Block offset: Seg offset: Data size:: Exit IC:: OffsetHex codee exit codet p#tp­í¦‹Ìý#‚ƒî�t p#†‚â˜t p#tp�–Ë †ƒ �€ p†ƒ €ÿËׂƒñÅ­€Oˆ‚ r¦†‚j­Ë×ÉÚÔg†‚*­Ë×ÅŠ::): ÿÿÿÿÿRÿªInterface text for segment trouble reading interfaceno interface text to list#Segment rg†‚š­Ë×Åi!€Oˆ‚ r³Õ’¤ h +²Õ€†‚š Ë×g¹Ô!†ƒ †‚Š Ë×É€ÿË׆‚* Ë×ņ‚* Ë×g¹Ô9r Ôbr †ƒ &€ÿË×bÅeference list for segment : )no segment reference list in this segmentLinker information for segment  EOFMARKK CONSb‚ƒõ¹Ô冃 †‚Š Ë×É€ÿË×gÅ íh‹zÿ!¢i‹^ÿ!î�­�Ó­€Oˆ‚ r¦– 1 štpš‚ƒù�t pšgt p'‹1€O¤ i!(²ÔJ!TDEF PUBLDEF baseoffset== pubdataseg== GLOBDEF homeproc== icoffset== EXTPROCC EXTFUNCC SEPPROCC SEPFUNCC ÿÙÿâÿëÿô sr€OËr³Ô9†]r²ñ0�frj�†]€ÿ˧¤ l$)²Ô$`� †]$€ÿ˧ �$ílŠç!íiб‘‹Úi€ o'€ °!€Oˆ‚ r³¡Ô1†€Ý�!¢i…‚ÚÓš‚„�t pcproc= nparams= koolbit=TRUEEFALSE GLOBREFF PUBLREFF PRIVREFF CONSTREFÿÙÿâÿëÿô format==WORDDBYTEEBIGÿâÿëÿô šgt pštpŠoŠ»o‹‹'€0£išgt pštp'ƒ„.ÚÔ ! Œ'¢€0£i!€OËrk#³Ô†]rmŠm%²ñ �frj� Š3štpš‚„2�t pnrefs= nwords== þ0ÿ*ÿ*ÿ*ÿ*þ‚þSþ:þ±þ±þ±þ±no linker information to list There are procedures in segment 7Procedure Guide: A(š!tpš‚„;�t pštp‘oŠÖ„@'ƒ„wÚÕ¡þ– u†€Ý†‚ v‘š‚„�t p†‚„†èñ"š€[upš†˜t pš‚„‡�t pš†ll), #(of procedure), L(inker info),@ C(onstant pool), S(egment references), I(nterface text), Q(uit))ÿÿ0sÿ{ÿ{ÿ{,€Pt pšt p†,‚„‰èÔ†,†ëP†,˜r°†,‚„Šè Ô‘††,ëP†,‚„‹èŸÕŒš‚„Œ�t pš†,€Pt pšt p†,‚„™èÔ†,‚„šëP†€Ýv†€Ý†ÿ{ÿ{ÿ{ÿ{ÿ{ÿ{ÿ{ÿ9ÿlÿgÿvÿqÿ9ÿlÿgÿv  { }  {================================================ µIVMDCODE ========================}   CONST MAX_DCT_PAGE = 4; {maximum dictionary pages} (MAX_DCT_ENTRY = 79; {maximum dic tionary entries} (DCT_SIZE = 16; {dictionary entries per page}  TYPE (BYTERANGE=0..255; {range of byte values}€€€€€€€€€€€€€€€€7  (PROCRANGE=0..255; {range of valid procedure numbers} (DCT_PAGE_RANGE=0..15; {range of possible segment dictionary enððhþÊITË<´ë$<ªGòGò8Fð*êþrGòGî1z=tries} (DCT_RANGE=0..MAX_DCT_ENTRY; {range of dictionary entries} ( (NAMETYPE=PACKED ARRAY[0..7] OF CHAR; {identifier name  {========================================================================}  { } ( ({pcode types - describing operand format} ,PCODETYPE=(INVALID,NO_OPERANDS,ONE_OPERAND,TWO_OPERANDS, 8THREE_OPERANDS);  }  { I V . 0 D E C O D E R M O D U L E }  { ( ({pmachine versions} ,VERSION_TYPE=(UNKNOWN,II_0,II_1,III_0,IV_0,V,VI,VII); , ({machine types} ,M_TYPES=(M_PSUEDO,M_6809, }  { Author: Bill Franks M_PDP_11,M_8080,M_Z80,M_GA_440, 6M_6502,M_6800,M_9900); 6 ({segment types} dÿuÿuÿuÿuÿuÿuÿuÿuÿuÿuþÌÿ&þÌÿ& inp}  { Version: IV.0 [a.3] Date: Feb. 18, 1981 }  { ut file: ] listing file [CONSOLE:] CONSOLE::CONSOLE::#1: Continue? YëáÈ_T53BÊQËè:#  }  { This module is an attempt at providing a USEable, flexible }  { interface to ›FILEOPS EXTRAIO PASCALIOGOTOXY IVMDCODE compiled P-CODE files and the ease of their }  { dissection.  }  { }  { copyright (c) 1980 SofTech Microsystems }  k} 8END; , SEG_NAME: ARRAY[DCT_PAGE_RANGE] OF NAME_TYPE; {segment names} , SEG_MISC: ARRAY[DCT_PAGE_RANGE] OF PACKED RECORDnds, if valid} 0END_OF_PROC :BOOLEAN; {does this pcode end procedure?} 0BYTE_ARRY {the literal pcode sequence}  8 SEG_TYPE:SEG_TYPES; {segment type} :FILLER:0..31; {reserved for future use} :HAS_LINK_INFO:BOOLEAN; {need to be linked?} <:PACKED ARRAY [0..7] OF BYTERANGE; 0NUM_BYTES, {number of bytes parsed} 0PROC_OFFSET, {proc offset o:RELOCATABLE:BOOLEAN; {segment relocatable?} 8END; .SEG_TEXT: ARRAY[DCT_PAGE_RANGE] OF INTEGER; {start blk of text} .SEG_INFf pcode in bytes} 0SEG_OFFSET, {seg offset of pcode in bytes} 0OPERAND1, {operands to pcode as needeO: ARRAY[DCT_PAGE_RANGE] OF PACKED RECORD 8 SEG_NUM:0..255; {local segment number} :M_TYPE:M_TYPES; {machine type} :FILLER:0d} 0OPERAND2, 0OPERAND3 :INTEGER; .END;  (SEG_REF_REC=RECORD 0SEG_NAME:NAMETYPE; 0SEG_NUM:INTEGER; .END; . (LITYPE..1; {reserved for future use} :MAJOR_VERSION:VERSION_TYPE; {pmachine version} 8END; .SEG_FAMLY:ARRAY[DCT_PAGE_RANGE] OF S=(EOFMARK,GLOBREF,PUBLREF,PRIVREF,CONSTREF,GLOBDEF,PUBLDEF, 0CONSTDEF,EXTPROC,EXTFUNC,SEPPROC,SEPFUNC); 0 (LIENTRY=RECORD CA:RECORD CASE SEG_TYPES OF (TEXT_SIZE, {size in blocks of interface text} SE BOOLEAN OF 0TRUE:(WRDS:ARRAY[0..7] OF INTEGER); 0FALSE:(NAME:PACKED ARRAY[0..7] OF CHAR; 7CASE LITYPE:LITYPES OF 9GLOBREF>HI_SEG_NUM, {number of segments in file} >SEG_REFS, {segment reference list size} >DATA_SIZE:INTEGER); {data size} (PROG_NAME:NAME_TYPE); {parent segment's name} :END; .NEXT_PAGE:INTEGER; {next page of dictionary} .FILLER: SRCPROC:INTEGER; ÅŠ ­�z‘ć�ç‡�{‘Ä!íiŠ –�~ák"�h†3 Ë×x³ÔJ†3 Ë×x…)Ó††8†3 Ë×xrÓp†3 Ë×x¥)†8!�p!æ€ÿÓ�"�k–‚�BÅŠÖ�F– �­‹­‚�lÅ‹û­‚�pÅ‹ð­‚�tŋ孂�xŋڭ‚�|ŋϭ‚�€Å‹Ä­‚�„Å‹¹­‚�ˆÅ‹®­‚�ŒÅ‹£­‚��ÅÂájá¥+¥1…0!�Ó!€Oˆ‚8‘¥+Š!�¥+…+³Ô…)¥0…+j`‘�°¥2–jV„.„W¬P†s†„.˜spÓ†jb„.˜€Ptb‚€�€Utb˜s†3‹˜­‚�”Å‹�­‚�˜Å‹‚­‚�œÅ‹w­‚� Å‹l­‚�¤Å‹a­‚�¨Å‹V­‚�¬Å‹K­‚�°Å‹@­‚�´Å‹5­‚�¸Å‹*­‚�¼Å‹­ €ÿppÒJih††‚8 rÒ+†3!Ë× Ć‚8æ€ÿÓ †‚8æ€Ð‘hІ‚8æ€Ðh!íiŠh °!²Ÿ Ôºp¤Yá¥0á¥+¥1á¥)–X• ¤� …+³Õ†‚8ç`‚�ÀÅ‹­‚�ÄÅ‹ ­‚�ÈÅ‹þ­‚�ÌÅ‹ó­‚�Ðŋ譂�Ôŋݭ‚�ØÅ‹Ò­‚�Üŋǭ‚�àÅ‹¼­‚�äÅ‹±­‚�èÅ‹¦­‚�ìÅ‹…+Ë×ÉÚÕg‘m%g‘h'Õó„ �p ¤� l$‡� ²Ô%‡� $€ÿË$€ÿËÈ„ $€ÿË×%$£g‘Ä$ílŠÔj�ÿik" ¤� l$‡� ²Ô/„ $€ÿË×x!³Ÿ„›­‚�ðÅ‹�­‚�ôÅ‹…­‚�øÅŠ{­‚�üÅŠq­‚‚ÅŠg­‚‚ÅŠ]­‚‚ÅŠS­‚‚ ÅŠI­‚‚ÅŠ?­‚‚ÅŠ5­‚‚ÅŠ+­‚‚ÅŠ!­‚‚ k#yŒ%²Ÿ%³¡ÔY%i#x%��¢h%���m$Ä …)Ó††8 rpÒ ¥)Š$Ć8%€ÿË×xj!Ô b˧€ÿËnŠ b˧€ÿËn–Ej…+³ÔO†‚8ç`…+Ë IND INC EQSTR LESTR GESTR ASTR CSTR INCI DECI SCIP1 SCIP2 TJP LDCRL LDRL STRL CNTRL ×ÉÚÔ;†‚8…+Ë×i!yh ¢��¥,¥1!x ��¢¥/††�8…/rpÒj¥1–Õ" € p"çÄ…1Òx†�8…,�ÿË" p…, ¢¥,…,�ÿ²ñ?…/í¥/ EXPRL Çöýúþþþþ&þ1þ<þGþRþ]þhþsþ~þ‰þ”þŸþªþµþÀþËþÖþáþìþ÷ÿÿ ÿÿ#ÿ.ÿ9ÿDÿOÿZÿeÿpÿ{ÿ…ÿ�ÿ™ÿ£ÿ­ÿ·ÿÁÿËÿÕÿßÿéÿóÿÿÿÿINVALI††�8…/rpÓ¥1 p…,�£¥,…,²ñ†�8" …,£…,pŠ¥,"i!|h!ç`˧Ä"‚ƒ¹Ô¥1–?j…+³Ô[†‚8ç`…+Ë×ÉÔJ†‚8…+Ë×hD ÿÿÿÿÿÿÿÿÿÿÿÿSLDC SLDL SLDO SLLA SSTL SCXG SIND €òþÃÿŒÿÿnÿÿÿÿÿ7ÿ7þÃÿŒþÃþÃþÃÿÿÿÿ¸ÿ†‚8ç€�…+Ë×i x y!y¢€ÿ¢��¢¥/¥,¥1††�8…/rpÒj¥1¥*– #p…1°Õ¶…,�ÿ²ñ"…/í¥/††�8…/rpÓ¥1 p¥,†�8þÃÿ7ÿ7ÿÿÿ7ÿÖÿþÃÿÿÿOÿOÿOÿ7þÃþÃþÃþÃþÃÿŒÿÿÿ�ÿ˧€ÿËi ç æˆ�8…,�ÿ˧€ÿËÈ ç æíÄ…,í¥,….í¥.– cïh €²ña €¡€ÿËÊaï€ÿËÊ!jŠ j– ‚`ï€ÿËÊ`ï€ÿËÊ…,�ÿË#p…,¢¥,#i…2Ô!jh "²Ô! Ë×! Ë×x‘Ä íhŠã…*²ñ)jh "²Ô! Ë×! Ë×x‘Ä íhŠã…*£¥*Š!!|ÚÔ!|Ò!~¥*Š!~î¥*Š i– È#p…1°Õ3#i!ç ….Ä!ç …-….¢Ä!ç�€ÿËÊ!çÉ€€€ö¼ÚÔ !çÉ!�!çÉ€ªâ¼€¯â¼Û€÷€ÿ¼Ûƒ‚^ÛÚÔ!çÊ!‚‚dÅ‹´!çÉ!|Ò¥1–*††�-ásá¥0á¥+¥1á¥)u†s–.CODELDCB LDCI LCO LDC LLA LDO LAO LDL LDA €Œâ¼€�â¼Û€�â¼Û€—â¼Û€˜â¼Û€œ€£¼Û€§â¼Û€¨â¼Û€°€¸¼Û€¼€Ä¼Û€Æâ¼Û€È€Ï¼Û€Ñâ¼Û€Ú€å¼Û€ì€î¼Û€ó€ö¼Ûƒ‚hÛÚÕ!çÉ€€³ŸÕð!çÊ!çÉ€ ³ñ LOD UJP UJPL MPI DVI STM MODI CPL CPG CPI CXL CXG CXI RPU CPF LDCN!‚‚pÅ!ç !çÉÄ‹È!çÉ€/²Ô!‚‚tÅ!ç !çɣċ§!çÉ€?²Ô!‚‚xÅ!ç !çÉ€/£Ä‹…!çÉ€g²Ô!‚‚|Å!ç !çÉ€_£ÄŠd!çÉ€o LSL LDE LAE NOP LPR BPT BNOT LOR LAND ADI €¢þ‰þ”þŸþªþµþÀþËþÖþáþìþ÷ÿÿ ÿÿ#ÿ.ÿ9ÿDÿOÿZ²Ô!‚‚€Å!ç !çÉ€g£ÄŠC!çÉ€w²Ô$!‚‚„Å!çÊ!ç !çÉ€o£Ä!ç �ÄŠ!‚‚ˆÅ!ç !çÉ€x£ÄŠ!çÊ‹F!çÉ‹:!çÊ!ç �Ä!ÿeÿpÿ{ÿ…ÿ�ÿ™ÿ£ÿ­ÿ·ÿÁÿËÿÕÿßÿéÿóSBI STL SRO STR LDB NATIVE NAT-INFOINVALID CAP CSP SLOD1 SLOD2 INçÉ€Šâ¼€Ò€Ô¼Û€ñâ¼ÛÚÔ"!æ €²ñ!ç ….�£!æ ¢ÄŠ !ç ….!æ ¢Ä‹ò!çÊ!ç �Ä‹á!çÊ!ç �Ä!ç �Ä‹É!çÊ!ç �Ä!ç �Ä‹±!çVALID EQUI NEQI LEQI GEQI LEUSW GEUSW EQPWR LEPWR GEPWR EQBYTE LEBYTE GEBYTE SRS SWAP TRUNC ROÊ!ç �Ä!ç �Ä!ç �Ä‹’!çÊ!ç �Ä!ç �Ä!ç �ÄŠt!çÊ!ç �Ä!çÉ€‹â¼€Õâ¼ÛÚÔ !ç ….!æ ¢ÄŠH!çÊ!ç �Ä!ç �Ä!ç �UND ADR SBR MPR DVR STO MOV DUP2 £Æþ~þ‰þ”þŸþªþµþÀþËþÖþáþìþ÷ÿÿ ÿÿ#ÿ.ÿ9ÿDÿOÿZÿeÿpÿ{ÿ…ÿ�ÿ™ÿ£ÿ­ÿ·ÿÁÄŠ*!çÊ!ç �Ä!æ jh "²Ô !ç �Ä íhŠïŠÖ‚Œ!ç !çÉ€–°Ê!ç ÉÔ¥1–Q#Ä…+³Ôz†‚8ç`…+Ë×ÉÚÔf†‚8…+Ë×i!y$²Ÿ$³¡ÔÿËÿÕÿßÿéÿóADJ STB LDP STP CHK FLT EQREAL LEREAL GEREAL LDM SPR EFJ NFJ FJP FJPL P!x$��¢h$��l#Ä …)Ó††8 rpÒ ¥)Š#Ä"…2¡Ô†8$€ÿË×x‘mŠ †8$€ÿË×xm–ç$Ä…+³Õ…†‚8ç`…+Ë×ÉÚÔq†‚8…+Ë× XJP IXA IXP STE INN UNI INT DIF SIGNAL WAIT ABI NGI DUP1 ABR NGR LNOT   ´IVMDCODE™6"i`aÉ€ÿËÊ`aÉ€ÿËÊ k–b†8Å�¤�i!‡�²Ôb!€ÿË×b!€ÿË×x‘Ä!íiŠß€`€�¤�i!‡�²Ôb!€ÿË× ­‚€âÅ‹þ­‚€æÅ‹ó­‚€êŋ譂€îŋݭ‚€òŋҭ‚€öŋǭ‚€úÅ‹¼­‚€þÅ‹±­‚�Å‹¦­‚�Å‹›­‚� Å‹�­‚�b!€ÿË×x‘Ä!íiŠßb­�p­¤�‡�ç€Ð‡�æ€Ð‘Ĥ�i!‡�²ÔY‡�ç`!Ë×ÉÚÔA‡�ç€�!Ëפ�‡�‡�x‘ć�ç‡�y‘ć�ç‡Å‹…­‚�ÅŠ{­‚�ÅŠq­‚�ÅŠg­‚�ÅŠ]­‚�"ÅŠS­‚�&ÅŠI­‚�*ÅŠ?­‚�.ÅŠ5­‚�2ÅŠ+­‚�6ÅŠ!­‚�:ÅŠ­‚�>ÅŠ ­�z‘ć�ç‡�{‘Ä!íiŠ –�~ák"�h†3 Ë×x³ÔJ†3 Ë×x…)Ó††8†3 Ë×xrÓp†3 Ë×x¥)†8!�p!æ€ÿÓ�"�k–‚�BÅŠÖ�F– �­‹­‚�lÅ‹û­‚�pÅ‹ð­‚�tŋ孂�xŋڭ‚�|ŋϭ‚�€Å‹Ä­‚�„Å‹¹­‚�ˆÅ‹®­‚�ŒÅ‹£­‚��ÅÂájá¥+¥1…0!�Ó!€Oˆ‚8‘¥+Š!�¥+…+³Ô…)¥0…+j`‘�°¥2–jV„.„W¬P†s†„.˜spÓ†jb„.˜€Ptb‚€�€Utb˜s†3‹˜­‚�”Å‹�­‚�˜Å‹‚­‚�œÅ‹w­‚� Å‹l­‚�¤Å‹a­‚�¨Å‹V­‚�¬Å‹K­‚�°Å‹@­‚�´Å‹5­‚�¸Å‹*­‚�¼Å‹­ €ÿppÒJih††‚8 rÒ+†3!Ë× Ć‚8æ€ÿÓ †‚8æ€Ð‘hІ‚8æ€Ðh!íiŠh °!²Ÿ Ôºp¤Yá¥0á¥+¥1á¥)–X• ¤� …+³Õ†‚8ç`‚�ÀÅ‹­‚�ÄÅ‹ ­‚�ÈÅ‹þ­‚�ÌÅ‹ó­‚�Ðŋ譂�Ôŋݭ‚�ØÅ‹Ò­‚�Üŋǭ‚�àÅ‹¼­‚�äÅ‹±­‚�èÅ‹¦­‚�ìÅ‹…+Ë×ÉÚÕg‘m%g‘h'Õó„ �p ¤� l$‡� ²Ô%‡� $€ÿË$€ÿËÈ„ $€ÿË×%$£g‘Ä$ílŠÔj�ÿik" ¤� l$‡� ²Ô/„ $€ÿË×x!³Ÿ„›­‚�ðÅ‹�­‚�ôÅ‹…­‚�øÅŠ{­‚�üÅŠq­‚‚ÅŠg­‚‚ÅŠ]­‚‚ÅŠS­‚‚ ÅŠI­‚‚ÅŠ?­‚‚ÅŠ5­‚‚ÅŠ+­‚‚ÅŠ!­‚‚ $€ÿË×x²Ÿ¡Ô „ $€ÿË×xi$k$ílŠÊ#²ñQ#‡� "€ÿ˧ÓB‡� #€ÿ˧n‡� #€ÿˇ� "€ÿ˧€ÿËÈ„ #€ÿËׄ "€ÿË×xć� "€ÿË&€ÿËÈ"íj#°" ²Ÿ Õ ÅŠ­‚‚$ÅŠ ­‚‚(ÅŠÖ‚,– º!€¢²Ô�Š !€Æ²Ô�Š�– 6­h…,�ÿ²ñ0…/í¥/††�8…/rpÓ çÊ ç Ê¥1p¥,†�8…,ÿ7ÿÿÿÿÿÿþÃþÃþÃÿ 4ßÈ@Ñ "í¥v+æCÍ7Á�ã‡*** STRINGOPFI]ÿ‡� €ÿË"î€ÿËÈ ¤� –� |& p¤ …+³ÕІ‚8ç`…+Ë×ÉÚÕ¸d‘k#d‘h$Õ¡'²Ÿ' ²¡Õ‘&m#'£d‘j"²Ÿ"#³Ÿ¡Ôv"팥-†‚8…+LEOPS EXTRAIO  Ë×x…-��¢¥/…-��¥,¥.%ç…/Ä%ç…,Ä%ç"íÄ%"îd‘Ä%x""¢³ñ%""¢Ä%ç"d‘Ɔ�8…/rpÒ¤ ¥1Ф Ф Ф Ф Ф –þ µ IVMDCODEIVDCODE ­‹t­‚€Å‹l­‚€ Å‹a­‚€ Å‹V­‚€Å‹K­‚€Å‹@­‚€Å‹5­‚€Å‹*­‚€!Å‹­‚€%Å‹­‚€)Å‹ ­‚€-Å‹þ ­‚€1ŋ󭂀5ŋ譂€9ŋݭ‚€=ŋҭ‚€Aŋǭ‚€EÅ‹¼­‚€IÅ‹±­‚€MÅ‹¦­‚€QÅ‹›­‚€UÅ‹�­‚€YÅ‹…­‚€]Å€€7  Š{­‚€aÅŠq­‚€eÅŠg­‚€iÅŠ]­‚€mÅŠS­‚€qÅŠI­‚€uÅŠ?­‚€yÅŠ5­‚€}ÅŠ+­‚€�ÅŠ!­‚€…ÅŠ­‚€‰ÅŠ ­‚€�ÅŠÖ€‘–‹­‹­‚€¶Å‹w­‚€ºÅ‹l­‚€¾Å‹a­‚€ÂÅ‹V­‚€ÆÅ‹K­‚€ÊÅ‹@­‚€ÎÅ‹5­‚€ÒÅ‹*­‚€ÖÅ‹­‚€ÚÅ‹­‚€ÞÅ‹ !‚‚pÅ!ç !çÉÄ‹È!çÉ€/²Ô!‚‚tÅ!ç !çɣċ§!çÉ€?²Ô!‚‚xÅ!ç !çÉ€/£Ä‹…!çÉ€g²Ô!‚‚|Å!ç !çÉ€_£ÄŠd!çÉ€o LSL LDE LAE NOP LPR BPT BNOT LOR LAND ADI €¢þ‰þ”þŸþªþµþÀþËþÖþáþìþ÷ÿÿ ÿÿ#ÿ.ÿ9ÿDÿOÿZ²Ô!‚‚€Å!ç !çÉ€g£ÄŠC!çÉ€w²Ô$!‚‚„Å!çÊ!ç !çÉ€o£Ä!ç �ÄŠ!‚‚ˆÅ!ç !çÉ€x£ÄŠ!çÊ‹F!çÉ‹:!çÊ!ç �Ä!ÿeÿpÿ{ÿ…ÿ�ÿ™ÿ£ÿ­ÿ·ÿÁÿËÿÕÿßÿéÿóSBI STL SRO STR LDB NATIVE NAT-INFOINVALID CAP CSP SLOD1 SLOD2 INçÉ€Šâ¼€Ò€Ô¼Û€ñâ¼ÛÚÔ"!æ €²ñ!ç ….�£!æ ¢ÄŠ !ç ….!æ ¢Ä‹ò!çÊ!ç �Ä‹á!çÊ!ç �Ä!ç �Ä‹É!çÊ!ç �Ä!ç �Ä‹±!çVALID EQUI NEQI LEQI GEQI LEUSW GEUSW EQPWR LEPWR GEPWR EQBYTE LEBYTE GEBYTE SRS SWAP TRUNC ROÊ!ç �Ä!ç �Ä!ç �Ä‹’!çÊ!ç �Ä!ç �Ä!ç �ÄŠt!çÊ!ç �Ä!çÉ€‹â¼€Õâ¼ÛÚÔ !ç ….!æ ¢ÄŠH!çÊ!ç �Ä!ç �Ä!ç �UND ADR SBR MPR DVR STO MOV DUP2 £Æþ~þ‰þ”þŸþªþµþÀþËþÖþáþìþ÷ÿÿ ÿÿ#ÿ.ÿ9ÿDÿOÿZÿeÿpÿ{ÿ…ÿ�ÿ™ÿ£ÿ­ÿ·ÿÁÄŠ*!çÊ!ç �Ä!æ jh "²Ô !ç �Ä íhŠïŠÖ‚Œ!ç !çÉ€–°Ê!ç ÉÔ¥1–Q#Ä…+³Ôz†‚8ç`…+Ë×ÉÚÔf†‚8…+Ë×i!y$²Ÿ$³¡ÔÿËÿÕÿßÿéÿóADJ STB LDP STP CHK FLT EQREAL LEREAL GEREAL LDM SPR EFJ NFJ FJP FJPL P!x$��¢h$��l#Ä …)Ó††8 rpÒ ¥)Š#Ä"…2¡Ô†8$€ÿË×x‘mŠ †8$€ÿË×xm–ç$Ä…+³Õ…†‚8ç`…+Ë×ÉÚÔq†‚8…+Ë× XJP IXA IXP STE INN UNI INT DIF SIGNAL WAIT ABI NGI DUP1 ABR NGR LNOT k#yŒ%²Ÿ%³¡ÔY%i#x%��¢h%���m$Ä …)Ó††8 rpÒ ¥)Š$Ć8%€ÿË×xj!Ô b˧€ÿËnŠ b˧€ÿËn–Ej…+³ÔO†‚8ç`…+Ë IND INC EQSTR LESTR GESTR ASTR CSTR INCI DECI SCIP1 SCIP2 TJP LDCRL LDRL STRL CNTRL ×ÉÚÔ;†‚8…+Ë×i!yh ¢��¥,¥1!x ��¢¥/††�8…/rpÒj¥1–Õ" € p"çÄ…1Òx†�8…,�ÿË" p…, ¢¥,…,�ÿ²ñ?…/í¥/ EXPRL Çöýúþþþþ&þ1þ<þGþRþ]þhþsþ~þ‰þ”þŸþªþµþÀþËþÖþáþìþ÷ÿÿ ÿÿ#ÿ.ÿ9ÿDÿOÿZÿeÿpÿ{ÿ…ÿ�ÿ™ÿ£ÿ­ÿ·ÿÁÿËÿÕÿßÿéÿóÿÿÿÿINVALI††�8…/rpÓ¥1 p…,�£¥,…,²ñ†�8" …,£…,pŠ¥,"i!|h!ç`˧Ä"‚ƒ¹Ô¥1–?j…+³Ô[†‚8ç`…+Ë×ÉÔJ†‚8…+Ë×hD ÿÿÿÿÿÿÿÿÿÿÿÿSLDC SLDL SLDO SLLA SSTL SCXG SIND €òþÃÿŒÿÿnÿÿÿÿÿ7ÿ7þÃÿŒþÃþÃþÃÿÿÿÿ¸ÿ†‚8ç€�…+Ë×i x y!y¢€ÿ¢��¢¥/¥,¥1††�8…/rpÒj¥1¥*– #p…1°Õ¶…,�ÿ²ñ"…/í¥/††�8…/rpÓ¥1 p¥,†�8þÃÿ7ÿ7ÿÿÿ7ÿÖÿþÃÿÿÿOÿOÿOÿ7þÃþÃþÃþÃþÃÿŒÿÿÿ�ÿ˧€ÿËi ç æˆ�8…,�ÿ˧€ÿËÈ ç æíÄ…,í¥,….í¥.– cïh €²ña €¡€ÿËÊaï€ÿËÊ!jŠ j– ‚`ï€ÿËÊ`ï€ÿËÊ…,�ÿË#p…,¢¥,#i…2Ô!jh "²Ô! Ë×! Ë×x‘Ä íhŠã…*²ñ)jh "²Ô! Ë×! Ë×x‘Ä íhŠã…*£¥*Š!!|ÚÔ!|Ò!~¥*Š!~î¥*Š i– È#p…1°Õ3#i!ç ….Ä!ç …-….¢Ä!ç�€ÿËÊ!çÉ€€€ö¼ÚÔ !çÉ!�!çÉ€ªâ¼€¯â¼Û€÷€ÿ¼Ûƒ‚^ÛÚÔ!çÊ!‚‚dÅ‹´!çÉ!|Ò¥1–*††�-ásá¥0á¥+¥1á¥)u†s–.CODELDCB LDCI LCO LDC LLA LDO LAO LDL LDA €Œâ¼€�â¼Û€�â¼Û€—â¼Û€˜â¼Û€œ€£¼Û€§â¼Û€¨â¼Û€°€¸¼Û€¼€Ä¼Û€Æâ¼Û€È€Ï¼Û€Ñâ¼Û€Ú€å¼Û€ì€î¼Û€ó€ö¼Ûƒ‚hÛÚÕ!çÉ€€³ŸÕð!çÊ!çÉ€ ³ñ LOD UJP UJPL MPI DVI STM MODI CPL CPG CPI CXL CXG CXI RPU CPF LDCN ÿ7ÿÿÿÿÿÿþÃþÃþÃÿ 4ßÈ@Ñ "í¥v+æCÍ7Á�ã‡*** STRINGOPFIÉ€“â¼€”â¼Ûƒ�EÛÚÔ †€Ý†ƒ ‡€ÿË×t p†€Ý‡tpІ€Ý‡tp†€Ý‡tp†€Ý€ upŠV„É€•Ò †€Ý†ƒ ‡€ÿË×t p†€Ý‡tpІ€LEOPS EXTRAIO  ݇tp†€Ý‡tp†€Ý‡tp†€Ý€ upŠÖ�M‡î¤j"‡²Ô„"˧‘"íjŠë†€Ýtp„ ɇ‡²Ÿ Õ†þŠ� –£&†]€ÿ˧³ñ'†]&í€ÿ˧€IVDCODE  ?B†U‚€Å†‚€ ëP sš‚€ �t pštp–pštpš‚€�t pš`t p € Òóštp–ž$h#ji!"³ÔÿË`rÒ %"Œ£ÄŠ%­Œ£ÄŠ%­Œ£Ä–¹)`„*¬P†€Ý`˜t p–+‹štpštp†‚z®Ë×xi!²Ÿ†‚j®Ë×ɰ¡Õ††€Ýtp‚�T�ï ††€Ý†U`!ËîØÉ˧up!îiŠÞ–’ke€ p‡‡£¤j"/²Õ±‡"¢`ri#³Ô:†€Ý€ up†€Ýet p†€Ýtpke€ p†€Ý"tp†€Ý‚€,�€Ý†‚*®Ë×t p†€Ýtp†‚š®Ë×{h!! ¢î¤�i!‡�²Ô9›b!upÒ†€Ýb��t pŠš‚�b�t pštp!íiŠÀ†€ÝtpŠš‚�o�t p!‘†€Ý€ up!ldɲŸdÉ€~³Ÿ¡Ô e#ËdÉÈŠe#Ë€-ÈdɲŸdÉ€~³Ÿ¡Ô e#íËdÉÈŠ e#íË€-È#¢k"íj‹Iÿí#£�Œíj†€Ý€ "upt pštp–� štpštpr Ôg†€Ýtp‚�|�ï †€Ý†‚*®Ë×t p†€Ýtpm`r `‚�޹ñ)†€Ý$tp†€Ý‚�’�t p†€Ý`t p†€Ýt†€Ýet p†€Ýtp–€štperier†]€ÿ˧£j†‚ ­Ë×xh†€Ýtp†€Ý‚€.�t p†€Ý†‚*­Ë×t p†€Ýtp†€Ý‚€<�t p†€ÝpŠm%ÔÅŠš‚�”�t pštp– f štpštpr Õ†€Ýtp‚�©�ï †€Ý†‚*®Ë×t p†€Ýtp`r †€Ý`t p$‹Í‚�¹�ï ‹Æ†€Ý tp†€Ý‚€@�t p†€Ýtp �†€Ýtp†€Ý‚€S�t p†€Ý !��¢tp†€Ý‚€W�t p†€Ý!��Œtp†€Ý‚€_�t p†€Ý!!¢tp†€Ýtp!"�‚�¾�t p†€Ý%tp‹­†€Ý‚�Ã�t p†€Ý%tp†€Ý‚�Î�t p†€Ý&tp‹~†€Ý‚�Õ�t p†€Ý%tp†€Ý‚�ß�t p†€Ý&tp‹O$Š$‚�å�ï Š–�†€Ýtp­Šb†€Ý‚€f�t p†€ÝtpŠO†€Ý‚€v�t p†€ÝtpŠ9†€Ý­tp†€Ý‚€‰�t p†€ÝtpІ€Ý‚€˜�t p†€ÝtpŠÖ€¡†€Ý‚€§�t‚�ê�ï Š‚�ï�ï Š ‚�ô�ï ŠÖ�ù†€Ý‚�ÿ�t p†€Ý%tp†€Ý‚‚�t p†€Ý&tp†€Ý‚‚ �t p'Ô ‚‚�ï Š‚‚�ï ‹Ö$Š$‚‚�ï Š‚‚�ï  p†€Ý†‚*®Ë×t p†€Ý‚€¬�t p†€Ý­tp†€Ý‚€²�t p†€Ýtp1ñKš‚€Ë�t pš†‚*®Ë×t pš‚€Ð�t pš­tpš‚€Š‚‚�ï Š ‚‚#�ï ŠÖ‚(‚‚.�ï %Š‚‚3�ï Š‚‚6�ï Š ‚‚9�ï ŠÖ‚;‚‚@�ï †€Ý&tp$Ò†€Ý‚‚D�t p†€Ý'tp&¤ І€Ý`Ë×xtp&îÖ�t pštp–a‡€ÿËdrh °Õ¸1ñKš‚€ï�t pš†‚*­Ë×t pš‚€û�t pš‡tpš‚��t pštp†€Ýtp†€Ý‚¤ ¤ )¤ ¤ *+²Ô.(³Ô†€Ýtp¤ `r Š(í¤ †€Ý`*Ë×xtp*í¤ ŠÍŠÖ‚I†€Ýtp$°ÕþŠš‚‚W�t pštp– ¾štpštpš‚‚f��t p†€Ý†‚*­Ë×t p†€Ý‚� �t p†€Ý‡tp†€Ýtp†€Ý‚��t p†€Ý(tp†€Ý‚��t p†€Ý'tp†€Ý‚��t p†€Ý&&¢tp†€�t pš­tpš‚‚k�t pš†‚*­Ë×t pštpš‚‚w�t pštpš‚‚“�t pš`t p ‹Äï†]€ÿ˧kj"#²Ô"ˆï †]"Ýtp†€Ý‚�$�t p†€Ý%tp†€Ý‚�*�t p†€Ý$tp†€Ýtp†€Ý‚�0�t p†€Ý€ up†€Ý‚�6�t p†€Ýtp„ r‡$Ò†€Ý‚�;�t p†€Ýtp€ÿ˧­ï"íjŠä‘‹™� ‹”ï‹��‹Š�‹… €0£iš`t p ƒ‚´ÚÔ$! Œ ¢€0£iš`t p ƒ‚¸ÚÔ ! Œ ¢€0£ihštp!²Ÿ!­²¡Ô&j"†]€ÿˆ€Ý‡tp†€Ý€(up‡‘†€Ý‚�B�t p†€Ý„ t p„ɋ݀ up‹å„É€Šâ¼€‹â¼Û€Ò€Õ¼Û€ñâ¼ÛÚÔ‡¤†€Ý‡tp†€Ý€ up‹®„§²†]"€ÿ˧!±¡Ô"íjŠä"ˆï Ц!­ï‘ŠÖ‚¼ ƒƒÚÕµþštp– Ò)`„*¬P­`˜t p–+ …ƒ h‚ƒ �ï`Ë§Ó ‚ƒ �ƒ�ï­‚ƒ š!tpš‚„;�t pštp‘oŠÖ„@'ƒ„wÚÕ¡þ– u†€Ý†‚ v‘š‚„�t p†‚„†èñ"š€[upš†˜t pš‚„‡�t pš†ll), #(of procedure), L(inker info),@ C(onstant pool), S(egment references), I(nterface text), Q(uit))ÿÿ0sÿ{ÿ{ÿ{,€Pt pšt p†,‚„‰èÔ†,†ëP†,˜r°†,‚„Šè Ô‘††,ëP†,‚„‹èŸÕŒš‚„Œ�t pš†,€Pt pšt p†,‚„™èÔ†,‚„šëP†€Ýv†€Ý†ÿ{ÿ{ÿ{ÿ{ÿ{ÿ{ÿ{ÿ9ÿlÿgÿvÿqÿ9ÿlÿgÿv,˜vpÒ¹†,‚„Ÿè†,‚„¤è ¥†,‚„¦èñ‘štpš‚„§�t pš†t pštpŠ€N¥0€N°0€n° Õâþ†,‚„®èŸ1å¡Ô†€Ýv†€Ýv–ÿqSEX: LEASTMOSTT$ significant byte first NEXT PAGE:: number of procs in segmentIO error on fileeÿ›ÿ±ÿÇÿçsegment procedure0 not available in P-Code formƒ³��ŠÖƒ¸#!Étp†‚j­Ë×i‚ƒÃ��!ÉŠ-‚ƒÄ��Š'‚ƒÉ��Š‚ƒÎ��Š‚ƒÓ��Š ‚ƒØ��Šփ݂ƒä��! ÉÔ ‚ƒå��Š‚ƒæ��!ÉÔ  for disassembly....segment procedure0 not available in P-Code form for disassembly.... Disassembling segment procedure‚ƒç��Š‚ƒè��‚ƒé��!ÉÚÔ-†‚š­Ë×j#"xtp#"ytp#"ztp#"{tpŠ!#€'up#†‚š­Ë×t p#€'upŠ#€ €.up#‚ƒê�  .... Segment: Procedure::Block:: Block offset: Seg offset: Data size:: Exit IC:: OffsetHex codee exit codet p#tp­í¦‹Ìý#‚ƒî�t p#†‚â˜t p#tp�–Ë †ƒ �€ p†ƒ €ÿËׂƒñÅ­€Oˆ‚ r¦†‚j­Ë×ÉÚÔg†‚*­Ë×ÅŠ::): ÿÿÿÿÿRÿªInterface text for segment trouble reading interfaceno interface text to list#Segment rg†‚š­Ë×Åi!€Oˆ‚ r³Õ’¤ h +²Õ€†‚š Ë×g¹Ô!†ƒ †‚Š Ë×É€ÿË׆‚* Ë×ņ‚* Ë×g¹Ô9r Ôbr †ƒ &€ÿË×bÅeference list for segment : )no segment reference list in this segmentLinker information for segment  EOFMARKK CONSb‚ƒõ¹Ô冃 †‚Š Ë×É€ÿË×gÅ íh‹zÿ!¢i‹^ÿ!î�­�Ó­€Oˆ‚ r¦– 1 štpš‚ƒù�t pšgt p'‹1€O¤ i!(²ÔJ!TDEF PUBLDEF baseoffset== pubdataseg== GLOBDEF homeproc== icoffset== EXTPROCC EXTFUNCC SEPPROCC SEPFUNCC ÿÙÿâÿëÿô sr€OËr³Ô9†]r²ñ0�frj�†]€ÿ˧¤ l$)²Ô$`� †]$€ÿ˧ �$ílŠç!íiб‘‹Úi€ o'€ °!€Oˆ‚ r³¡Ô1†€Ý�!¢i…‚ÚÓš‚„�t pcproc= nparams= koolbit=TRUEEFALSE GLOBREFF PUBLREFF PRIVREFF CONSTREFÿÙÿâÿëÿô format==WORDDBYTEEBIGÿâÿëÿô šgt pštpŠoŠ»o‹‹'€0£išgt pštp'ƒ„.ÚÔ ! Œ'¢€0£i!€OËrk#³Ô†]rmŠm%²ñ �frj� Š3štpš‚„2�t pnrefs= nwords== þ0ÿ*ÿ*ÿ*ÿ*þ‚þSþ:þ±þ±þ±þ±no linker information to list There are procedures in segment 7Procedure Guide: A( d} 0OPERAND2, 0OPERAND3 :INTEGER; .END;  (SEG_REF_REC=RECORD 0SEG_NAME:NAMETYPE; 0SEG_NUM:INTEGER; .END; . (LITYPES=(EOFMARK,GLOBREF,PUBLREF,PRIVREF,CONSTREF,GLOBDEF,PUBLDEF, 0CONSTDEF,EXTPROC,EXTFUNC,SEPPROC,SEPFUNC); 0 (LIENTRY=RECORD CASE BOOLEAN OF 0TRUE:(WRDS:ARRAY[0..7] OF INTEGER); 0FALSE:(NAME:PACKED ARRAY[0..7] OF CHAR; 7CASE LITYPE:LITYPES OF 9GLOBREF>HI_SEG_NUM, {number of segments in file} >SEG_REFS, {segment reference list size} >DATA_SIZE:INTEGER); {data size} (PROG_NAME:NAME_TYPE); {parent segment's name} :END; .NEXT_PAGE:INTEGER; {next page of dictionary} .FILLER: SRCPROC:INTEGER; (TEXT_SIZE, {size in blocks of interface text}  (PROCRANGE=0..255; {range of valid procedure numbers} (DCT_PAGE_RANGE=0..15; {range of possible segment dictionary en>HI_SEG_NUM, {number of segments in file} >SEG_REFS, {segment reference list size} >DATA_SIZE:INTEGER); {data size} (PROG_NAME:NAME_TYPE); {parent segment's name} :END; .NEXT_PAGE:INTEGER; {next page of dictionary} .FILLER: } ( ({pcode types - describing operand format} ,PCODETYPE=(INVALID,NO_OPERANDS,ONE_OPERAND,TWO_OPERANDS, 8THREE_OPERANDS);  ARRAY[0..6] OF INTEGER; {reserved for future use} .COPY_NOTE:STRING[77]; {copyright notice} .SEX: INTEGER; {file sex} ,( ({pmachine versions} ,VERSION_TYPE=(UNKNOWN,II_0,II_1,III_0,IV_0,V,VI,VII); , ({machine types} ,M_TYPES=(M_PSUEDO,M_6809,END; ( ({procedure descriptor record} ,PROCREC=RECORD 0BLOCK, {block number and} 0BLK_OFFSET, {byte offset oM_PDP_11,M_8080,M_Z80,M_GA_440, 6M_6502,M_6800,M_9900); 6 ({segment types} f first pcode in procedure} 0SEG_OFFSET, {word offset in segment of first pcode} 0DATA_SEG_SIZE, {data segment size} 0,SEG_TYPES=(NO_SEG,PROG_SEG,UNIT_SEG,PROC_SEG,SEPRT_SEG); , ({block zero of file - the segment dictionary} ,DCT_REC=RECORD EXIT_IC:INTEGER; {byte offset in segment of exit pcode(s)} .END; . ({pcode descriptor record} ,PCODEREC=PACKED RECORD 0NAME.DISK_INFO:ARRAY[DCT_PAGE_RANGE] OF RECORD :CODE_LENG, {number of words in segment} :CODE_ADDR:INTEGER; {segment starting bloc :NAMETYPE; {pcode name} 0PCODE :BYTERANGE; {byte value of pcode} 0OPTYPE :PCODETYPE; {describes # of operak} 8END; , SEG_NAME: ARRAY[DCT_PAGE_RANGE] OF NAME_TYPE; {segment names} , SEG_MISC: ARRAY[DCT_PAGE_RANGE] OF PACKED RECORDnds, if valid} 0END_OF_PROC :BOOLEAN; {does this pcode end procedure?} 0BYTE_ARRY {the literal pcode sequence}  }  { }  { copyright (c) 1980 SofTech Microsystem 8 SEG_TYPE:SEG_TYPES; {segment type} :FILLER:0..31; {reserved for future use} :HAS_LINK_INFO:BOOLEAN; {need to be linked?}  OC(PROCNUM:PROCRANGE; VAR PROC:PROCREC):INTEGER;  PROCEDURE GETPCODE(VAR OP:PCODEREC);  FUNCTION GETWORD(SEG_WORD_OFFSET:INTEË×x…-��¢¥/…-��¥,¥.%ç…/Ä%ç…,Ä%ç"íÄ%"îd‘Ä%x""¢³ñ%""¢Ä%ç"d‘Ɔ�8…/rpÒ¤ ¥1Ф Ф Ф Ф Ф –þGER; 2VAR VALID:BOOLEAN; SEX_SENSITIVE:BOOLEAN):INTEGER;  FUNCTION GETBYTE(SEG_BYTE_OFFSET:INTEGER; ÅŠ ­ÄŠ*!çÊ!ç �Ä!æ jh "²Ô !ç �Ä íhŠïŠÖ‚Œ!ç !çÉ€–°Ê!ç ÉÔ¥1–Q#Ä…+³Ôz†‚8ç`…+Ë×ÉÚÔf†‚8…+Ë×i!y$²Ÿ$³¡Ô‚�BÅŠÖ�F– �­‹­‚�lÅ‹û­‚�pÅ‹ð­‚�tŋ孂�xŋڭ‚�|ŋϭ‚�€Å‹Ä­‚�„Å‹¹­‚�ˆÅ‹®­‚�ŒÅ‹£­‚��ÅP!x$��¢h$��l#Ä …)Ó††8 rpÒ ¥)Š#Ä"…2¡Ô†8$€ÿË×x‘mŠ †8$€ÿË×xm–ç$Ä…+³Õ…†‚8ç`…+Ë×ÉÚÔq†‚8…+Ë׋˜­‚�”Å‹�­‚�˜Å‹‚­‚�œÅ‹w­‚� Å‹l­‚�¤Å‹a­‚�¨Å‹V­‚�¬Å‹K­‚�°Å‹@­‚�´Å‹5­‚�¸Å‹*­‚�¼Å‹­k#yŒ%²Ÿ%³¡ÔY%i#x%��¢h%���m$Ä …)Ó††8 rpÒ ¥)Š$Ć8%€ÿË×xj!Ô b˧€ÿËnŠ b˧€ÿËn–Ej…+³ÔO†‚8ç`…+Ë‚�ÀÅ‹­‚�ÄÅ‹ ­‚�ÈÅ‹þ­‚�ÌÅ‹ó­‚�Ðŋ譂�Ôŋݭ‚�ØÅ‹Ò­‚�Üŋǭ‚�àÅ‹¼­‚�äÅ‹±­‚�èÅ‹¦­‚�ìÅ‹×ÉÚÔ;†‚8…+Ë×i!yh ¢��¥,¥1!x ��¢¥/††�8…/rpÒj¥1–Õ" € p"çÄ…1Òx†�8…,�ÿË" p…, ¢¥,…,�ÿ²ñ?…/í¥/"  XJP IXA IXP STE INN UNI INT DIF SIGNAL WAIT ABI NGI DUP1 ABR NGR LNOT �z‘ć�ç‡�{‘Ä!íiŠ –�~ák"�h†3 Ë×x³ÔJ†3 Ë×x…)Ó††8†3 Ë×xrÓp†3 Ë×x¥)†8!�p!æ€ÿÓ�"�k– IND INC EQSTR LESTR GESTR ASTR CSTR INCI DECI SCIP1 SCIP2 TJP LDCRL LDRL STRL CNTRL Âájá¥+¥1…0!�Ó!€Oˆ‚8‘¥+Š!�¥+…+³Ô…)¥0…+j`‘�°¥2–jV„.„W¬P†s†„.˜spÓ†jb„.˜€Ptb‚€�€Utb˜s†3 EXPRL Çöýúþþþþ&þ1þ<þGþRþ]þhþsþ~þ‰þ”þŸþªþµþÀþËþÖþáþìþ÷ÿÿ ÿÿ#ÿ.ÿ9ÿDÿOÿZÿeÿpÿ{ÿ…ÿ�ÿ™ÿ£ÿ­ÿ·ÿÁÿËÿÕÿßÿéÿóÿÿÿÿINVALI €ÿppÒJih††‚8 rÒ+†3!Ë× Ć‚8æ€ÿÓ †‚8æ€Ð‘hІ‚8æ€Ðh!íiŠh °!²Ÿ Ôºp¤Yá¥0á¥+¥1á¥)–X• ¤� …+³Õ†‚8ç`D ÿÿÿÿÿÿÿÿÿÿÿÿSLDC SLDL SLDO SLLA SSTL SCXG SIND €òþÃÿŒÿÿnÿÿÿÿÿ7ÿ7þÃÿŒþÃþÃþÃÿÿÿÿ¸ÿ…+Ë×ÉÚÕg‘m%g‘h'Õó„ �p ¤� l$‡� ²Ô%‡� $€ÿË$€ÿËÈ„ $€ÿË×%$£g‘Ä$ílŠÔj�ÿik" ¤� l$‡� ²Ô/„ $€ÿË×x!³Ÿ„þÃÿ7ÿ7ÿÿÿ7ÿÖÿþÃÿÿÿOÿOÿOÿ7þÃþÃþÃþÃþÃÿŒÿÿÿ $€ÿË×x²Ÿ¡Ô „ $€ÿË×xi$k$ílŠÊ#²ñQ#‡� "€ÿ˧ÓB‡� #€ÿ˧n‡� #€ÿˇ� "€ÿ˧€ÿËÈ„ #€ÿËׄ "€ÿË×xć� "€ÿË&€ÿËÈ"íj#°" ²Ÿ Õÿ7ÿÿÿÿÿÿþÃþÃþÃÿ 4ßÈ@Ñ "í¥v+æCÍ7Á�ã‡*** STRINGOPFI]ÿ‡� €ÿË"î€ÿËÈ ¤� –� |& p¤ …+³ÕІ‚8ç`…+Ë×ÉÚÕ¸d‘k#d‘h$Õ¡'²Ÿ' ²¡Õ‘&m#'£d‘j"²Ÿ"#³Ÿ¡Ôv"팥-†‚8…+LEOPS EXTRAIO  Ë×x…-��¢¥/…-��¥,¥.%ç…/Ä%ç…,Ä%ç"íÄ%"îd‘Ä%x""¢³ñ%""¢Ä%ç"d‘Ɔ�8…/rpÒ¤ ¥1Ф Ф Ф Ф Ф –þ µ IVMDCODEIVDCODE ­‹t­‚€Å‹l­‚€ Å‹a­‚€ Å‹V­‚€Å‹K­‚€Å‹@­‚€Å‹5­‚€Å‹*­‚€!Å‹­‚€%Å‹­‚€)Å‹ ­‚€-Å‹þ LSL LDE LAE NOP LPR BPT BNOT LOR LAND ADI €¢þ‰þ”þŸþªþµþÀþËþÖþáþìþ÷ÿÿ ÿÿ#ÿ.ÿ9ÿDÿOÿZ ÿeÿpÿ{ÿ…ÿ�ÿ™ÿ£ÿ­ÿ·ÿÁÿËÿÕÿßÿéÿóSBI STL SRO STR LDB NATIVE NAT-INFOINVALID CAP CSP SLOD1 SLOD2 IN€€7  VALID EQUI NEQI LEQI GEQI LEUSW GEUSW EQPWR LEPWR GEPWR EQBYTE LEBYTE GEBYTE SRS SWAP TRUNC ROUND ADR SBR MPR DVR STO MOV DUP2 £Æþ~þ‰þ”þŸþªþµþÀþËþÖþáþìþ÷ÿÿ ÿÿ#ÿ.ÿ9ÿDÿOÿZÿeÿpÿ{ÿ…ÿ�ÿ™ÿ£ÿ­ÿ·ÿÁ ´IVMDCODE™6"i`aÉ€ÿËÊ`aÉ€ÿËÊ k–b†8Å�¤�i!‡�²Ôb!€ÿË×b!€ÿË×x‘Ä!íiŠß€`€�¤�i!‡�²Ôb!€ÿË×ÿËÿÕÿßÿéÿóADJ STB LDP STP CHK FLT EQREAL LEREAL GEREAL LDM SPR EFJ NFJ FJP FJPL b!€ÿË×x‘Ä!íiŠßb­�p­¤�‡�ç€Ð‡�æ€Ð‘Ĥ�i!‡�²ÔY‡�ç`!Ë×ÉÚÔA‡�ç€�!Ëפ�‡�‡�x‘ć�ç‡�y‘ć�ç‡# ‹­‹­‚€¶Å‹w­‚€ºÅ‹l­‚€¾Å‹a­‚€ÂÅ‹V­‚€ÆÅ‹K­‚€ÊÅ‹@­‚€ÎÅ‹5­‚€ÒÅ‹*­‚€ÖÅ‹­‚€ÚÅ‹­‚€ÞÅ‹çÉ€Šâ¼€Ò€Ô¼Û€ñâ¼ÛÚÔ"!æ €²ñ!ç ….�£!æ ¢ÄŠ !ç ….!æ ¢Ä‹ò!çÊ!ç �Ä‹á!çÊ!ç �Ä!ç �Ä‹É!çÊ!ç �Ä!ç �Ä‹±!ç ­‚€âÅ‹þ­‚€æÅ‹ó­‚€êŋ譂€îŋݭ‚€òŋҭ‚€öŋǭ‚€úÅ‹¼­‚€þÅ‹±­‚�Å‹¦­‚�Å‹›­‚� Å‹�­‚�Ê!ç �Ä!ç �Ä!ç �Ä‹’!çÊ!ç �Ä!ç �Ä!ç �ÄŠt!çÊ!ç �Ä!çÉ€‹â¼€Õâ¼ÛÚÔ !ç ….!æ ¢ÄŠH!çÊ!ç �Ä!ç �Ä!ç �Å‹…­‚�ÅŠ{­‚�ÅŠq­‚�ÅŠg­‚�ÅŠ]­‚�"ÅŠS­‚�&ÅŠI­‚�*ÅŠ?­‚�.ÅŠ5­‚�2ÅŠ+­‚�6ÅŠ!­‚�:ÅŠ­‚�>ÅŠ ­ÄŠ*!çÊ!ç �Ä!æ jh "²Ô !ç �Ä íhŠïŠÖ‚Œ!ç !çÉ€–°Ê!ç ÉÔ¥1–Q#Ä…+³Ôz†‚8ç`…+Ë×ÉÚÔf†‚8…+Ë×i!y$²Ÿ$³¡Ô‚�BÅŠÖ�F– �­‹­‚�lÅ‹û­‚�pÅ‹ð­‚�tŋ孂�xŋڭ‚�|ŋϭ‚�€Å‹Ä­‚�„Å‹¹­‚�ˆÅ‹®­‚�ŒÅ‹£­‚��ÅP!x$��¢h$��l#Ä …)Ó††8 rpÒ ¥)Š#Ä"…2¡Ô†8$€ÿË×x‘mŠ †8$€ÿË×xm–ç$Ä…+³Õ…†‚8ç`…+Ë×ÉÚÔq†‚8…+Ë׋˜­‚�”Å‹�­‚�˜Å‹‚­‚�œÅ‹w­‚� Å‹l­‚�¤Å‹a­‚�¨Å‹V­‚�¬Å‹K­‚�°Å‹@­‚�´Å‹5­‚�¸Å‹*­‚�¼Å‹­k#yŒ%²Ÿ%³¡ÔY%i#x%��¢h%���m$Ä …)Ó††8 rpÒ ¥)Š$Ć8%€ÿË×xj!Ô b˧€ÿËnŠ b˧€ÿËn–Ej…+³ÔO†‚8ç`…+Ë‚�ÀÅ‹­‚�ÄÅ‹ ­‚�ÈÅ‹þ­‚�ÌÅ‹ó­‚�Ðŋ譂�Ôŋݭ‚�ØÅ‹Ò­‚�Üŋǭ‚�àÅ‹¼­‚�äÅ‹±­‚�èÅ‹¦­‚�ìÅ‹×ÉÚÔ;†‚8…+Ë×i!yh ¢��¥,¥1!x ��¢¥/††�8…/rpÒj¥1–Õ" € p"çÄ…1Òx†�8…,�ÿË" p…, ¢¥,…,�ÿ²ñ?…/í¥/›­‚�ðÅ‹�­‚�ôÅ‹…­‚�øÅŠ{­‚�üÅŠq­‚‚ÅŠg­‚‚ÅŠ]­‚‚ÅŠS­‚‚ ÅŠI­‚‚ÅŠ?­‚‚ÅŠ5­‚‚ÅŠ+­‚‚ÅŠ!­‚‚††�8…/rpÓ¥1 p…,�£¥,…,²ñ†�8" …,£…,pŠ¥,"i!|h!ç`˧Ä"‚ƒ¹Ô¥1–?j…+³Ô[†‚8ç`…+Ë×ÉÔJ†‚8…+Ë×h ÅŠ­‚‚$ÅŠ ­‚‚(ÅŠÖ‚,– º!€¢²Ô�Š !€Æ²Ô�Š�– 6­h…,�ÿ²ñ0…/í¥/††�8…/rpÓ çÊ ç Ê¥1p¥,†�8…,†‚8ç€�…+Ë×i x y!y¢€ÿ¢��¢¥/¥,¥1††�8…/rpÒj¥1¥*– #p…1°Õ¶…,�ÿ²ñ"…/í¥/††�8…/rpÓ¥1 p¥,†�8�ÿ˧€ÿËi ç æˆ�8…,�ÿ˧€ÿËÈ ç æíÄ…,í¥,….í¥.– cïh €²ña €¡€ÿËÊaï€ÿËÊ!jŠ j– ‚`ï€ÿËÊ`ï€ÿËÊ…,�ÿË#p…,¢¥,#i…2Ô!jh "²Ô! Ë×! Ë×x‘Ä íhŠã…*²ñ)jh "²Ô! Ë×! Ë×x‘Ä íhŠã…*£¥*Š!!|ÚÔ!|Ò!~¥*Š!~î¥*Š i– È#p…1°Õ3#i!ç ….Ä!ç …-….¢Ä!ç�€ÿËÊ!çÉ€€€ö¼ÚÔ !çÉ!�!çÉ€ªâ¼€¯â¼Û€÷€ÿ¼Ûƒ‚^ÛÚÔ!çÊ!‚‚dÅ‹´!çÉ!|Ò¥1–*††�-ásá¥0á¥+¥1á¥)u†s–.CODELDCB LDCI LCO LDC LLA LDO LAO LDL LDA €Œâ¼€�â¼Û€�â¼Û€—â¼Û€˜â¼Û€œ€£¼Û€§â¼Û€¨â¼Û€°€¸¼Û€¼€Ä¼Û€Æâ¼Û€È€Ï¼Û€Ñâ¼Û€Ú€å¼Û€ì€î¼Û€ó€ö¼Ûƒ‚hÛÚÕ!çÉ€€³ŸÕð!çÊ!çÉ€ ³ñ LOD UJP UJPL MPI DVI STM MODI CPL CPG CPI CXL CXG CXI RPU CPF LDCN­‚€1ŋ󭂀5ŋ譂€9ŋݭ‚€=ŋҭ‚€Aŋǭ‚€EÅ‹¼­‚€IÅ‹±­‚€MÅ‹¦­‚€QÅ‹›­‚€UÅ‹�­‚€YÅ‹…­‚€]Å!‚‚pÅ!ç !çÉÄ‹È!çÉ€/²Ô!‚‚tÅ!ç !çɣċ§!çÉ€?²Ô!‚‚xÅ!ç !çÉ€/£Ä‹…!çÉ€g²Ô!‚‚|Å!ç !çÉ€_£ÄŠd!çÉ€oŠ{­‚€aÅŠq­‚€eÅŠg­‚€iÅŠ]­‚€mÅŠS­‚€qÅŠI­‚€uÅŠ?­‚€yÅŠ5­‚€}ÅŠ+­‚€�ÅŠ!­‚€…ÅŠ­‚€‰ÅŠ ­‚€�ÅŠÖ€‘–²Ô!‚‚€Å!ç !çÉ€g£ÄŠC!çÉ€w²Ô$!‚‚„Å!çÊ!ç !çÉ€o£Ä!ç �ÄŠ!‚‚ˆÅ!ç !çÉ€x£ÄŠ!çÊ‹F!çÉ‹:!çÊ!ç �Ä!$ IVDCODE  ?B†U‚€Å†‚€ ëP sš‚€ �t pštp–pštpš‚€�t pš`t p € Òóštp–ž$h#ji!"³ÔÿË`rÒ %"Œ£ÄŠ%­Œ£ÄŠ%­Œ£Ä–¹)`„*¬P†€Ý`˜t p–+‹štpštp†‚z®Ë×xi!²Ÿ†‚j®Ë×ɰ¡Õ††€Ýtp‚�T�ï † LSL LDE LAE NOP LPR BPT BNOT LOR LAND ADI €¢þ‰þ”þŸþªþµþÀþËþÖþáþìþ÷ÿÿ ÿÿ#ÿ.ÿ9ÿDÿOÿZ†€Ý†U`!ËîØÉ˧up!îiŠÞ–’ke€ p‡‡£¤j"/²Õ±‡"¢`ri#³Ô:†€Ý€ up†€Ýet p†€Ýtpke€ p†€Ý"tp†€Ý‚€,�ÿeÿpÿ{ÿ…ÿ�ÿ™ÿ£ÿ­ÿ·ÿÁÿËÿÕÿßÿéÿóSBI STL SRO STR LDB NATIVE NAT-INFOINVALID CAP CSP SLOD1 SLOD2 INt p!‘†€Ý€ up!ldɲŸdÉ€~³Ÿ¡Ô e#ËdÉÈŠe#Ë€-ÈdɲŸdÉ€~³Ÿ¡Ô e#íËdÉÈŠ e#íË€-È#¢k"íj‹Iÿí#£�Œíj†€Ý€ "upVALID EQUI NEQI LEQI GEQI LEUSW GEUSW EQPWR LEPWR GEPWR EQBYTE LEBYTE GEBYTE SRS SWAP TRUNC RO†€Ýet p†€Ýtp–€štperier†]€ÿ˧£j†‚ ­Ë×xh†€Ýtp†€Ý‚€.�t p†€Ý†‚*­Ë×t p†€Ýtp†€Ý‚€<�t p†€ÝUND ADR SBR MPR DVR STO MOV DUP2 £Æþ~þ‰þ”þŸþªþµþÀþËþÖþáþìþ÷ÿÿ ÿÿ#ÿ.ÿ9ÿDÿOÿZÿeÿpÿ{ÿ…ÿ�ÿ™ÿ£ÿ­ÿ·ÿÁ tp†€Ý‚€@�t p†€Ýtp �†€Ýtp†€Ý‚€S�t p†€Ý !��¢tp†€Ý‚€W�t p†€Ý!��Œtp†€Ý‚€_�t p†€Ý!!¢tp†€Ýtp!"�ÿËÿÕÿßÿéÿóADJ STB LDP STP CHK FLT EQREAL LEREAL GEREAL LDM SPR EFJ NFJ FJP FJPL –�†€Ýtp­Šb†€Ý‚€f�t p†€ÝtpŠO†€Ý‚€v�t p†€ÝtpŠ9†€Ý­tp†€Ý‚€‰�t p†€ÝtpІ€Ý‚€˜�t p†€ÝtpŠÖ€¡†€Ý‚€§�t XJP IXA IXP STE INN UNI INT DIF SIGNAL WAIT ABI NGI DUP1 ABR NGR LNOT  p†€Ý†‚*®Ë×t p†€Ý‚€¬�t p†€Ý­tp†€Ý‚€²�t p†€Ýtp1ñKš‚€Ë�t pš†‚*®Ë×t pš‚€Ð�t pš­tpš‚€ IND INC EQSTR LESTR GESTR ASTR CSTR INCI DECI SCIP1 SCIP2 TJP LDCRL LDRL STRL CNTRL Ö�t pštp–a‡€ÿËdrh °Õ¸1ñKš‚€ï�t pš†‚*­Ë×t pš‚€û�t pš‡tpš‚��t pštp†€Ýtp†€Ý‚ EXPRL Çöýúþþþþ&þ1þ<þGþRþ]þhþsþ~þ‰þ”þŸþªþµþÀþËþÖþáþìþ÷ÿÿ ÿÿ#ÿ.ÿ9ÿDÿOÿZÿeÿpÿ{ÿ…ÿ�ÿ™ÿ£ÿ­ÿ·ÿÁÿËÿÕÿßÿéÿóÿÿÿÿINVALI��t p†€Ý†‚*­Ë×t p†€Ý‚� �t p†€Ý‡tp†€Ýtp†€Ý‚��t p†€Ý(tp†€Ý‚��t p†€Ý'tp†€Ý‚��t p†€Ý&&¢tp†€D ÿÿÿÿÿÿÿÿÿÿÿÿSLDC SLDL SLDO SLLA SSTL SCXG SIND €òþÃÿŒÿÿnÿÿÿÿÿ7ÿ7þÃÿŒþÃþÃþÃÿÿÿÿ¸ÿÝtp†€Ý‚�$�t p†€Ý%tp†€Ý‚�*�t p†€Ý$tp†€Ýtp†€Ý‚�0�t p†€Ý€ up†€Ý‚�6�t p†€Ýtp„ r‡$Ò†€Ý‚�;�t p†€ÝtpþÃÿ7ÿ7ÿÿÿ7ÿÖÿþÃÿÿÿOÿOÿOÿ7þÃþÃþÃþÃþÃÿŒÿÿÿ†€Ý‡tp†€Ý€(up‡‘†€Ý‚�B�t p†€Ý„ t p„ɋ݀ up‹å„É€Šâ¼€‹â¼Û€Ò€Õ¼Û€ñâ¼ÛÚÔ‡¤†€Ý‡tp†€Ý€ up‹®„ÿ7ÿÿÿÿÿÿþÃþÃþÃÿ 4ßÈ@Ñ "í¥v+æCÍ7Á�ã‡*** STRINGOPFIÉ€“â¼€”â¼Ûƒ�EÛÚÔ †€Ý†ƒ ‡€ÿË×t p†€Ý‡tpІ€Ý‡tp†€Ý‡tp†€Ý€ upŠV„É€•Ò †€Ý†ƒ ‡€ÿË×t p†€Ý‡tpІ€LEOPS EXTRAIO  ݇tp†€Ý‡tp†€Ý‡tp†€Ý€ upŠÖ�M‡î¤j"‡²Ô„"˧‘"íjŠë†€Ýtp„ ɇ‡²Ÿ Õ†þŠ� –£&†]€ÿ˧³ñ'†]&í€ÿ˧€% §²†]"€ÿ˧!±¡Ô"íjŠä"ˆï Ц!­ï‘ŠÖ‚¼ ƒƒÚÕµþštp– Ò)`„*¬P­`˜t p–+ …ƒ h‚ƒ �ï`Ë§Ó ‚ƒ �ƒ�ï­‚ƒ,˜vpÒ¹†,‚„Ÿè†,‚„¤è ¥†,‚„¦èñ‘štpš‚„§�t pš†t pštpŠ€N¥0€N°0€n° Õâþ†,‚„®èŸ1å¡Ô†€Ýv†€Ýv–�t p­…‚Útp­tp–®#tp#tp‚ƒ&��#‚ƒE�t p#tp#€ € number of procs in segmentIO error on fileeÿ›ÿ±ÿÇÿçsegment procedure0 not available in P-Code form€Ý†‚*®Ë×t p†€Ýtp†‚š®Ë×{h!! ¢î¤�i!‡�²Ô9›b!upÒ†€Ýb��t pŠš‚�b�t pštp!íiŠÀ†€ÝtpŠš‚�o�ƒ³��ŠÖƒ¸#!Étp†‚j­Ë×i‚ƒÃ��!ÉŠ-‚ƒÄ��Š'‚ƒÉ��Š‚ƒÎ��Š‚ƒÓ��Š ‚ƒØ��Šփ݂ƒä��! ÉÔ ‚ƒå��Š‚ƒæ��!ÉÔ t pštp–� štpštpr Ôg†€Ýtp‚�|�ï †€Ý†‚*®Ë×t p†€Ýtpm`r `‚�޹ñ)†€Ý$tp†€Ý‚�’�t p†€Ý`t p†€Ýt‚ƒç��Š‚ƒè��‚ƒé��!ÉÚÔ-†‚š­Ë×j#"xtp#"ytp#"ztp#"{tpŠ!#€'up#†‚š­Ë×t p#€'upŠ#€ €.up#‚ƒê�pŠm%ÔÅŠš‚�”�t pštp– f štpštpr Õ†€Ýtp‚�©�ï †€Ý†‚*®Ë×t p†€Ýtp`r †€Ý`t p$‹Í‚�¹�ï ‹Æ†€Ýt p#tp­í¦‹Ìý#‚ƒî�t p#†‚â˜t p#tp�–Ë †ƒ �€ p†ƒ €ÿËׂƒñÅ­€Oˆ‚ r¦†‚j­Ë×ÉÚÔg†‚*­Ë×ÅŠ‚�¾�t p†€Ý%tp‹­†€Ý‚�Ã�t p†€Ý%tp†€Ý‚�Î�t p†€Ý&tp‹~†€Ý‚�Õ�t p†€Ý%tp†€Ý‚�ß�t p†€Ý&tp‹O$Š$‚�å�ï Šg†‚š­Ë×Åi!€Oˆ‚ r³Õ’¤ h +²Õ€†‚š Ë×g¹Ô!†ƒ †‚Š Ë×É€ÿË׆‚* Ë×ņ‚* Ë×g¹Ô9r Ôbr †ƒ &€ÿË×bÅ‚�ê�ï Š‚�ï�ï Š ‚�ô�ï ŠÖ�ù†€Ý‚�ÿ�t p†€Ý%tp†€Ý‚‚�t p†€Ý&tp†€Ý‚‚ �t p'Ô ‚‚�ï Š‚‚�ï ‹Ö$Š$‚‚�ï Š‚‚�ï b‚ƒõ¹Ô冃 †‚Š Ë×É€ÿË×gÅ íh‹zÿ!¢i‹^ÿ!î�­�Ó­€Oˆ‚ r¦– 1 štpš‚ƒù�t pšgt p'‹1€O¤ i!(²ÔJ!Š‚‚�ï Š ‚‚#�ï ŠÖ‚(‚‚.�ï %Š‚‚3�ï Š‚‚6�ï Š ‚‚9�ï ŠÖ‚;‚‚@�ï †€Ý&tp$Ò†€Ý‚‚D�t p†€Ý'tp&¤ І€Ý`Ë×xtp&î€OËr³Ô9†]r²ñ0�frj�†]€ÿ˧¤ l$)²Ô$`� †]$€ÿ˧ �$ílŠç!íiб‘‹Úi€ o'€ °!€Oˆ‚ r³¡Ô1†€Ý�!¢i…‚ÚÓš‚„�t p¤ ¤ )¤ ¤ *+²Ô.(³Ô†€Ýtp¤ `r Š(í¤ †€Ý`*Ë×xtp*í¤ ŠÍŠÖ‚I†€Ýtp$°ÕþŠš‚‚W�t pštp– ¾štpštpš‚‚fšgt pštpŠoŠ»o‹‹'€0£išgt pštp'ƒ„.ÚÔ ! Œ'¢€0£i!€OËrk#³Ô†]rmŠm%²ñ �frj� Š3štpš‚„2�t p�t pš­tpš‚‚k�t pš†‚*­Ë×t pštpš‚‚w�t pštpš‚‚“�t pš`t p ‹Äï†]€ÿ˧kj"#²Ô"ˆï †]"š!tpš‚„;�t pštp‘oŠÖ„@'ƒ„wÚÕ¡þ– u†€Ý†‚ v‘š‚„�t p†‚„†èñ"š€[upš†˜t pš‚„‡�t pš†€ÿ˧­ï"íjŠä‘‹™� ‹”ï‹��‹Š�‹… €0£iš`t p ƒ‚´ÚÔ$! Œ ¢€0£iš`t p ƒ‚¸ÚÔ ! Œ ¢€0£ihštp!²Ÿ!­²¡Ô&j"†]€ÿË,€Pt pšt p†,‚„‰èÔ†,†ëP†,˜r°†,‚„Šè Ô‘††,ëP†,‚„‹èŸÕŒš‚„Œ�t pš†,€Pt pšt p†,‚„™èÔ†,‚„šëP†€Ýv†€Ý†& nrefs= nwords== þ0ÿ*ÿ*ÿ*ÿ*þ‚þSþ:þ±þ±þ±þ±no linker information to list There are procedures in segment 7Procedure Guide: A(ll), #(of procedure), L(inker info),@ C(onstant pool), S(egment references), I(nterface text), Q(uit))ÿÿ0sÿ{ÿ{ÿ{åÿ{ÿ{ÿ{ÿ{ÿ{ÿ{ÿ{ÿ9ÿlÿgÿvÿqÿ9ÿlÿgÿvåÿqSEX: LEASTMOSTT$ significant byte first NEXT PAGE:: åååååååååååååååååååååååååå? åååååååååååååååååååååååååå@ ååååååååååååååååååååååååååA ååååååååååååååååååååååååååB ååååååååååååååååååååååååååC ååååååååååååååååååååååååååD ååååååååååååååååååååååååååE ååååååååååååååååååååååååååF ååååååååååååååååååååååååååG ååååååååååååååååååååååååååH ååååååååååååååååååååååååååI ååååååååååååååååååååååååååJ ååååååååååååååååååååååååååK ååååååååååååååååååååååååååL åååååååååååååååååååååååååå