CP/M 2.2 DOUBLE-DDISKETTE^CPM FROMNORTH * STAR ---------SYSTEM--TRACKS-BIOS USER CPM CCP CPM BDOS --------DIR.SEC1DIR.SEC2DIR.SEC3DIR.SEC4--------CPM DATADATASEC1DATASEC2DATASEC3DATASEC4........ PAS2  PAS2  !PAS2 R"#$%&'()*+,PASCAL COMt-./0123456789:;EMAIN SRC=<=>?@ABCMAIN SRCEDEFGHIJKLLINK COM@MNOPQRSTASMBL COM|UVWXYZ[\]^_`abcdLIB RELefghijklmnopqrstLIB REL uv*+jCopyright 1980 by JEFF MOSKOWM+!\378\!(:D![Unable to chai*+w!* w##w!( F##N> >5D^#V! !!!gAttempted divide by zerToo many errorProgram too compleFloating point overflow/underflo -- statement A B C D E H L M IX IY S PUSH LXI MVI MOV POP CALL STMT MIDL DSUB MEMB NEQL SPHL ILOD LESS DADDPʣ6gn>:|һgn#u gogo!! !e3!!9E !D!9!!gn&Ͳ gogo!Ͳ gogo!Ͳ6 gogo!!nf !!9!6gn+W^͠K gogo!gn!͏!W^S3 4 gogo!Ͳgn#u! RORRE ^ :ʣ6Eڗgn#ugn}|­͵ gn#unf W_Rgn+uw6+gnW^͠(gn!͏W^{ zgn#go!!gne3!gne3! !9!Y Ͳ! TES  ʣgnW^R( w6w8 ͅҪ 8 W_go! Q38 Y gn>P| !͂6P8 W_go!gn!͏/gn#uê 8 ͅ+ 8 W_go!/gn!͏6 A   gogo!!!;e3 6 gn+W^͠  gogo!gn!͏!W^S3 4  gogo!Ͳnf#tunf ڻW_ CMP XCHG GRET ADDR XTHL XTIX GE LE CSET ENTR EXIT EQUL MULT DIVD MMOD ISTR NEGT INCL SBST DIFF INTR UNIN RCHK SPSH MTCH NOMT ADD CTRL XRA LPOP FDVD CVTF XCFP JMP JR INX DCX JC JRC JNC JRNC INR DCR DADY DADX RRCR JV LDIR LDDR STC JNZ JRNZ JZ JRZ DW DSB1 CMPI ENTRY EXT FINI GLBP SVLN GTLN egau!gnڻRW^u4 gogo!nf+!!!9!gn&!9!|nf W_R gogo!!!9!u!nf Ͳ! DETCEPXE ʣgnW^R͵ Sgo͂ gogo!gn ͢!U͏! #9 ! !9! "Ͳ! DETCEPXE ʣgnW^R͵ B go͂gn}©gn}|ž͵ 6:6=º6I6D6.6.6 6 gn#ugn!͏W^gnR goR !gne36-w6 8 gn!͏W^sgn#ugn!͏W^s!ʣgn!͏W^sgn#uX !ʣgnugn>`|ү gn}{|ү gnu!ʣ6!PW^͠ gn!͏W^s( 4 !V   w6gn}|& X  gnugnugn!ê sV gn}|? gn}|? 6gn!͇W^!͏W^sgn#ugn!͏W^gnRʦ gn} |b 66&wݾt gnW^ͪt gnW^R#wW^u!9  gn ͢!U͏#9  $ gn+uq !9  gn ͢!U͏#9  ߧi gn#uq 66ñ ݾڀ www6gn}|› V Ê gn}| gn!͏W^!͏W^{z 6V gn}| V  {Ez6V gn}|gn}|V gn}|V gn}{|*6Hgn}|EX !͂ý HX gn}]X 6 ê¨X gn}$|dX  sX  {+z |Ұwgn!ênf#rrsnf#rrsnfr!R(nf#rsnf###rsnfrsnfr!Rsnf#rsnf###rsnfrsn f ###r s nf ###r snf^VRnf^VRnfnfxn f nf xn f /nf /R ! ʣn f nf x)!͂! ʣnf !xO!͂! ʣn f nf x &3 s &3 sgn}|«gn}|gn}|gn}|!͂! ʣgnugnu!ʣ gogo!!! e3!gne3!!! e3! ʣ gogo!!! e3!gne3!Ͳ! ʣgn e3 gogo!!gne3!4 Ͳ! ʣ3 gogo!!gn e3!4!!,e3!gne3!4Ͳ! ʣgn e3 gogo!!gn e3!4!!,e3!nf Ͳ! ʣw! ]՝ʹ!!! ]$!gn ͈ gn }|!!;͈ !!:͈ 6go! o! ,)ʣgn ugn W^ʹ"gn ugne3 &3~!03C G)6f n 6f n wA/ݾA/gn}|-ݾA/f n 6gn͎(sݾ:.!)nf}/o|/g#a)! ͈  3C 3C 6gn}|-nfgo%(.nf^VR#f n r+sf n3*!nf$!>3C G)A/(gnͣ*0/!͈ w! ʣwnf r{ ( (/gn}}/6'/Š/6(/ —/6 / ¤/6!/±/6$/¾/6"//6#/60gn}/6 0/6006 0 060 060(060!nf xK0!nf xһ0gn}]06ø0j06ø0w06ø0„06-ø0gn}—06÷0¤06÷0±06 ÷060gn}|06 06ݾ0!͂! ʣfn 1ݾ N^Vfn r+s3C3!N^VRfn r+s3z3nfW_Rw3!N^Vwfn r+s3wr66gn}|¦3  !?}|3gn}|3fn gn}|T6gn}|4nf}/o|/g#tunftu6gn}4wnf!R446t4!RD46t4!RT46t4!Rd46t4!Rt46t4gn}|46{z—4ͳ(3C 6++gnW^͠Ҿ4!͈ 4¦4T6.5nf՝Ϳ+563nfW_ʹ4626+nf՝W^͠%5gne3S3͈ 456T6nfW_͠S6nfͪS6ݾS6gn}|S6!NRS6!?}|5!!LxS6gn}F( ¼56 !Gnf$!F65nfR56 !Gnf#$!F666!nf$!͈ F6E6nfW_RE66!nf+$!͈ ݾS6 ݾr6fn 6fn 6ݾi76fn ҿ6ݾ ҿ6ҩ6gn&͈ wͳ(ÿ6gn}|¿66!͈ fn 6!Na)wݾ 6nfa)6gn}( (F'R29gn}|$9!gn$!+9! !3͈ gn}|L9!gn$!S9! :gnͣ*03͗!͢!͏͵ gn}|>3c͵ $>3c͹}gn}|;>!2͂nf^Vr+snf++^Vr+sݾm>nf 6 ݾ>nf 63cgn}|=w!ʣ͵ ͒?wT  gn&3?nf͢!͏W^{z>!e͂>6{(A6;AA;Anf:Agn}| NFݾ R3͗r+s͵ gn}|dF3c+++ͩInfr!RF!l͂gn>NFݾ 747gn}| !ʣgn}|@W=gn}|$@=gn}"|2@͛>͑PrsUgn}|¡@!gne3! !e3! !e3!!9E !nf6-nf p%!gnnf0*nftuw3< 3͆! ʣwnfrw6+͸V+^͠pC !go!nf͢!͏! #94# 4qCC6gn!E͏W^{.zʕCgn#uvCPYT.!9!Cgne3A!96  w6+V+^͠-D !go!nfr! e3 4# 4.DC!!9!!9RڶEUw6 ͸V+^͠Enf͢!͏ n f W^{(E n f++V+^r!ʹE n fI3V+^͌&u>NFݾ  ! ]W^͠ҷG>NFݾ gn)!>NFݾ RV+^!̈́!͏nf++^Vr+snf^V r+snf ^Vt u4)Ggn}|AFgn}|[I͵ ͒G͵ gn}|¡H! ]#! o! ])!>NFݾ R3͗r+s͵ ! ])!>NFݾ RV+^!̈́!͏nf++^Vr+snf^V r+snf nf/t u͵ äHnftu3gn}|H͵ gn}|PIgn}|PIgn}|PIgn} |PIgn}|H͵ +++(=nfnfgn}|H3c3cf n f 3nf 9F3cgn}|ʷHnf >NFݾ ^VʹңInf >NFݾ tu! ʣwwgn}(Ngn}|I͵ gn}J͵  3c Ef nr+s!X͏6nfrs!rgn}|J͵ rsnf###!r Enf#nfnf!X͏6  *J 3c3 ͩInf###nfNK͵ www &3go9F 3f n#ugn+ugn}|-Mgn++&3Mgn}|`M3͗!̈́!͏r+sww͵ úMnf̈́!͏nf W^{z®Mnf++V+^rsnf++r+s͵ ùM ͩIM ͩI6gn}|M! ͂N!X͏W^sf nr+snf!rÛOHO!X͏6 f nr+sgopNnfiNH3nf͌&e&p%!r͵ ͒O3͗!̈́!͏N gogo!!!9!3F!!9M !!"e3"ͲnfW^r+s}|Pgn}|Q3c͵ &Q3c ͩInftunf̈́!͏nf W^{zQnfV+^!RQnfҨQnf^Vr+snf^VtuQnf^Vr+snf^Vtunf++^Vr+snf#tunf͸͠=Q3cgn}|Pnftunf̈́!͏nf W^{znRnf++V+^nRnfnfV+^nfr+snf#tunf͸͠Rnf^Vtu!L RTXE L DTXE ʣw6wgn}|T͵ 6 gn}$| NFݾ ݾj>NFݾ gn}|j!>NFݾ gn$!j! !͈ ! 2͈ >NFݾ w!ʣ6nftunftunf#rs6wwgn}|{G)gn!zê6gn}|0mG)gn+u͵  ͹}nftu &3 snfW_Rjw G3*gn}|k$3fnfm!n͂nfa)gn͈ Ìj!gnR$!wzwwgn}|urw͵ G) ͹}ݾ҇mݾ҇mݾڇm!͂ݾڙmݾҠmݾڠm͈ G)nftu &3 snfW_Rmw6 gn}n6 G3*G)nftunf#rsnf/!wunf/!ڻu!nfxin!a)nftuongoa)3C !͈ G)gn}|n͵  ͹} ,ݾڴnnfa)!nfngoa)͈ 6wG)gn}|n!y͂pn6p gn} |`e&rswgn}|l`gn#ugn}|{_w13nf͌&nfp%e&rs03nf͌&nfp%e&rsgn} |¢_͵ gn}|ʟ_!͂6i` (=nfnfnfW_͠_nfͿ0`ݾ*`ݾ8`D3nf͌&͵ i`ݾJ`ݾ[`A3nf͌&i`03nf͌&_͵ nfp%ݾ҆`!+͈ ͮ\gn}|š`͵ É`gn} |ʳ`03nf͌&nfp%e&rs_ݾ`!+͈ nfp% 3f͵ e&rsnfp%f{zc3C 3C nfp%nfRAc! Oc! !3͈ ! 3C !͈ gne33go$!63nf͌&3ͮ\*3C !͈ 3C gne33͈ gn}9|c! !8͈ nfR"d!2͈ B3nf͌&gne33͈ nf#=3͌&e&p%03nf͌&7dA3nf͌&!͈ nfp%!͈ e&p%!͈ gn++ufwgnu͵ 6͵  G32nf^Vtunftuݾڻd 3*ݾdgn#uww͈ G)6nfr!Rd!͂gn#fr!Rg!͂3c nfcAݾGgݾGg͈ G) ͹}ݾҮg ,nf!xқgݾڋg!.nf$!Ôg.͈ w6666w6nfnfnfr!R znfRyݾyݾҲygn}yïyŸy8͈ ïygn$!ynfW^!̈́)tuw6wygn}|y6nfunfR'zݾ$zS3S3 ͈ ! 2͈ >zݾ7znfa)͈ ݾjznfr!Rqznfr!Rqz!͂gn#ugn+ugn}|ʗzgn}|v͙izrvvvvvvvvvvvvvvvrrititrrrrjitrImugn}|zgn}|z!~͂gn}|{0znf/rsnfr!Rx͙i &3 !R¥x ,ݾtx8͈ Âxnfa)͈ 6! &nfR$!xݾxgn}|xnfnf%(x 3*! &nf+$!yݾynfRy  ͹}z3c[{gn}({[{(?{!go$![{R{!go$![{!~͂ݾ~{3nf͌&!nf+$!!ʣgn}|ʟ{gn͈ ڭ{gn͈ nftunf#rsgn}|N|nfW^!ڻ͢#rsnf0|!nf/{/_z/W$!! ͈  3C 3jG)nf!xK|6e|3jnf####rsf n 6f n 6gn}( –|!͂||͵ nfr!Rʹ|!͂nf#rsf n 6f n wnff nr+s!nfx P}f n  6 2;ww! LG/s͵ f n , ! LcAgn} |•66f n  ڎ! Na)f n  6͈   fnfr!Rݾ!͂!nfxgn}|!9 p;!9 P}6nf#rsgn} |nfrrsnfr{ (! Lnf#nfr! Rwnf#r{ ( (³nf#rsုnf#snf#s%gngn0*G)!n sgnf n sݾ:nf! Lͻ%f n 6ݾ`nf! Nͻ%f n 6! ʣwgn}|‚͵ Ôgn}|”͵ 6! Ltue&rswwf n  WݾҮ! ?}|f n ,f n  ͈ îf n  +! N}/o|/g#f n  r+sî!X͏6!X͏! N#r!ڻs!X͏! N##rs! N###f n  r+s!rgn}|8!9f n  p;gne3! L͌&ݾnfp%e&rsw͵ f n  W! L/f n  6f n 6îgnf n sݾbnf! Nͻ%ݾuf n 0NFݾ gn}|Vnf V+^nf V+^ͱ)Ӓnf [!)nf W^ͣ*0NFݾ unf W^͎(>NFݾ s>NFݾ gn&nf V+^!>NFݾ gn&nf V+^!3C nf V+^ͱ)>NFݾ ݾR!͈ G)wӒ!)nf V+^nf V+^a)666nf W^ͣ*ҽ3C 3C !͈ 3C Ӓnf W^͎(͈ nf w+wnf w+wnf 6>Nwwgn}f n  w͵ nfr!R9!͂nf#rsݾZf n f n  ڙf n  ڙf n 3*66f n  w+wf n  ʕ! !3͈ ! ! 6! N! Nf n  r+sf n  w+wf n  wif n  w͵ ͒nfr!R>3nf#rrswwgn#unfW^)!͢!͏nf #9!9M ֧6! NnfV+^Rf n  r+snf++V+^rsݾgn^VRUf n  6f n 6Ïgnf n sݾCnf! Lͻ%ݾVf n 0NFݾ 6! ʣ6wwwwww6w6nftuwww666wwwwwnftugnugnugn}Ǔnf}/o|/g#tuÑ ӓwÑ( ( 䓯Ñ4ݾ$3gn#unfnf#r!͢#tunfrsшw6nfRW^)Rtuw6wgnu!) ,66Ñ!;͂nf/rsgn}|nfՔnf++nftunf#tu f n 6wwіݾ!͂͵ i cf n  wwwww͵ nfr!Rdnfr!Rd3nfr!R§w6nf#rrsw6w6w6Gnf#rsnf###rsnf/rswwnf#rrsnfr!RGnf#rsnf###rsnf^Vnf͢tu ͹}nfnf ,ݾҎ%nfnf0*ùnf^Vʹڲnf^VͿҹ!.͂3 !9 0gne3 !9 0gn}|1! N^Vf n  r+sgn}|U! N^VȯRf n  r+sY6 3ci6ݾnf0 կNۚT]F('###v8C(?v8:(6+++ (ˆ#w+> ###v8(G+++ˆ ˎ#Np+y ++Nwy+!premature EO!PY9  4h4h&4P!9w ! h~ݮ w~<ݖ hw !9w#+! +8 +#+,8!*! w#!9~|goR˹T]â!9w >ݮ w !9w !( ! ~ݖ ( OE8y! ~(!  ~( !('yG(!4h+~! 4h+~!4h+~! 4h+~!  !  *ѯݡ!9 PY FfnV gofZ| }~^(Vfn>Ͳf(zȯF+̾̈ Nng)))V^G~ (#X(Nâ#F~++( 8 G âF+Nâ+V^!9 z(6-+goGRw+O'̓̓d̓ ̓E͋G #~-   60 +A~8 ( W â Nâ++++!9ѯɯR0 >0w+ G fnN++Ϣ| z ؠ   +++~( ###v###͌Y}K>+++##H (#a8{0_ ͌+++f###%(6KA4}͌y%4¡fb)~6<(3V' " ^##w}!ƥ !Х ! !Disk erroError in extending filDisk fulDirectory ful͌*^#~ 84 }#6͌*6O  > }͌*6#~P( 4^q}5 >7}~O #͌%~#?ߦfʏ~զV   76<+w_##~}͌ }>}w~/w#~/+~w+ #~wOG F+N ngOG F+N F+n`OG F+N+~=(ۯOG F+N+~ =(rW+sɯRɯR begin lbound := typget( x.typntr+1 ); hbound := typget( x.typntr+3 ) end; (* all value# 7 !9 ~ݾ++8  ##!9 ~ݾ++8 |z(z/W{/_|(|/g}/o# ((!= goRW_= DM(go*7ɯt <)+ >#F ###gof â â#F ˆ###œgof####͐8U+++v ~ 2###o+++ˎ˞˦f0 ###+++gof0 | }!`!f#}( ##|#(}#70!9G AN>+ >3 r+{PY_>_~:(DAG*>_~ > :(*5*+~ x8I!g7}L(C O N   S T  }w 8(.(w#}͌Y}͌Vʫ͌%6#6Vx}͌$^͌V|ȧR?|ɧ7R|ȧ7R?|ɧRb$ɯ7?!!?QQ?!9 ~# 7 !9 ~ݾ++8  ##!9 ~ݾ++8 |z(z/W{/_|(|/g}/o# ((!= goRW_= DM(go*7ɯt <)NFݾ gn####gn w ! Ù4s46 FEDNU*!9!W  !# 6 REGETNI!9!~  !# gn!X :6 RAHC!9!  !# gn!X :6gn#!X :6 NAELOOB!9!  !# gn!X :6gn#!X :6 LAER!9!* !# gn!X :6 TXET!9!Z !# gn!X :6gn#!w 6 ESLAF!9! gn/! :w+wgn/! :w+6 EURT!9! gn! :W^r+s CCUS!9! !3  DERP!9!7 !3  NLOE!9!^ !3 gnu FOE!9! gn/! :W^r+s6 TESER!9! !# gn#!X :6gnu ETIRWER!9! gn/! :W^r+s NITXTF!9!0 !# gn#!X :6 NIAHC!9!a !# gn#!X :w WEN!9! !# gn#!X :6 KRAM!9! !# gn#!X :6gnu ESAEL DCR DADY DADX RRCR JV LDIR LDDR STC JRNZ STMT MIDL DSUB MEMB NEQL SPHL ILOD LESS DADD CMP XCHG GRET ADDR XTHL XTIX GE LE CSET ENTR EXIT EQUL MULT DIVD MMOD ISTR NEGT INCL SBST DIFF INTR UNIN RCHK JNZ MTCH NOMT ADD CTRL XRA LPOP FDVD CVTF XCFP DW SPSH egaPs46gn>:|kgn#u gogo!! !e3!!9!%!nf [1! Ù4s4nftunf#tu!Ù4s4gnjj! :V+^rs!Ù4s4gnjj##! :V+^rs!Ù4s4Grsgnjj! :Gr+s!Ù4s4n f +jj! :V+^rsn f jj! :V+^rsnftuww6ݾ3 nf^VS83 nf^VR# 9ڻ^Vtunf/! :nf W^{znf #9!9M ͑8nf#tu/ nf #9f/! : ! Ù4s4unf ]8H !2q gnjj##! :unf r+s! Ù4s4n f !X :nf J/͚9ڻsn f #!X :nf J/ 9ڻnf W_h80NFݾ gne3Ͷ >NFݾ su>NFݾ su!X :>NFݾ W^surs rs>NFݾ gn/! : !Ù4s4!# >NFݾ gn#!X :W^s>N/! :w+6gn/! :w+6 TNIXAM!9!& gn/! :6+6gn/! :w+66 NLETIRW!9!q !# gn#!X :6 NLDAER!9! !# gn#!X :6 ETIRW!9! !# gn#!X :6 DAER!9! !# gn#!X :66 DRO!9!9 !3  RHC!9!` !3  SBA!9! !3 gnu DDO!9! !3  RQS!9! gn/ER!9! gn/! :W^r+s6 CNURT!9!2 gn#!X :6gn##!X :6 gn###!w gn!w gnu! #  DNUOR!9! gn/! :W^r+s NATCRA!9! gn#!X :6gn##!X :6 gn###!w gn!w gnu! #  SOC!9!2 gn/! :W^r+s PXE!9!f gn/! :W^r+s NL!9! gn/! :W^r+s TRQS!9! gn/! :W^r+s NIS!9! gn/! :W^r+s6 DNEPPA!9!: !# gn#!X :6!Ù4 TES  s4gnW^ROw6w8 .18 W_go! Qo-8 1'gn>P|!26P8 W_go!gn! :k-gn#u8 .1R8 W_go!k-gn! :6 hͲ gogo!!!;e3 ͉16 gn+W^I8 gogo!gn! :!W^S3 ͉14¨ gogo!W^u!9  gn /!U :#9  ͑8Ngn+uÛ!9  gn /!U :#9  ͈8ғgn#uÛ66ݾڪwww6gn}|}ôgn}|gn! :W^! :W^{z6}gn}|}ͦ{Ez?6}gn}|+gn}|.}gn}|?}.gn}{|T6rgn}|o!2rgn}‡6 gn}$|Žͦsͦ{+z %gne3!96  ͫ3CRS.!9!{%gne3!96  ͫ3MYS.!9!%gne3! Ù4!9!:!9:Rڶ 1-2.3 rev lacsaP smetsySretnI!!9!%"[1gou+++!W^I8_&gn! :64A&6A+++!ZW^I8Ҏ&gn! :64p&6a+++!zW^I8ҽ&gn! :64Ÿ&66m 660+++!9W^I8'gn! :64&[1nf#tunf ͚9ڻW_RE!gne3͉16-w6 _gn! :W^sgn#ugn! :W^s!Ù4s4gn! :W^sgn#u!Ù4s4gnugn>`|gn}{|gnu!Ù4s46!PW^I8"gn! :W^s͗7(ͨ7ʢ0ͳ74!}  w6gn}|M<gnugnugn!êͦs}gn}|fgn}|f6gn!:W^! :W^sgn#ugn! :W^gnRgn} |‰66&wݾڞgnW^S8ҞgnW^R# 9ڻ|'gn /gn!0Ruu gogo!!gne3!!9!ogn! [1gn}}|ʃgn}|ʛgn}|ʪgn}}|ʪÎgn}}|»gn}|Žgn}66gn})gn}|"}&6 .}gn}|=6 gn} |gn}c6us6 ugn}6â 6 âgn}|º6 xKBfBnR gogo!!gne3!gne3! !9!n [1! Ù4s4gn#]8}!2gn#jj! :Gr+sgn#jj##! :ur+sgn#u!Ù4s46!W^I8 gn+W^!E :W^! :W^s4gn####!E :! sgnD uC 6 gn} |] C 6:! Ù4s4gD nugn}š"6!W^I8ҽ gn##!E :W^!U :W^s4 : 6 6gn!E :W^{ z gn#u MYS.!9! u"6!W^I8C#gn!E :W^gn+++! :W^s4#6gn#ugn!E :W^sgn! :W^{zI#gn! :W^{zI#gn#!E :W^s6 6 6 gn! :W^{z0$gnugn##!E :W^sgn! :W^{z0$gnugn###!E :W^sgn! :W^{z0$gnugn####!E :W^sgn! :W^{z  կN.T]F('###78C(?78:(6+++ (ˆ#w+> ###78(G+++ˆ ˎ#Np+y ++Nwy+!.premature EO!PY9G!ݾ Afn( ~^(Vfnůk-^ ѯݾ/z(& ,F//.// r+sFfn.1.|(10n({(͎-.1818 ͎-w+7 *~+y8^#~ y8}8F}8v8}8Nv8}8gi#9Aͧ6 N6+ 6#ͬ1F ͷ1###go2 l3 l3#ͬ1F ͷ1ˆ###E3go2!9 PY FfnV go44| }~^(Vfn>[1f(zȯF+̒2̒2g212̒2 Nng)))V^G~ (#X(Nl3#F~++( 8 G l3F+Nl3+V^!9 z(6-+goGRw+O',3,3d,3 ,3E43G #~-   60 +AN*>_~:(DAG*>_~ > :(*5*+~Ͷ5x8I!677&8L(C Ͷ5O Ͷ5N  Ͷ5S Ͷ5T  Ͷ5&8w Ͷ58(.(w#H (#ͧ6a8{0_ 58+++f###%(6555&858y%4J6f 6)~6<(37' " ^##w&8!o6 !y6 !6 !6Disk erroError in extending filDisk fulDirectory ful58*^#~ 84 &8#658*6O  6 ͳ7&858*6#~P( 4^q9 ~ݾ++8 |z(z/W{/_|(|/g}/o# ((!= N9goRW_= DM(go*7ɯt <)   NEHT !X+5   OT !u+,   EPYT !+#   LITNU !+   RAV !+   ELIHW !+   HTIW !,  wwgouw6dww6wwwwww66-www6w w 6 w 6 w 6I 666w3c gn} |,3c 3x6,3T L6 +ɯfnV^.1.###7++Fwx+0w+z  z ó.!J/|goR˹T]/ (9;;;Ry(G#A~#0w+~wͭ9~w+99Ny+999BG>(33(7>ͭ9+9(  SxDM!=)#0 |z(z/W{/_|(|/g}/o#  -# z"BKgo(0|x( j-0ygoR40 ###5 6###948787O8 ( (++q+++++++ˎ#q#x0ͧ60#fn##|###5!$70d0 00!27/ R0~8 ( W l3 Nl3++++!9ѯɯR0 >0w+ G fnN++x3| z Á1  ͳ7+++~(ͳ7###v###ʜ358Y&85>+++######948U+++v ~ 3###8Ϳ7+++ˎ˞˦40 ###5+++go40 | }! 4!4#}( ##|#(}#7ͧ60!9G AN6+ 64ͧ6 r+{PY_>&858&858Y&8587T658%6#67x&858$^587|q8R?|r87R|q87R?|r8Rb$ɯ7͚8͚8?88?88?!9 ~# 87 !9 ~ݾ++8  ##!; Pascal/Z run-time support interface . ; COPYRIGHT 1978 BY JEFF MOSKOW ; ; This is a collection of macros for use in constructing ; external modules from Pascal routines ; NAME EXTERN EXT FLTERR,HPERR,REFERR,STKERR,RNGERR,DIVERR,MLTERR EXT PERROR,STMTMSG,CRLF,STRERR EXT ILODV,ILODV1,ILODV2,ILOD1,ILOD11,ILOD12,ILOD2,ILOD21,ILOD22 EXT ISTOR,ISTOR1,ISTOR2,XADDR,YADDR,FSUB,FADD,ENTRSC,ENTER,EXITF EXT FPEQ,SEQUL,FPNEQ,SNE,FPLTE,SLE,ILE,FPLT,SLT,ILT EXT FPGTE,SGE,IGE,FPGT,SGT,IGT,FMULT,IMULT NEW EXT MARK EXT RELEASE EXT TRUNC EXT ROUND EXT ARCTAN EXT COS EXT EXPFCT EXT LN EXT SQRT EXT SIN R: SET 0FFFFH C: SET 0FFFFH M: SET 0FFFFH A: SET 00000H S: SET 0FFFFH D: SET 0FFFFH E: SET 00000H F: SET 0FFFFH T: SET 00000H VALID: SET 00000H CR EQU 13 LF EQU 10 EOFMRK EQU 1AH BUFLEN EQU 80 MARGIN EQU 50 COMPILER EQU 0H MAXDRV EQU 16 CPM EQU 5 FINI: MACRO ENDMAC EXTR: macro intn,extn extn: equ intn entry extn,intn endmac EXTD: MACRO INTN,EXTN EXT EXTN INT ELSE MLOAD ILOD1,OFST ENDIF ENDIF ENDMAC ISTR: MACRO Q,SIZE,OFST MLOAD ISTOR,OFST IF R JC REFERR ENDIF ENDMAC LPOP: MACRO REG,DISTANCE IF DISTANCE PUSH H LXI H,DISTANCE+2 DAD S MOV E,M INX H MOV D,M PUSH D MOV D,H MOV E,L DCX H DCX H LXI B,DISTANCE LDDR POP D POP H POP B ELSE POP D ENDIF ENDMAC ADDR: MACRO Q TEMP SET 'Q'-'IY' IF 'Q'-'Y'*TEMP CALL XADDR ELSE CALL YADDR ENDIF ENDMAC MIDL: MACRO REG,LEVEL PUSH X MVI A,LEVEL MIDLER ENDIF ELSE Error Main programs may not be externals JC STKERR ENDIF ENDMAC EXIT: MACRO Q,SSIZ LXI H,SSIZ+8 JMP EXITF ENDMAC EQUL: MACRO Q,SIZE1,SIZE2 IF 'Q'-'S' IF SIZE1 IF SIZE1&8000H CALL FPEQ ELSE LXI B,SIZE1 CALL SEQUL ENDIF ENDIF ELSE LXI B,SIZE1*256+SIZE2 CALL STREQL ENDIF ENDMAC NEQL: MACRO Q,SIZE1,SIZE2 IF 'Q'-'S' IF SIZE1 IF SIZE1&8000H CALL FPNEQ ELSE LXI B,SIZE1 CALL SNE ENDIF ENDIF ELSE LXI B,SIZE1*256+SIZE2 CALL STRNQL ELSE LXI B,SIZE1 CALL SGE ENDIF ELSE CALL IGE ENDIF ELSE LXI B,SIZE1*256+SIZE2 CALL STRGEQ ENDIF ENDMAC GRET: MACRO Q,SIZE1,SIZE2 IF 'Q'-'S' IF SIZE1 IF SIZE1&8000H CALL FPGT ELSE LXI B,SIZE1 CALL SGT ENDIF ELSE CALL IGT ENDIF ELSE LXI B,SIZE1*256+SIZE2 CALL STRGRT ENDIF ENDMAC FDVD: MACRO Q,SIZE CALL FDIVD IF F JC DIVERR ENDIF ENDMAC MULT: MACRO Q,SIZE IF 0!SIZE&8000H CALL FMULT IF F JC MLTERR ENDIF ELSE IF M CALL IMULT ET,QMULT,IDIVD,IMOD EXT ERROR,CSTS,CI,CO,CHKDE,CHKHL,PSTAT,CONSET,UNION,INN,LTEQ EXT GTEQ,INSECT,ORGAN,COMP,FUSS,FOUT,FXDCVT,CVTFLT,TOUT,TXTYP EXT FDIVD,STREQL,STRNQL,STRLEQ,STRLSS,STRGEQ,STRGRT,LAST EXT WRITELN,L109,L110,L111,L112,L115,L116,L117,L118,L120 EXT READLN,L121,L122,L123,L124,L125,L126,L127,L128,L129 EXT WRITE,L130,L131,L132,L133,L134,L135,L136,L0 EXT READ,L137,L98 EXT ABS EXT FPABS EXT SQR EXT FPSQR EXT EOLN EXT EOF EXT RESET EXT REWRITE EXT FTXTIN EXT CHAIN EXN: equ EXTN ENDMAC SPSH: MACRO Q,SIZE IF SIZE IF SIZE&8000H LXI H,SIZE DAD S SPHL ELSE MVI A,SIZE CMP M JC STRERR MOV B,A INR B PSHLP: SET $ MOV D,M PUSH D INX S DCX H DJNZ PSHLP XRA A ENDIF ENDIF ENDMAC MLOAD: MACRO WHERE,VALUE IF VALUE IF VALUE&0FF00H LXI B,VALUE CALL WHERE!2 ELSE MVI C,VALUE CALL WHERE!1 ENDIF ELSE CALL WHERE ENDIF ENDMAC ILOD: MACRO Q,SIZE,OFST IF SIZE&8000H MLOAD ILODV,OFST ELSE IF SIZE-1 MLOAD ILOD2,OFST 1: SET $ MOV C,4(X) MOV B,5(X) PUSH B POP X CMP 1(X) JRNZ MIDL1 XRA A ENDMAC DSUB: MACRO Q,SIZE IF 0!SIZE&8000H CALL FSUB IF F JC FLTERR ENDIF ELSE XRA A DSBC Q D ENDIF ENDMAC DADD MACRO Q,SIZE IF 0!SIZE&8000H CALL FADD IF F JC FLTERR ENDIF ELSE IF 'Q'-'C' DAD Q D ELSE IF M&A XRA A DADC H JV MLTERR ELSE DAD H ENDIF ENDIF ENDIF ENDMAC ENTR: MACRO Q,LVL,VSIZ IF LVL-1 MVI B,LVL LXI D,1-VSIZ IF S CALL ENTRSC ELSE CALL ENT ENDIF ENDMAC LE: MACRO Q,SIZE1,SIZE2 IF 'Q'-'S' IF SIZE1 IF SIZE1&8000H CALL FPLTE ELSE LXI B,SIZE1 CALL SLE ENDIF ELSE CALL ILE ENDIF ELSE LXI B,SIZE1*256+SIZE2 CALL STRLEQ ENDIF ENDMAC LESS: MACRO Q,SIZE1,SIZE2 IF 'Q'-'S' IF SIZE1 IF SIZE1&8000H CALL FPLT ELSE LXI B,SIZE1 CALL SLT ENDIF ELSE CALL ILT ENDIF ELSE LXI B,SIZE1*256+SIZE2 CALL STRLSS ENDIF ENDMAC GE: MACRO Q,SIZE1,SIZE2 IF 'Q'-'S' IF SIZE1 IF SIZE1&8000H CALL FPGTE LSE CALL QMULT ENDIF ENDIF ENDMAC DIVD: MACRO CALL IDIVD IF M&D JC DIVERR ENDIF ENDMAC MMOD: MACRO CALL IMOD IF M JC DIVERR ENDIF ENDMAC NEGT: MACRO REG IF 'REG'-'H' IF 'REG'-'D' POP H POP D MVI A,80H XRA E MOV E,A PUSH D PUSH H ELSE MOV A,E CMA MOV E,A MOV A,REG CMA MOV REG,A INX REG ENDIF ELSE MOV A,L CMA MOV L,A MOV A,REG CMA MOV REG,A INX REG ENDIF XRA A ENDMAC CTRL: MACRO IF C CALL CSTS JRZ $+16 CALL CI CPI 'C'&3FH JZ ERROR MVI C,7 CALL CO XRA A ENDIF ENDMAC RCHK: MACRO REG,LBND,HBND IF R LXI B,LBND IF 'REG'-'H' IF 'REG'-'S' PUSH H LXI H,HBND CALL CHKDE POP H ELSE MVI A,LBND CMP M JC STRERR XRA A ENDIF ELSE PUSH D LXI D,HBND CALL CHKHL POP D ENDIF ENDIF ENDMAC STMT: MACRO Q,NUMBER IF T+E VALID SET 0FFFFH EXX LXI B,NUMBER IF T IF 'M'-'Q' CALL PSTAT ENDIF ENDIF EXX ELSE IF VALID EXX MOV B,A MOV C,A EXX VALID SET 00000H XI D,OFF2 LXI H,OFFSET CALL INN ENDMAC INCL: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI D,OFFSET CALL LTEQ ENDMAC SBST: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI D,OFFSET CALL GTEQ ENDMAC INTR: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI D,OFFSET CALL INSECT ENDMAC DIFF: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI D,OFFSET CALL ORGAN ENDMAC MTCH: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI D,OFFSET CALL COMP ENDMAC NOMT: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI D,OFFSET CALL FUSS ENDMAC xcfp: m call cvtflt endif else lxi h,value call cvtflt endif endmac dsb1 macro reg xra a dsbc reg d endmac cmpi macro q,value cpi value endmac svln: macro mov a,m exx mov e,a xra a exx dcx h endmac gtln: macro reg,size exx mov a,e exx mov c,a xra a mov b,a lxi h,size dsub b dad s mvi m,cr endmac ; ; Pascal routines to become external modules ; (remember to include the ENTRY statements so that the linker can ; find your module) ; ; Pascal/Z run-time support interface ; COPYRIGHT 1978, 1979, 1980 BY JEFF MOSKOW NAME MAIN ENTRY FLTERR,HPERR,REFERR,STKERR,RNGERR,DIVERR,MLTERR,L98 ENTRY PERROR,STMTMSG,CRLF,CHAIN$,STRERR,MAXOUT,MXOUT,MXOUT1,STRMSG EXT ILODV,ILODV1,ILODV2,ILOD1,ILOD11,ILOD12,ILOD2,ILOD21,ILOD22 EXT ISTOR,ISTOR1,ISTOR2,XADDR,YADDR,FSUB,FADD,ENTRSC,ENTER,EXITF EXT FPEQ,SEQUL,FPNEQ,SNE,FPLTE,SLE,ILE,FPLT,SLT,ILT EXT FPGTE,SGE,IGE,FPGT,SGT,IGT,FMULT,IMULT,QMULT,IDIVD,IMOD EXT ERROR,CSTS,CI,CO,CHKDE, S: SET 0FFFFH D: SET 0FFFFH E: SET 00000H F: SET 0FFFFH T: SET 00000H VALID: SET 00000H MAXOUT EQU 4 MXOUT EQU MAXOUT*256 MXOUT1 EQU MXOUT*2 CR EQU 13 LF EQU 10 EOFMRK EQU 1AH BUFLEN EQU 80 TOPFRM EQU MAXOUT+MAXOUT+BUFLEN+3+1 MARGIN EQU 50 COMPILER EQU 0H MAXDRV EQU 16 CPM EQU 5 START: MVI C,25 CALL CPM LHLD 6 DCX H MOV M,A LXI B,0 LXI H,LAST EXX LHLD 6 LXI D,0-TOPFRM-1 DAD D PUSH H PUSH H POP X POP Y SPHL MVI B,MAXOUT*2+1 XRA A CLRSTK: MOV M,A INX H ENDIF ENDIF ENDMAC GLBP MACRO Q,OFFSET,SIZE PUSH Y POP B DAD B MOV B,M DCX H MOV L,M MOV H,B LXI B,OFFSET DAD B IF SIZE-1 MOV B,M DCX H MOV L,M MOV H,B ELSE MOV L,M MOV H,A ENDIF ENDMAC CSET: MACRO Q,OFF1,OFF2 IF OFF1 LXI H,OFF1 CALL CONSET ELSE LXI H,-OFF2 DAD S SPHL MVI B,OFF2 CSETCL SET $ MOV M,A INX H DJNZ CSETCL ENDIF ENDMAC UNIN: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI D,OFFSET CALL UNION ENDMAC MEMB: MACRO Q,OFFSET,OFF2 Lacro pop d pop h pop b xthl push d push h push b endmac cvtf: macro where,value if 'A'-'where' if 'B'-'where' if 'C'-'where' if 'D'-'where' if 'H'-'where' if value-4 mov a,l pop b pop d pop h mov h,a push h push d push b xra a call fout lxi h,13 dad s push h call fxdcvt else call fout endif else call cvtflt endif else xchg call cvtflt endif else pop b pop d pop h push d push b call cvtflt xcfp endif else pop h acro q,value cpi value endmac svln: macro mov a,m exx mov e,a xra a exx dcx h endmac gtln: macro reg,size exx mov a,e exx mov c,a xra a mov b,a lxi h,size dsub b dad s mvi m,cr endmac ; ; Pascal routines to become external modules ; (remember to include the ENTRY statements so that the linker can ; find your module) ; CHKHL,PSTAT,CONSET,UNION,INN,LTEQ EXT GTEQ,INSECT,ORGAN,COMP,FUSS,FOUT,FXDCVT,CVTFLT,TOUT,TXTYP EXT FDIVD,STREQL,STRNQL,STRLEQ,STRLSS,STRGEQ,STRGRT,LAST EXT WRITELN,L109,L110,L111,L112,L115,L116,L117,L118,L120 EXT READLN,L121,L122,L123,L124,L125,L126,L127,L128,L129 EXT WRITE,L130,L131,L132,L133,L134,L135,L136,L0 EXT READ,L137,ABS,FPABS,SQR,FPSQR,EOLN,EOF,RESET,REWRITE EXT FTXTIN,CHAIN,NEW,MARK,RELEASE,TRUNC,ROUND,ARCTAN,COS EXT EXPFCT,LN,SQRT,SIN R: SET 0FFFFH C: SET 0FFFFH M: SET 0FFFFH DJNZ CLRSTK INX H MOV M,A LXI H,80H CMP M JRZ NOCOM MOV B,M DCR B INX H INITLP INX H MOV C,M CALL TOUT DJNZ INITLP NOCOM MVI C,CR CALL TOUT JMP L99 FINI: MACRO JMP L0 END START ENDMAC EXTD: MACRO INTN,EXTN EXT EXTN INTN: equ EXTN ENDMAC SPSH: MACRO Q,SIZE IF SIZE IF SIZE&8000H LXI H,SIZE DAD S SPHL ELSE MVI A,SIZE CMP M JC STRERR MOV B,A INR B PSHLP: SET $ MOV D,M PUSH D INX S DCX H DJNZ PSHLP XRA A ENDIF ENDIF ENDMAC MLOAD: MACRO WHERE,VALUE IF VALUE IF VALUE&0FF00H LXI B,VALUE CALL WHERE!2 ELSE MVI C,VALUE CALL WHERE!1 ENDIF ELSE CALL WHERE ENDIF ENDMAC ILOD: MACRO Q,SIZE,OFST IF SIZE&8000H MLOAD ILODV,OFST ELSE IF SIZE-1 MLOAD ILOD2,OFST ELSE MLOAD ILOD1,OFST ENDIF ENDIF ENDMAC ISTR: MACRO Q,SIZE,OFST MLOAD ISTOR,OFST IF R JC REFERR ENDIF ENDMAC LPOP: MACRO REG,DISTANCE IF DISTANCE PUSH H LXI H,DISTANCE+2 DAD S MOV E,M INX H MOV D,M PUSH D MOV D,HCALL FADD IF F JC FLTERR ENDIF ELSE IF 'Q'-'C' DAD Q D ELSE IF M XRA A DADC H JV MLTERR ELSE DAD H ENDIF ENDIF ENDIF ENDMAC ENTR: MACRO Q,LVL,VSIZ IF LVL-1 MVI B,LVL LXI D,1-VSIZ IF S CALL ENTRSC ELSE CALL ENTER ENDIF ELSE LXI H,1-VSIZ DAD S SPHL CHAIN$: EXX LXI H,LAST EXX LXI H,-MARGIN DAD S LXI D,LAST DSUB D JC STKERR ENDIF ENDMAC EXIT: MACRO Q,SSIZ LXI H,SSIZ+8 JMP EXITF ENDMAC L98: DAD D DAD D MOV E,M INX H MSLE ENDIF ELSE CALL ILE ENDIF ELSE LXI B,SIZE1*256+SIZE2 CALL STRLEQ ENDIF ENDMAC LESS: MACRO Q,SIZE1,SIZE2 IF 'Q'-'S' IF SIZE1 IF SIZE1&8000H CALL FPLT ELSE LXI B,SIZE1 CALL SLT ENDIF ELSE CALL ILT ENDIF ELSE LXI B,SIZE1*256+SIZE2 CALL STRLSS ENDIF ENDMAC GE: MACRO Q,SIZE1,SIZE2 IF 'Q'-'S' IF SIZE1 IF SIZE1&8000H CALL FPGTE ELSE LXI B,SIZE1 CALL SGE ENDIF ELSE CALL IGE ENDIF ELSE LXI B,SIZE1*256+SIZE2 CALL STRGEQ ENDIF ENDML IMOD IF M JC DIVERR ENDIF ENDMAC NEGT: MACRO REG IF 'REG'-'H' IF 'REG'-'D' POP H POP D MVI A,80H XRA E MOV E,A PUSH D PUSH H ELSE MOV A,E CMA MOV E,A MOV A,REG CMA MOV REG,A INX REG ENDIF ELSE MOV A,L CMA MOV L,A MOV A,REG CMA MOV REG,A INX REG ENDIF XRA A ENDMAC CTRL: MACRO IF C CALL CSTS JRZ $+16 CALL CI CPI 'C'&3FH JZ ERROR MVI C,7 CALL CO XRA A ENDIF ENDMAC RCHK: MACRO REG,LBND,HBND IF R LXI B,LBND IF 'REGFSET DAD B IF SIZE-1 MOV B,M DCX H MOV L,M MOV H,B ELSE MOV L,M MOV H,A ENDIF ENDMAC IF NOT COMPILER STRERR: LXI H,STRMSG JR PERROR HPERR: LXI H,STKMSG JR PERROR REFERR: LXI H,REFMSG JR PERROR RNGERR: LXI H,RNGMSG JR PERROR ENDIF FLTERR: LXI H,FLTMSG JR PERROR STKERR: LXI H,STKMSG JR PERROR DIVERR: LXI H,OUMSG JR PERROR MLTERR LXI H,MLTMSG PERROR: CALL TXTYP JMP ERROR IF NOT COMPILER STRMSG DB 'String too lon','g'+80H REFMSG DB 'Call by reference precis MOV E,L DCX H DCX H LXI B,DISTANCE LDDR POP D POP H POP B ELSE POP D ENDIF ENDMAC ADDR: MACRO Q TEMP SET 'Q'-'IY' IF 'Q'-'Y'*TEMP CALL XADDR ELSE CALL YADDR ENDIF ENDMAC MIDL: MACRO REG,LEVEL PUSH X MVI A,LEVEL MIDL1: SET $ MOV C,4(X) MOV B,5(X) PUSH B POP X CMP 1(X) JRNZ MIDL1 XRA A ENDMAC DSUB: MACRO Q,SIZE IF 0!SIZE&8000H CALL FSUB IF F JC FLTERR ENDIF ELSE XRA A DSBC Q D ENDIF ENDMAC DADD MACRO Q,SIZE IF 0!SIZE&8000H OV D,M XCHG PCHL EQUL: MACRO Q,SIZE1,SIZE2 IF 'Q'-'S' IF SIZE1 IF SIZE1&8000H CALL FPEQ ELSE LXI B,SIZE1 CALL SEQUL ENDIF ENDIF ELSE LXI B,SIZE1*256+SIZE2 CALL STREQL ENDIF ENDMAC NEQL: MACRO Q,SIZE1,SIZE2 IF 'Q'-'S' IF SIZE1 IF SIZE1&8000H CALL FPNEQ ELSE LXI B,SIZE1 CALL SNE ENDIF ENDIF ELSE LXI B,SIZE1*256+SIZE2 CALL STRNQL ENDIF ENDMAC LE: MACRO Q,SIZE1,SIZE2 IF 'Q'-'S' IF SIZE1 IF SIZE1&8000H CALL FPLTE ELSE LXI B,SIZE1 CALL AC GRET: MACRO Q,SIZE1,SIZE2 IF 'Q'-'S' IF SIZE1 IF SIZE1&8000H CALL FPGT ELSE LXI B,SIZE1 CALL SGT ENDIF ELSE CALL IGT ENDIF ELSE LXI B,SIZE1*256+SIZE2 CALL STRGRT ENDIF ENDMAC FDVD: MACRO Q,SIZE CALL FDIVD IF F JC DIVERR ENDIF ENDMAC MULT: MACRO Q,SIZE IF 0!SIZE&8000H CALL FMULT IF F JC MLTERR ENDIF ELSE IF M CALL IMULT ELSE CALL QMULT ENDIF ENDIF ENDMAC DIVD: MACRO CALL IDIVD IF M&D JC DIVERR ENDIF ENDMAC MMOD: MACRO CAL'-'H' IF 'REG'-'S' PUSH H LXI H,HBND CALL CHKDE POP H ELSE MVI A,LBND CMP M JC STRERR XRA A ENDIF ELSE PUSH D LXI D,HBND CALL CHKHL POP D ENDIF ENDIF ENDMAC STMT: MACRO Q,NUMBER IF T+E VALID SET 0FFFFH EXX LXI B,NUMBER IF T IF 'M'-'Q' CALL PSTAT ENDIF ENDIF EXX ELSE IF VALID EXX MOV B,A MOV C,A EXX VALID SET 00000H ENDIF ENDIF ENDMAC GLBP MACRO Q,OFFSET,SIZE PUSH Y POP B DAD B MOV B,M DCX H MOV L,M MOV H,B LXI B,OFion erro','r'+80H RNGMSG DB 'Index or value out of rang','e'+80H ENDIF OUMSG DB 'Attempted divide by zer','o'+80H MLTMSG IF COMPILER DB 'Too many error','s'+80H ELSE DB 'Multiply overflo','w'+80H ENDIF STKMSG IF COMPILER DB 'Program too comple','x'+80H ELSE DB 'Stack overflo','w'+80H ENDIF FLTMSG DB 'Floating point overflow/underflo','w'+80H STMTMSG DB ' -- statement',' '+80H CRLF DB CR,LF+80H CSET: MACRO Q,OFF1,OFF2 IF OFF1 LXI H,OFF1 CALL CONSET ELSE LXI H,-OFF2 DAD S SPHL MVI B,OFF2 CSETCL SET $ MOV M,A INX H DJNZ CSETCL ENDIF ENDMAC UNIN: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI D,OFFSET CALL UNION ENDMAC MEMB: MACRO Q,OFFSET,OFF2 LXI D,OFF2 LXI H,OFFSET CALL INN ENDMAC INCL: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI D,OFFSET CALL LTEQ ENDMAC SBST: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI D,OFFSET CALL GTEQ ENDMAC INTR: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI D,OFFSET CALL INSECT ENDMAC DIFF: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI fxdcvt else call fout endif else call cvtflt endif else xchg call cvtflt endif else pop b pop d pop h push d push b call cvtflt xcfp endif else pop h call cvtflt endif else lxi h,value call cvtflt endif endmac dsb1 macro reg xra a dsbc reg d endmac cmpi macro q,value cpi value endmac svln: macro mov a,m exx mov e,a xra a exx dcx h endmac gtln: macro reg,size exx mov a,e exx mov c,a xra a mov b,a lxi h,size 1k!rͨ͜<^ͮ0!b!6GH!K^͋(8ͤ0!=688@8:=( 8::8:ī8: : : 9*6*"rq0t 9q09:Ħ9ͷ:{!(̓ 9o:!( !K!":\!!*DM!lxʂÀ^!"!6͋(8ͤ0!=688@8:=(:& 8o 8:: : 8:& !r6H!ld!6# x !6!"!"![!:\(*~"L"N""P""R" ! 6ͺ"s+r+ s+=N*̈́0 !$.318 =2!j~#O !=7(O_ _#!~6(#O!#"͋(!ZH*~a8{0 8#"*+"*͋/ ͋L7(O ?!ɷ"!=͋(8A6/(6,(6$(.(:(08*:8A8"[0w#͋8(6!7ͤ6!67 !6#͋(8,(/(y00!7ͤ> 2:(:\/(!2{22!:( 22{!:( 2!*:\(!~(6!:2͋(6A 'C /D 7P G!]:2'ͷ 82  CS!:2  7!u:'ͷ 82  x(CS!H:2  *p"!: (*N"[p"N*L"[p"L:  K[!r+s+p+qͭ!:*5 :[!+5!:[p*!R!*[p"pY:'ͱ( Ͳ!:s8: T*[~R:\ l" *p"[p"[p"Kw:' !"@ !:!7:ĵ!::l(*R" [p"R*L" [p"L* "*p|(,!:* 5 :[p+5!::(*P"["P*LD,OFFSET CALL ORGAN ENDMAC MTCH: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI D,OFFSET CALL COMP ENDMAC NOMT: MACRO Q,OFFSET,OFF1 LXI H,OFF1 LXI D,OFFSET CALL FUSS ENDMAC xcfp: macro pop d pop h pop b xthl push d push h push b endmac cvtf: macro where,value if 'A'-'where' if 'B'-'where' if 'C'-'where' if 'D'-'where' if 'H'-'where' if value-4 mov a,l pop b pop d pop h mov h,a push h push d push b xra a call fout lxi h,13 dad s push h call dsub b dad s mvi m,cr endmac h push d push b call cvtflt xcfp endif else pop h call cvtflt endif else lxi h,value call cvtflt endif endmac dsb1 macro reg xra a dsbc reg d endmac cmpi macro q,value cpi value endmac svln: macro mov a,m exx mov e,a xra a exx dcx h endmac gtln: macro reg,size exx mov a,e exx mov c,a xra a mov b,a lxi h,size r+s+r+6+s+r+s+r+s+r+6+s+r+s+r+s+r+!l:\!gl!"!"*+!V*:!C*:!@*:!:`!*++++++~(^+V:!II !6^~(,*P!I!((!Ó!(~6!d P~+OP++:|?}Y JPK P :(!ͼ!6 #6 #60(G!~ >04>82!7:nG*#"+*R8S*R0S:\( [~R8'*R8 R8lp!!O* 8*(*[p}z|zͱ"["L*|!:*5 :[+5!:G:sG[p(*|( !7 x[p"2=!6:] !7: ͍*Dl!Oͼ x d͍*">:F *[R8AR8|(3E}: *5 "!l[~R: ~#: yD: P : *5 P !d|: }OY zF {!Oͼ> F > Wc zS 80_:& !7Ϳ:m !37:o :r ":͜ !Uu!m6!o6>2r :(!!Ͳ! : !\ !Ϳ!A :(Y\ Q .: !uÙ*60å !6Ϳ:m(:o :r Ϳ:m *:o(<:r0s 0kf !}~!~6:[2|:T2!"!u~7 #y# o&))N#F#^#V!~8 ![4_kb))!uɷ7N!lͼ6!}:n!}:oØ!}:rH*H͕H:tGu3:s[p{3z3:!uN#f0!372m ͕2nl2o(ͨCp͆2r8( 0Ȗ++^+V r#s*Sf^+Vr#s++++^+Vr#sfѷR[ s+r+[ps+r*^+V#RSSfa^##~+7*++++++~ͣ( ^+Vͳs+r~~w+y!* * `i:s!* =*=*u~+^K:*S++^+V*~(B *T]B*S++|^~"ͱ(BK^+VSw*:\( [~R8#*R8 R8l^q#Vpz Ͳ!f++++N+F+x^+V+N+F+^#V r+s Aux blocks Bad address Bad commction SaveStarting address redefined Second common larger Start =Start Program Too many commons Undefined common Undefined REL entry 0 HEXMAP.REL COMSYM2!""*+a{Y!~#~6<(3$ "?2l2sͨCpy02t!u6 #!u͕w#=!~ *P2|!65!|&>Cf'Gfl'Gfl''Gl͆''''G͕͆O͕G*++++"^+V#"!"[*|g}o"*Oz+)))##*R!u #^+V>*0""^~u +>"~^+V+Bz **^##^+VSS++++"O!u~#![*~+foR)))#*#~#ngDM#V#~_zWs+r+^+VR#!x(+w[p+s+r*^+Vr#sfV+"and character is a bad EXT chain Bad file name Bad input file Bad option Code below lowest address Can't findCan't open output file Code overwrites tables Common section Data section Entry point symbol redefined Error writing file Generate a HEX file Generate a COM file Generate a symbol table Hi =Load mode Lo =LIB Librarian mode LINK version 1m Module name isNo COM file in offset mode No GO in offset mode No output file Name too long OK?Offset Program se ^##w!/ !9 !M !VDisk erroError extending filDisk fulDirectory ful"ͼ 6# 6 #6#*(G*8:( yy:xA0"!wT] *8.(w#7!y.(!8*(,([(]( ?0:0~O#!"*Nya8_ (# ">P !!"*q>ݕ#6 7("*}7(+"~*+ÔP Z :!3 :!3 v!60! " !4* ~7-N#O O" !͖H!y|Error opening input file 0×1 "2!F#NO O! 6 #! 6  " ##" -(#/ʊ.,)* w#" !|File name too lon/-h(,/ʍ* w#6:-h(,/ʍ! -hp,/ʍ!6X !6!" -h/ʍ,*+"/-(_-W-O!~#( ~# ~( ###!|Bad slash optio{C(H(22/222/2 22/2" ^##w!A !K !_ !h|Disk erroError extending filDisk fulDirectory ful" 6# 6 #6#-(G-8:( jj:xA0"!wT] -8.(w#7!j.(!8*(,([(]( ?0:0!"*Nya8{0_ (# "!"*q:#6 7("*:7(+"~~O# ȱĉԍÉčÉ؉Ӡ͠ƠōǍԠſډƠӍ؉ȍ։¬͍؉ȉԠϠԠٍƱ։ÉſډӍȉ‰Šԍ։Ŭ͉Ӎ؉ȍ։Ĭ͍؉ȍ։ì͉ԍ؉ȍ։¬͍؉ȍȉȉŠŠҍljӠΠ̍։Ŭ͉Ԡō؉ȍ։Ĭ͍Ǎĉ‰ĠԍǍ։ͬĉō؉ȍ։ͬōЉȉԠҍЉ‰Ġҍ؉‰ԍ҉ƱԺӉԺӉҬƍԺv222:2n: ͦ1 >2U:29͉!ͦ1>2U:͉!!="/:"1:"3:"5:!F:67*=*2:*2:*2:*2:"=::(F=2:*/:T*"/:::(3=2:*1:F*"1:::( =2:*3:F*"3:::( =2:*5:F*"5:3!F:5 >2U:29*=|( ͉!*5:5 1*9| :!!(* v:n:(1!9'6#!8:6!7:6 :! !8:6!7:6'!:(!":":Q,͜&##6#6ͥ>2U:292`::2n:2h:2i:*":N)<!(;6 #29;2L:2}:!":":!c<"-:6!-;"(:*:|(2D:!9;":'8((_ ( >2U:{ >2D: (x(*:s#":*:6!9;"j:*:|!r!8;6*:|(:}:m"*:*:| }Ĵ":9:!(-!c<"V:*V:~( #~#"V:͇!94*:#":!X:5!,;::(6+:L: :i: 29;::(6-:n:͉!:-; !9;~#( ( ( :,;+3?:h: :L: :,;-(,+((!(;+!::!:!:2:( > ^!=!9;%!:L:(-!(;O&!9;O&+3:9 :(:n: !(;+!!9;%!!:~6!:ă!: :2:::2::D:uGua,&)a, .::(]28:͵,27:*::(([:R0" :9 z(t*:":"::8:2:*:|Yn!*: ͝" :(ͅ" :(s"  .*:":*:{ozg":*:æ*:hCOMHEXREL: o&T]))) w#6:/h/> ! 4* 6.#6S#6R#6C#" ~#. NO# O 6: 5 : = : 1  J9 $ J!~(: !" Z!3 ͖1! Z! ͖1! !"å *+D}ɯɯY!~#~6<(3$ ȲӍɉĬԍÉčÉ؉ӠԍȲɉĬԍĉĉӠΠŠō։Ŭ͉ԠĠˍ։ͬÉŠȠŠӍ؉ȍ։Ĭ͍։ͬ։čʼnĠƠοډΉԠԍԍغ̉ʼnԠ̠ōԉԉӠĠԠ΢ӉԧӠ̍Ԡ̠Ӯƺ̉҉ԠϠԠō؉ȍ؉ȍ؉ȍ؉ȍ։ì͉ҠӉҬƍԺӉҬƍԺӉԠҬƍԺӉ姬ҬƍԺӉ姬ҬƍԺӉҬƍԺӉҬƍԺӉ COM HEX LST REL ҬƍԺӉҬƍԺӉԺӉ+3>29͠v: : : : !":*:":ͥ!3 : !9N* * (:`:ͅ)( ; * i)ͩ)(i)( *$+::$ !:4!:4~!:w̓! = $:: !`:~/w/2:!B:6 :`:go = !:6!:̓!G!:̓!!`: 6x 6 Ϳ=ͅ)( * ; )  "i) ͩ)(*+(C:9()*:͗,= :8: ͦ,[:*:s#r!}:6*:":*:":*:":*:":!::8:ͦ,͔+i)( ; * )(.*$+ ,+(!*:͗, *:| [" & " ::80(i)(!:6::2a:::_!^#VYBbKf(08BKTgouafkz!2%+/8<Eb| y"  .$ *:":*:s#r::͗, Gͦ,::ʷ!":÷2}:*:| ͗"  .$ *:":!D:6 ,  .::8" 2:! :6*:":*:|ʷͣ"2 :÷ͥ:a:n!{! ,8wÝ~2*::b:w*͞-ú,Һ~0͋-ú͒-ú,82*:w,Gҷ:b:w!*:>Fw":b:w!*:6p:+:,0O"!*:w2+:ͥ:a:{!:*:{!:+:ã .5*ͥ:a:{!::ã,8wK:b:w!*:66 .5*::2,:ͥ:a:{!:*:{!:+:{!:,:ãͥ:a: .{!*::: *:{!{!n! n-8wò:b:w>!2*:ͥ:a: .{!:*:ͥ>{!:a:ãͥ>ͥ>!a:F6x!a:F6>!a:F6>n-Һ~ wͥ:b:V-w͋-jn-c- c- > w(n-c- c- > w02,:,8G:,:2:6Q~G:,:2,::b:w>2*:Å͞-æ .:9 ::!8:Y1*:*:0| } < }ͩ".}2:Q2G:ͥ>2F:*j:~'("_2E:#~( #~+-*/&i)‰i),;  !2g:{!!E:6!F:5 i)(+"j:!": !":>2F:2E: .5*::2g:{!!F:5:#:(:F:(!": !":#)*j:~G; #~; ͤ& x!(ͩ)(2K:xͤ&*j:~ *:"q:*j:~&i)Gͩ)x(! &i)2K:*:~! #~!( &*j:"j:*"j::]: (:: :K:(2:2]:$+::* ! :4+(-*9:'+( ::ͤ&*:~# ++~!i6*j:+"j:i! :5~2:i!":ͤ&*:^+V+}o|g":*9:^#V*:":i)( ; * 7" C" 2:2h: ?:2i: !96͊)2:͊)2:͊)2:n! ::(" -0ͅ)i)(*(';(#,(ͣ)OOi)((;( , 7"  O* ͖H0I" !:6 C  , U" *+ !":>=!:ͦ,͔+ *:͗,q#"Y::9:j:9Gʥ:a:ʥx͇x2;y2;:9!C:/<͇6;(O*  3å!;N#:9G#Ntå:929*  2[:͚G:[:͚O 80::!(;͇p#q#::͇p#q#:7:w*(:͇p#q#6 #"(:*(:z͇p#q#{͇p#q#:B:w#"(:G:9:x( |͉ *-:6#w#6"-::9: }||::(= ::Ø :!ͅ"7::9*:+":j"::8:2:*:":!96!9~6::::2:= !:Fw[:> ü :!o:6!:6! > !9~ ( > M[<{(> ͼ [<> ü !=/ > :~ ( #y2:!:~*6 !:6+!3 :: > ^!> ^!x O* O! y!29G:#:x7"*:#":~=w:U:(O:9(B! :~(3~B 2 :2933! :6!:+!!&+!*:#":i233!962U:29: :;>2U::: o&x o&O:(:9(:!=DM^#V #~# *==G*:|"*:^+V+}o|gp*:s+r* :#" :! :4~6*:+":*q:w#6"q:*:"q:~#"q:ͤ&*q:::i):E: :G: =((*(:+++"(:P*-:+:g:w:~( :F: !N": !":|{! >>ͥ>2F: .*::: *:{!{!:#: !F:5 !": !":ͥ .*:*:":*:"::(:9 z(t÷!:4~!:w̓! .*:|·!:42`:÷::Z=" :2n:  .*:"e:!:6÷2}:*:| ͋" :9(>ͦ, ͗,(ʹ" *:":":*:s#r6+6͉&6#6#6#6#"9:6#6#6 ,((**9:'+(+" *9:~/2:͗+*j:~, , *9:+++V+^":"q:6! :4!":*9:n&":!B:6 ú*j:~ͩ)2:2K:2]:i8 (ʹ" ͦ,ͅ), i)C  ,*+(*:͗,Ĵ"c*:| " +":*9":###"9*=###"=͜&^#Vr+s##N#F#+ +T]+++x([:6#6#6>!:ͦ,͔+ͅ), i)'C  ,*ͅ), 7" !: C a,:a:28:͵,2B:27:!":ͅ)!#:6( ;(*(6͂,":àC a, ,(*ͅ), 7" !l:!9='+ !9~ " 2:4!9=͗+::* *C  ,*ͅ), 7" !:>.(#6 9!;>22X:2C:296:###"Y:!;"$:::2;͇::2;͇͇!;"$::[:!C:w*$::[:w#"$:*Y:p#!=/::= ^#V#::G> ~7͗,##=( ( ::2:!;=~ ^##))<^#V> :ͯ: : B[:::G>ͼ !:~(t >͡ t t !== ::G> ~7͗,N#F# ͜&#### ~2:#N#Fᰱ(:::9 [:z(> ͼ *S:":%,::*:|đ"!:6*S:":!o: !:6w!9=F!A=( !:6 !:6> 7N* 6!:t x !:w !:w t t x ͡ ͡ ͡ ::Gx x x :͏ xx x {͏ zÏ ad arithmetic operatorBad argumentBad baseBad instructionBad labelBad numberBad symbolCan't backup in COM fileDisplacement too bigDummy redefinedDivision by 0Extra argumentExtra ELSEExtra ENDMACFile not foundToo many index registersMissing argumentMacro not definedMissing )MACRO symbolMultiple tagNot allowed in COM fileNo EQU labelNested INCLUDENo relocateNo MACRO labelNo expressionNo SET labelNo EXTOffset not zeroOut of rangeRedefinedSymbol not foundString too longSymbol t"2:ͺ(!:4*:^+V+"=:"?:͉&";:!"u:!"s:"w:i)(ʷ';ʷ'*ʷ'*j:+"j:*:| "÷'+":*u:#"u:*w:6#"y:*s:#"s:i)(7 #" G' G;(% (! (, *y:"w:N' *w:4*y:wm'*s:DM*u:*;:q#p#6#6#s#r!=##^#Vz r+s+V+^ ::2: &:: * d* d8(ɯ2:::j(*?:|ʂ(+"?:*=:~+"=: > /<2:͉&`i####::O=V(2:'## (^#~2:#":!:~ 2:'5*:~#":!:5(͉&`iN#F###^#V*:":!=##^#Vz'{_zw+s+V+^::o&)))m<*?:(*=:(::g::o(::g:`:os#r#::o&)))m<)"?:)"=:)|2:}2:)|2:}2`:^#V#!"{:!=~͗,## ++6#6#*{:#"{:!>0)1*=0":*j:~(#"j:~ ( <>*j: .::(!2:::aͣ)$($%( .(#(_(08 :8 A8[8>ɯ$(%(.(#(_(ͣ)A8[80828088808:82\:08:8ͣ)A8G0> 2\:::2:##::::   !! ͇yHG!H! M ::ćyHG!H!::͵,O! !|>7{!*:":!:6 #|(a*l:"j: .*:|( (%".}2+:*j:~#(c-"j:Ϳ-*:|~c-}2b:*j:~#)(a"-"j:-Ϳ-*:|(!.}!a:ɯ2b:Ϳ-*:|(|~ }2b:7n-8͋-oh-c- .::( !":!::G xj-*j:~, #"l:U"!":*$+*j:~,>2#: >2#:#"j:::7j-*:0R|"": .::Y1::Y1>2:2:!":":!0":2#:2:::͵,2B:*j:~U";U"*U", #"j:U">2#:- !0-i)'ʗ/"ʗ/ */(~) "~*+(<*:͗,2: g"!:61 U!:~6 !:M:?":$+(-:: !0-!":i)(Y. **:DM*:!x0 L1*:| 1"*:}o|g8i`0L1*:*:}o|g0:: ::!":!:6Å"͔1>ȹ7!:p͔1ظ !:6(:9 7::7G::7O*9i2!g%P2*=i2!r%P2*:i2!%P2* :|(i2!%P2*{:i2!%P2*<}( i2!%P2*<}( i2!%P2*<}( i2!%P2!%P2!;=~^6 #6P2))<^#Vi2!%P2:+!:(:9(|DM>2H:2p:!2"V:>02:*V:^#V#"V:bk 8| DM!:4!p:::O0 ~(#6:9(:(:9(:n:(! !H:5 y0O:9(:(:9(:n:! EI ELSE %END ENDIF &ENDM +ENDMAC+ENTRY 2EQU EXAF EXT 3EXX H HLT vIF $IM0 FIM1 VIM2 ^IN INCLUD1IND INDR INI INIR INP @INR  INX IX ~IY ~JC JM JMP JMPR JNC JNV JNZ JP JPE JPO JR JRC 8JRNC 0JRNZ JRZ (JSW )JV JZ L (LBCD KLDA :LDAI WLDAR _LDAX LDD LDDR LDED [LDI LDIR LEAP LHLD *LIBFIL7LIST (LIXD *LIYD *LOAD SDED SSET SHLD "SIXD "SIYD "SLAR SP 0SPHL SPIX SPIY SRAR (SRLR 8SSPD sSTA 2STAI GSTAR OSTAX  STC 7SUB SUI VER 0X ~XCHG XRA XRI XTHL XTIX XTIY Y ~ ƠҬîîĉÉРҮЉȍԍΠ半򮍊κɉĬέ򮍊؉čɉ؉ĉ򮍊ЉΉ宍:*j:~ͩ)~ͣ)i)ͩ)i)!=!f3":^#V#"&:!":":*:*&:|g}o"c:*:Oz)+)))##*:!: #":~#2:~2:)*c:0":"&:!=":*:|"+":*&:+*:N#Fyoxg#)))*:+~+ngDM+V+^{_zWs#r#^#V+!x(:w#++":*:^#Vr+s*j:~),(U"i):9͜&####[:~2::8:w#~2:::w#~2:::w!<6#6###:8:o&))<[:s#r#~#~r+s:8:!o))<^#V~#y2:O~!w#(((8( ((>?> >'>">*>#>+ɯ2b:2+:*j:"l:~(($Ϳ-*::"::8:2:Ϳ"!:6!/*:::> ::͵,2B:*j:~ (;, #"j:d.*:":!":!:~2:6*j:~#"j:+!0(-!0(*!0(/!1(& !91":>.! .!:6Oi)( i)x/!":"/*:Teo":zG!:6*j:~( ͩ)  #~.(F+~ * = ~ͣ)D(2.(.B(4O(:Q(6H(<"!":::G:A:_*j:"j:/30#0 *=00)G00*Q00*x2:y2A:2\:2020202020*j:*:Ͱ0)0!\:6o|g 00T])))))))!:~::w*:":Ͳ0g1Y1*:*:":x1Y1*:*:{ozgL1*:|/g}/oL1 *  *  ! :4 ! ! :9 :(:9( :(:9(:  ɇ$ A 8ABS 5ACI ADC ADD ADI ANA ANI B BIT @BSET C CALL CC CCD CCDR CCI CCIR CM CMA /CMC ?CMP CNC CNV CNZ COM 6CP CPE CPI CPO CV CZ D DAA 'DAD DADC JDADX DADY DATA 5DB DBS DBZ !DCR  DCX DI DJNZ DS #DSBC BDW "E LSPD {LXI M 0MACRO *MLIST -MOV @ MTLIST/MVI NAME 4NEG DNLIST 'NMLIST,NMTLIS.NOP NOT ORA ORG ORI OUT OUTD OUTDR OUTI OUTIR OUTP AP 0PCHL PCIX PCIY POP PROG 5PSW 0PUSH RAL RAR RC REL 5RES RET RETI MRETN ERLA RLAR RLC RLCR RLD oRM RNC RNV RNZ RP RPE RPO RRA RRAR RRC RRCR RRD gRST RV RZ S 0SBB SBCD CSBI ɉĬέ؉ĉ宍ԉ؍ԍȠ̠ϠԠӠŠҠΠàΠŠԍŠΠΠŠɠҮƠŠҠӠ̍ΠӠȠ٠ԮŠԠӠҮŠ̍ҠӠԠϠŠǠƠŠҠȠōΠӠĮȠ̠ϠԠӠàϠōǠƠŠҮԺȉȍɉȬƍĉÉԠϠǠƠҮĉ̉ԠŠ؉ȉРŠҮɉͬ҉ĠŠҠȠҮÉҠӠ̮Ԡ٠ΠҮډԲ+6+6+6:Wz2>G!:6 #=6!:9;:>G;= = =)>:#> G>w#O:(:9(:><2>=!&:(:9(|!&6 #6P#6a6 # :(:9()>:><2>G>=0 8 :Gy0(w#p#ȉȍĉÉԠŠɠȠҮ։̍ɉƦǠƠſÍډԲӅ TDU0LENGTHUS@%9b: L19Q";2USrN'"\ XV^°i+uW͠#$0n! j]jH e'#6>ܭP@i| "xV <@X p6~H6_ CE¯p`Df8hOӸB0"3l0nZ!7AB 0f|"*))m**J4d))")N e5E$UMQIFSTRGRTT`e5E$58MQI9E2:TS#MQIF:$ԕ#MQI1F:6 MQI9E2kͧ`di(v6?"`$ͧ`i0 %^r-+T "ru\ Հ]m+@ @`ͬ-+D!~?/[u_XۮW @p!`dD"$")FA2*rf$#FIb2 "$d8"$"FJ@r2b*e,( )cb2*d#(&*Fg@*2r*S4480L136S`M =N: Ḷ0:S@@`Ef ӻB_.  ڰ!jf *!~?/[uXL j@!..\8\-pvá`ru\ ՀPV4i] 9|ۮW@jBd]w+U6HۮW @ppWxoWۧW_r@ $;V">9Z@`ɩJSV dUd5H0:V#0k^/h!~?/[uXKtj@!.Å!~?/[u` ڰf ӓɺsxH}[uXv.<-+\sźfy3@XV^qYJЀ7F h#Dð tnEr4i^@ W/Zru\ Ճ4mrn\ Å!~?/[u` ڰn-3f K-rjij@`˭p_K;W]m+@ @`! J+TB@V]m+@ @`͡-$!0,!~?/[u_X3h jY`rjO`\j_V6(ۮW ;W]m+V+@j@`˭p_K;WUnV]m+@ @`@.V66]m+@ @`ͥ-`!."ͧ`-|!~?/[u` ڰf0Vr͵ 7=ۦgÕbD%DrY^D 0r@ % B 0̘CVTFLTdDdU%(0ENTRSCUDh̰ FADDTdDdHFLTERRdTHpFPEQTe5(( FSUBDHL118ӀDU%(ȐRNGERRTSd$5D0:TS0j\^h;w]m+@ @`g7\W@gB_.P _d`+ CKH@W64 0 hGPZ,t 8T D3XMEIR: LcMEIRkr^hg7\rn\.\8\"ru\ Ձr@a˭pAHvۮW @pp_r@ $;VXr@/% B_.  ڰ3ܮVhҲ`"ru\XV 9u\ u@j˭p_/Hv 0r]` ڸpD/n\ @ 9|ۮW@j6 9|ۮW@j6 9ۮW @pp_r@/$;Vru\XVhڲ`˭pA`K;W]m+@ @`!~?/[uX3o`j@`˭p @ppX0j_rEbXvK@D%DlerYk/n\"X;V ڲګ""VZڭ@"ru\XVm~mX sܭVmmX 9|ۮW@jh[VB]m+ ]` ڸp[J_r@ $;V/\ 9u\, u@j˭pAHv 0r@ % B 00"h0]m+@ @`!2B.;Ͷ -h!..\8\,:IȩʊJhq*f(,ɪ` `r@/W$;V 6 66p6H 6x 6 6рj j@`˭pAK;Wa0jʈɊȩʊJhq@(ɊJQp j*Qi(豚&&@bbqJ&G1JJsUD3H 1:: L# 1:k^ohr@ %~aru\ Հ+ܭVhҪsy\j@`˭pAK;W ހ_r@ $;Vrn\ Ågn2Yh:ۧw]m+@ @`!-'@]m+@ @`!-'  ڰpGY}W@`˭pA`K;W]m+@ @`! J+U4tlH}˭pAHvۮW @pp_r@ $;Vru\ Ճ4[uu@j˭pAHv%DlrD'`DrrD&Ep1rD/n\"X;V BI+W+TBjMa+TB_.+ @`ͤ`""cZ"`[9Zru\XVmGf٠mkfmqf@mwfP 9u\ u@jn +!2B.;!~?/[u_X3@ 9u\ u@jn*!~?/[u_X8Z#r 0r@/% B_.|  ڰ[uXv.0# 9QIM2XQVU/12QU#055U1R2#$A1R3nPՕ deD5eHFXDCVTA#7N$٠tnn03[BRӛB ^m !/764C.QWJMӠuA ͩ± sfE#WN?@-+V+D!`^qYJڀۦB@0E7?ۦ`\ͳ *7?ۦ`FWn0T 6}D f7?ۦ`D f *?@+V+D ^qYNLsV+/6Հۥ땺fM{#+'7 h¡ -tlnJۦ]^~9D R![t n iHFWnQ ͵`ErqT n0"3nJۦ!}?ٴ ^ gm@P@n7/7$;Ls":ғfM{#+FWJL*gnp֯vm0%n+ݥ!`gn6gnp֯vm0%n+ݥ!\{ L+gn6gnp֯vm0%n+ݥ!\{L*Dgnp֯vm0%n+ݥ!bêvjiI3[BRLs":ғfM{#+nۦ]^~+ݥ&m3Mt3M0WJB1fM{#+Kϳa&ȩʊJhqJi(豟PJi)V(nL!}?ٵl.n+ܢpW/8ܬڲһFvn-p!^) h·Mtn1]^[Wtl\XV3M\rY(STS D#0ROUNDUS0: L#I=U9:.US +@7Z -h>zQ2B9:e{,ғȈFADDe$tU%)Օ d5eDdHCVTFLT̀Z!`{TfW(ͺ~X+u +@p\-{2P% 9=I6pQSTdDFLTIN5\9u  >_@+fP ģ000f?M*Vi0f@eQ@0áÐ| zܬMpDcA n s+9p@K, j!, fljiZ(?b6=FaLeX!*)(FL2*ʄfX(*Fb"bzٴ<`e`d0qk8ͮ #S68Ⰳqf0PPPPa@0 u@ fp03^GpYEd?2uCmW+uʯ'm,psWEfháLF h P b/ R=o,;0.f`$ c`ںEuzuEq!r(+"65F`9Hw^eP&7>ܭ!$/PWp*nG|2/Pna|]5x@*99|\- 3K$Bbr#_- ^aVG(3@m:D a `Wܭ0nH[~[V`qw %͢@c;6,*,NQSTdDFLTIN5\9u  >_@+fP ģ000f?M*Vi0f@eQ@0áÐ| zܬMpDcA n s+9p@K, j!, fljiZ(?b6=FaLeX!*)(FL2*ʄfX(*Fb"bzz\Օє D5eD YQ2CVTSFPD5eDCVTLd5eE4e Dڡur]c+un O("p#?5X26YVw uqA,ftl7F7ahpy<d+Eg?M*G@Q0mW)bsC$s,(;Hv$St( ج\>C   ћ  jQ oI*Q 8QSdeEDTAQQ::S@AQQ:jt!-WX@j e@\4[@n.L@ cȉ*Ȇ1 8U TdDdH%Y:QU#%Yk\h^Vպ~Xrn]j!(n p)w7Ou, uQ"eX)|!}/* ;[ڬQDuA`H+ Àx{aFf v ErEkvhB3@B Z ` h# B(rnPe;JȦQ q jQ }Iꉈё 8PT4%8A NL115 LMDx MEJ:P@A N: LMc@0:$ LM@ MEJj.>2fszRdZ,Zt 02*RSUS'QTTe5(0:QT0jhXV+U#! 5U1RpQUS TdTHFMULT0Z.n_V([Zw7O;/u u ӸDB_-(n[7* ;[!4.+U-+Ep h@ `$  a0B_-Xa#1=92`QT+5A2U-`I=QI%pQРDdDHFSUBDdDHFADD1De5T) zZVg-~\"h F%+[@ ~Le,(")FQ@2zb*4d-"!QTTeU%(FPERR+ۯ_@u!/rwLd(#&*")NUD4UMNGTEQT`T$tCOMPDeU580GTEQDDUORGAN3@X`͠ Z\ n]c]jK6jeqVuWY +Xl \ *ȡh_.K6 SAVREGUӠd44UH %9:INSECTUSSӣ =9MR:S@%9M R:bUSSӦ`hZ,vݥ& ER;,F~0H C͖#Nzh~uXl pG/Z9r",r j*8TU U5DHPSTAT9D 8\@ K&@6A@m,@ X!WAx1R>,02l$` I12UT$QaQeBp T4DX !-!2:Pc !-!2jD@ :rhHJ8JmptT26Qc"@ %12@TQSѓ4Th=1:FTXTIN L D#0:XSѣ=1::rS0:X Lc 0jr樨 _| `dF~YTDa 3H@`xʤ s 0x#H, >IV|ڐh*[2nQSc&5QIU28UQLc( Q%:2U'SU D0WRITEԒUS#W(m+n @zO)@6 mVY/?V tBG-˕YPn^g7ݥ ;xD 'f ͬA X 6YDm-b@n``\'@p J6D8ʹMXApEm[tV˭dGiH` % |0@7N#\ u]m0 nIVqm`<K1yä Y+g@!j1;b6UW@8 `4XlΈBYTOT$4ERRTMFeD((PUSHBDπe$$4SCANe$$4RBLOCKڀ@0\18YeaAfb1"']`4 p]`4 [ "]`4123e$Uu$IDF#@V+, iF#f V+̴s-O2[f`F#fXd\/+of0%|Ϡ'녒! 0o7 q@o8Myp:cI\!Lyp:cI 7MXCLSOTdDTUDX(MOVNAMTHPERRORE44SV ddM ::TSՓScM :j@ |_7 z+' _sFr+/+^7d@!*8%A'3@XAi V +r /GLe #$' A2jze0$FP"zSV TTDU(9QIMEXITFTTDU(ENTRSCTUDiHV(qZ/ݐlVDdb@˕uۧp`WpP`0h^Vպ~Xrn]j!@!7OX(Ud^fYR@!e  ڸa, ~@ nG@9/QͰ` P'eH‐" @f` !#GU^xB ng6A`rg6A˭,?fp, a COMPOPTDS(FPERRTDHROTRIGeU$4QӑLTDS(DONE2B ~YrU1~[ 9|PFNORMTԓ`Td$5AMPSUBTd$MPADDT5T)!L `UP04 an[(F+wi #" S8Z/Xf(K6!Xl pG/Zkh*HUS TTHE5U1R:<RSUS#E5U1RjJg!4BYX=!Tesм{l|Ϣx^W^wXzxD"[oea2>0P uMNQaհWғ&2STTTU D#(IMR: LIMRj~Yl^#`hb6h8 3@U4PX+W"X Xeg^錔T%DhCLSOTddOPNINE44QTԠTU%$( 0:QTԣ 0jP<,Xe o~/p#~ϋQF!iiꑐ 0:\ LLc]I%Q:ԒUS&M+67\0p 3j-##9mm #nZ/[f땺F.m\eb1p¯ AͶtB7G-I@KHv 7XVYX@~\94  >/Vbtnp Y \,[YpYfaC0=, ʎf\`+2YX ,(a~?۠X%np )[`t HPeCyH Àa@ !86mqw E#?A+na@4p # @}H6' nl譺+ ڭ~@|`X1"(s  f O @>,HE#I2+tn [tVa8 b 3mA p]`4 [V+l~X84!0M3@ "!F #B1.pi4A&hb,<`CgLF#YlexDD gq"\(eb)үCk@x |D&@&)uBX CSTS$4COD55E9@4٠Pݔ:͠ 4 am,L(F#$A=A! 2:T'S`T=A9=R:BSS=A9=Rj 3@<\- d?\- f"%FfPX8 FD""*d('$"!FH2B$d)")ђS dDTUDXA=A! PUSHBDS 1Q:NAUM! :S@ l4 pDxf@s6=Y @l 녺pX,Ej[W6XW+UɜTSW/Gy2&s{,*4F{twiHp,` eYaXXyWpi ^,͠ 9RWYɜUQe4e$TxSAVREG0\R(F#n˭8SS D#h0L128PT4UxI1N: L0:: L#5I.:ӑU㣠I1NjJlC.VD+9YʽRm ˕9 ll[,ȐHPERRTT4 =5A=BZERCHKTc  =5@:T#iI !.:"Tf 0/cN3>!0^U`e$DDI=QQJROTLEFQ㡠I=QQ2:UI=Q1:Q ?Ⰳ P 3X:DS@%MQ=J:fTԌc%MQ=H:VQ@eJjO#[V$+'8A&;$Gb\IVNpH³qO#[V$+' Cm^sV땂 # ³="dݥ&땢dݥ'땢dT D5HLASTN ܀#O7rp "tntn@a+,(A0`nRSTTC%1=ILOD12RS dC#%1=ILODVS`dEc(%MQ=JISTOR1TԌUDE(eJ:RS c %1=:S L%1=: S c %1=:@RS %1=r2Ά@f:# @f4 EFKr*zdL('$"!F@@2B$gl)")V 5DQ=URTXTINUT# Q%::U# QaQ%::UT& TU˔Dg @8 #mc26'hj8thH0"FPƅ2qxtjjnë!?ٴ1g Q 8PUST%DBYTIN3@?zB-wefeWPF-P84.PF4cG "]` 4 pB(e 3@ "F`!X8B/8\0n-eG@-P84.Piu(n 8\2P Td4X %IGTS`4H5QIUMTRUE1Td4XIGE4uHPILE4HhMTRUEdE%TST iH~>*T^7v'S+Ґ|U>HRd#%^7d\!ʽ8ԑS U4UT MSGT`54H M9:TTUS# M:# M1:$# M9kBͣ` mY,ͩ`K62Y~n[09n\-Ktnݪ9J7 EbwKtqZ,֯t\A-+ nO+@-^<"ku tF\\A-+ nO+B-^<"ha8U TDdH%5=:RQU#@%5=k|U=Yg@/+,(s#WB=*Ǖ.uiI^\}0Y3DLOOK+ׂ +dE@`EX B4Y3 DeUARFPGTE TeDXA9F:8TcAR:QcA1R:*Qc`A9Fk<ͥ` `Fͥ`(`8ͥ``*ͥ``ͥ``ͥ`0`>2땺!tnG[7OV`:~V ܀#O7rp "tntn@a+,(A0`nRSTTC%1=ILOD12RS dC#%1=ILODVS`dEc(%MQ=JISTOR1TԌUDE(eJ:RS c %1=:S L%1=: S c %1=:@RS %1=