From a5ba00f1a6334bd2683994c1adbf557426a010e9 Mon Sep 17 00:00:00 2001 From: burniouf Date: Sun, 11 Sep 2022 21:11:32 +0200 Subject: [PATCH] SCMASM.SYSTEM & ASM:C-string support (new directives .CS. CZ .PS, updated Notepad++ XML) CC:Added typedef, struct/union need a KERNEL mod VEDRIVE:bugfixes, added LanCEGS code (oops ;-) --- .Docs/ASM.md | 5 +- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes .Floppies/A2OSX.TEST.po | Bin 819200 -> 819200 bytes .Floppies/ProDOSFX.BOOT.po | Bin 143360 -> 143360 bytes .Tools/userDefineLang.xml | 50 ++-- BIN/ASM.S.DIR.txt | 282 ++++++++++++++------- BIN/ASM.S.MAC.txt | 8 +- BIN/ASM.S.OUT.txt | 7 +- BIN/ASM.S.SRC.txt | 36 +-- BIN/ASM.S.SYM.txt | 153 ++++++++---- BIN/ASM.S.txt | 187 +++++++------- BIN/CC.S.CORE.txt | 16 +- BIN/CC.S.DECL.txt | 161 +++++++----- BIN/CC.S.F.txt | 7 +- BIN/CC.S.KW.txt | 330 +++++++++++++++++++++---- BIN/CC.S.LINK.txt | 5 + BIN/CC.S.STMT.txt | 25 +- BIN/CC.S.SYM.txt | 245 +++++++++++++------ BIN/CC.S.TYPE.txt | 4 +- BIN/CC.S.txt | 460 +++++++++++++++++------------------ BIN/CSH.S.txt | 430 ++++++++++++++++---------------- INC/IO.D2.I.txt | 8 +- INCLUDE/SYS/types.h.txt | 1 + SCMASM.31/SCMASM.S.DIR1.txt | 170 +++++++++---- SCMASM.31/SCMASM.S.XTDIR.txt | 58 ++--- SCMASM.31/SCMASM.S.txt | 4 +- SHARED/X.PRINTF.S.txt | 2 +- SYS/PM.VEDRIVE.S.CF.txt | 335 +++++++++++++++---------- SYS/PM.VEDRIVE.S.GS.txt | 402 +++++++++++++++++++++++++++++- SYS/PM.VEDRIVE.S.U2.txt | 2 +- SYS/PM.VEDRIVE.S.txt | 73 +++++- 31 files changed, 2316 insertions(+), 1150 deletions(-) diff --git a/.Docs/ASM.md b/.Docs/ASM.md index 004a64b3..722f01c7 100644 --- a/.Docs/ASM.md +++ b/.Docs/ASM.md @@ -16,8 +16,10 @@ no .AC support | .AC | Ascii Compressed string| S-C | NOT IMPL. | | As strings are supposed to be printed with A2osX API, Printf cannot handle 'AC' compressed strings | | .AS | Ascii String | S-C,A2osX | Working | `.AS dTEXTd` where d is any delimiter `.AS -"TEXT"`produce ascii code with b7=1 | | | .AT | Ascii string Terminated | S-C,A2osX | Working | (same as above) | | -| .AZ | Ascii string Zero terminated (C String) | S-C,A2osX | Working | (same as above) | | +| .AZ | Ascii string Zero terminated | S-C,A2osX | Working | (same as above) | | | .BS | Block (Byte) Storage | S-C,A2osX | Working | `.BS count[,value]` | Reserves `count` bytes in output and sets them to `value` (or zero if omitted) | +| .CS | C-string | S-C 3.1,A2osX | Working | | | +| .CZ | C-String Zero terminated| S-C 3.1,A2osX | Working | | | | .DA | DAta value | S-C,A2osX | Working | `.DA value` | 2-byte address: `.DA $1234` only high byte: `.DA /$1234` only low byte: `.DA #$1234` | | .DO | conditional start | S-C,A2osX | Working | | | | .DU,.DUMMY | begin DUmmy section | S-C,A2osX | Working | | | @@ -36,6 +38,7 @@ no .AC support | .OR | ORigin | S-C,A2osX | Working | `.OR address` | Set initial output address (only one allowed per assembly) | | .PG | PaGe control | S-C,A2osX | IGNORED | | | | .PH | PHase start | S-C,A2osX | Working | `.PH address` | Start a temporary addressing range | +| .CS | Pascal-string | S-C 3.1,A2osX | Working | | | | .SE | | S-C,A2osX | Working | | | | .TA | Target Address| S-C,A2osX | IGNORED | | | | .TF | Target File | S-C,A2osX | Working | `.TF TargetFile[,Txxx]` | only ,TSYS supported | diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 3b6fc3816fdb4c33c3a4808638f617bf45465d1a..ff886c0a9b9060c0a34d4baa4cefe3165ae04411 100644 GIT binary patch delta 103792 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

fHEaNf0W6+fz_k@HSXFSOt9E95S zDe=AY>Heops7<}O`{S2yrFUZVXSnSiSHSixK{uv2o|Aw}z!JXjC(>=li&QSiU;E3} zN9h%b@X@dG?t5Grb^o$p1Ybj!3JY=`TU$DpbU~o@ItqrM)B!sYv6m}Z;4N|P>fZ(& z*fW`;7Ip3%FcT5y4$9p3h7A$&cgI1i_w4s=JpW!-=H&mW7I>xg!(safOpX0x^K!C( zVom8&Ii=#yY<%0ju5odni$fI%eJSs2?Q5I>QlEZ9H#F3z-`Y4S1($!Pa9n4;-XxWR zWc(pc(2ugc_b1V=e+dEr_bwHNLuBtk+nC;h5Qc(umw<~TOAk6;c1D&4^u;mYwSF%? zbo8QwI5f3P8$sp~IN31kkY7jUg&7CB>?bp`-g?nRl1AnSs)^4|HV)>lCiMs2P#tE^ z5lj-Hw#Bh&X_G;QXjrfWj@y}}mJ6|baNY6F`&|A~Sa*oEfusqx9pd(aJqM{V95CPj zruvETg82q zMNTDxIieX|JC!UopFeZID-?p&g=hwo3pLqPm|M`F1Jmk#wqgMy0`m$%?fp-MGduzBIOL#{b5HrCK71SVwKE3DUJ+h>GFgng}6LnNkQvd zLi@UfX;TOb(GsQ>yOaP>cs-2XsI{{!y+2R!``c>5pl z^*`X>`#|8_l}BHcAss0`Ik;wSc5$-z*!WyhnVXIA`{&0Tg>1}hQH_0g@bzrG*X=(x zKA)j>;|$`}nJQdQQB%IMq4$ zTb@2*qI1gi-#_-|g>T-t=k?5*G zKmECU)7qtD3t&?Sz5@>-q}~B$#(eayr37;#r|{WxYg?G_PQGWg?&WJ&>sneBO98`8 zIzUu`sTo%M?-Ih8yZMK!^}M#dGU)*WUM1Wz2tOS&I}jN}mUzLBN5fFpBS03@?gOg| zlGT2{#Sc9oE02GWFJ7aUgX>nDW+}`>!Fr361yVNaVSdvZJ=6UN8d}aC1e3eo2nOS_ zALrk#(X(cNWmYVi3oNqWSz)#e^)z^70!3p4lTVTlrag-qxVh}lTZ4H)4kqgWKYFd6 znGepGL`i4_^-@zq3nIRFUIHK-TjWWii)FsTuV1T=E+umWrD&BU#Kk6oSr!yHG3vxF zOEZxm!X5va}SjUhyV5tAk7vB&(SO##!>>lfjF_wMAeE zhXMRD-A?uoi0LHC*8_HW=uqt+n={S&l+g_43z1YSLcks}avyl+=;T}5X!5}?L@Uwg zEZmaY7xqr>T}^RtV7s6wIs@hlWqglb=ZpJ>@ii|bWoE#Dfo>B2_rhAHAGpL5I7^T3 zC6HM^@Za>h%*n({6N`as0=zWcETLaw#6uQF$vn*tZkp_!U~K^l1|WmGa}Dq4KcXPO zKMRwTIDA0~YB>wW^Rfd;dR%z|e`B3qb`+Rnx(PntacstMw+be1Fx*) z*yhBTFN27{C?;xz@CBT-qL%_$G-_d&VYb11?eIG(lXpF_*62GYm!G#m&z=G!1hs91 z#6V&&>UdJabgd8Z6$q6G%!%hX#n*I(oD@_Tg}wD1 zqz_nnJOh(0*Swj3)uZcRvO8}z0&yiXdDbSqI1h}r8l~`*qt`j<0>Sp6w9u2J&88;a z$mv9m{OS|*pc8z%8b$!xnG)*%K5&W~ELh{sYN%V}P#q^@sNn&+9F0>z9iL_o zL{3FxTtXBwSd1(p2j)Lb47z)re4SZ*k(lRnc{ZacO5CQ5QtWs=Q=N(J5&}X4W7@cU z1w9;X;sC#H&h;$tTqo*24|sL@GHU0_K^W)D!38f+gS$`-?ji{~`>(umvz|5OVwp@C zpq}VEyWnghXj8bEt`*@0{g+tRQ1tx!cj9H_#6)k>r5FyeYLNS0ZsQLpCi=&NlUIbL zdjB$j_bqZ$Zb?mkRnF68fDM^whucE4S#OF?U6w-)%wPtDp}`=%er9|JkBv z*zV=MC+TShcyM)4g#ujJ@uWY%%TSvBplsvYr$!WG>H{~73r^Mjaq0U7AlpCql_%)| z+ar_;Km+n9f9@n*cR!|je_TS!dV+s{lAehdEJg3&t^cI=)Mo^c)LAVI+U*!JN_$>z zjPw`yDJSb`ffudj6ybLoHdi}Ke~B8WI<%J+Hea#v*(dAXxZtb&K%#-6rT@%F_IIpp{jLO``5vK0;I4gL=hCk2YCaf? zAf22RV-0_s_pJ`)Ycx(`u|;2D7W_~QZ!&X!q*f6UGB2^#L+DLB^&k&{<1-W~Mc?Og zETg~R8K>$QbHQz^6GcxpDk`+2wvIW#cdHT&EVrOOzqe-egM{M$aoA!vZiJfuCtB^m zxSwfkB;92Rzd-Pw1g=|BgGYfH{0)UP8^q%T_s!2eRnJPq-{eREPlI1i)kBeZ;<2a& zkOsJfqK%NMJK#Yf1_sAaFyQp;q2#tS%k7jT-3};&3y8RzCNXA?IYDXU!6koy4`fK=u+?C}-Ky)q{9M zts6w#d*)vx1r_MhX~x12GyO<@Zm%9lJW3&GF~6->*CR(`By<32ptukwomE&>I)~n5YSUDQ7fmkd0 z>#wgTtE1K3Cko3({%N0H(^!18$$1-nwoDzKBHa!%F->+}er`j3^ zQ~N;tX)ibL*z@B#FEtNN?AKqhHPeh5haIZ zW@Z+*WVWnYLeXH#GK*WyzsoZby@4RG!otE#a;e38p_vryXJTgFMk?S(ouN0TT2-cZ zt)=GzQOl}u&l!60B&vX3GF#f)@T6r?W_$M^ln_{9CV&r@sbw{###R8;GBpx%W(cY#g`!G2-6?=jdbk zh#cd!LEE|d0|gXsGm$?ws2B617GKi9J$gQc+YF6J?}?*$o4yPJl+DH=&Xjokb8B%+ zuZfc0;#PjbJ$SjLmS1|0UW{K)+@t5>*Jtk>}^ZJt9njcg($34ly;L&lQr3UZZrz4uE z|3QLD!9>k<_H0uC<%iWHZNyRw&QV zM-n^bB~8=J(1V5i-O{PX=OrW)Uyf!u)JScS@1&WqS^btwz90?s*Z1>oqsDk&-#u! zH>J-AA6p~tFd){9vFiWc0(3(6YV=2uWQ%?FtuLgg% znwt?%Rp8ZMtm;ca6eE`7uT}=+=vbTIth5Te`n#23244LmI!pe}BYKA?W5ftdQU+d? z>oM5yPu*s#PD`Q!rN=UF9Tj`k>ly(=+*;Bgwu7_j*s_jA166H#R8LFvxXs8^ms8U1 zHIolLs)rIielz(FN=rOuR4a-$C}Xf1F&)fop4GjKd4pz~F^}mPiSAT0+58wF`qIth z>c{lVa^Gl`l+jaVDAvpvm_!FOtlGf*S!TQY9@DcUZZm>bZ?=lenj6!o6;b41LT`aq z!ArekV(QdWlvn1?waqNHcKne2QL)9^G!Ahz^T! zEHvBP_!Le4NHh5?k`edf5rvnikB|ry>pU76;z&Y>a7=7rc{Xz%8&lXBTUdd@B{79d zV+*TLxGbiy%PO3kom+|Evd-l(r7Nsb6e7~Bb7f57s@Ot=opl};E%Y64PVJ7T^~_b? zHPN~%)U0!DOzrMyu^Ecixh|%BeYD(+OY7VaE!Q`iCZ3L^Iu+ zjo1nZwCUU&ZSCJOv{Xc@b)FQhpr0JAfb(cZt#zIft>Qk_T7JZ*MFd;VU!tp@TvFT7 zJ&m~|CQd$n2Dh8L*GxK|Mbf*~Ocp&$d!x@x&ZeYqyO})US!_Q48D{c|XZ7qv?^$N@ zG12xMGx>=~o@XXgo}=x4flBsfBYNmk3RvsAFgn*^Pf0LE|56TOCx0vbPY%^S~^H$`k zBj>rz9Bt?YJ#DP_j%alXWlOv0&S-7-9<%nM7ie|wGLt7GX%F0OHs)8npd0q!pp|~` z1wGYn+-s%ZLH&qvznLBytJe7d^40kK4@T=?C1v1R=f0Q<4-Kt=Fgh6X{+J3653PXB zjSBx5QRp%I2s~oe;JpWQBhmY)IjyS?&|Z36C9#)Ov|8U2vD=`lr*Z8G%=@I->SMG@ z^gnGTlV8-ci`>szKxE8X&vP*#IuOg2`JXpiEJTZ9SGd9UNMsgUc@|n|1y(bzKHV_c+E`eFX_37#v5j`?j?O}qW>*3x&9@bw!qtF@={bT z@xbX--P-upQjA+Kd|xd}3Lo3H`78kMS5b+7_>!KJsK0L}JumBdiJlM4)@g zMW;6;$gT6^==?&TL@NoJ#fo_A{4}Q4XJ##a6F}QTUs&m9MH+6d@|(lILOLA!#!O>H zWw=}w;@0^sO4QB^erML=HLqaz27j>9M^Re;$x26F!O08!Vx_Nsg?7k^l#c{@{!OZxn@7M-L)@7!{xC`8Z z5W#^(5OTh+CE=g?4XlD@*9XfLBj6K^04X71UQWJ?t&kUh^j}S(Hbl0}Gk%EU7hG@n zQ#DZbWPPlGWG8Kp21;F+rv4@?G;5&4h3yiPuD6;EF2vw>d~uTK7Ck{XzF{FoIbwt` z`0^!;i1tWjkOdkeM~EK1nubbb42AHq%er97=8y$;ElKs@;_p5%=^ul(H+4_^MF+Ic z2Hu4wP4Hd)1GpNF9C%N^FFv7~?Hs)KJ^l8C_yqXp3@-mrcg2koZ*T{n=I-P406+U< zJsh8K0EPE|tS=fBPw%F3-`9F}e8NinRr$4kM|=WwiTvQ#dRBY_w1|AfH~OsjgkJpB z_KlvULH|d%-o`h7qc7V1tzJ0CT%z9W*l@y54f$#hg%YE6aPP##7IxaBwG4+@i{JCA zUK|M}#}jAMHn$$nVVDfeItrcch6k_!jlz<)`Eytb9Dvoig!l#(;QDJ-Xlb3!QoL4$ zjq3>l9D=P1?Xv;FZ&g4{cvJ|~#MHoBxhw@9!>W&^-SnCQ{DmzL^{wqJ1@6Lf?_TgP zZ2Xi|GkGT^-S88ZrO*FM4+XuWEoiG%L}Cy8hD#a-GK`MBna1+jasG6E!TY+eIRjQF zQX%8Zv@B+tHcH7c^b4vOR-ZXm@ig*Sge0FibIsOJc8w7L^YYCsmRvv!hUOPIZS%E|OcC>t6}q%GEXWqMSB z5~atgl=e?aRbkXghbRoc5B@E8Ugg1Ml*uR61^%%S2GrbpE z6Q$FOsWQiaHK~eA_~l!S@!1IEqwp4h%Ug_c2Cj^xnb9xjUu`i0u}*NZge(DqSMiLK z3}fuo%H|6GK*UXNSp$1a`!%MKlXk6~PWE;D=#z{r+x7gklMJ5|(R@_T!5jJ20AstE z-+PiVdI|Zitv;cDUH7_P67N8s!L-{b4>n@ATR`uSK)rXu@@^Fw+zIbX8kMn!74|PI zs)bQh&obX4>Cmlft|B#FLGJN<{h*YUjHp>}0sI(Q_?z^s+SqEDe&8 z)wGg&Sd7f+>Y2Blv?qD@@=H!OauZ=cM>?v}_w$GUfoP*kr~;!_9Oz5a6cRvrDV&s%PER!&!vy9a+@^Yrb5e?5|DkE=%b(4_CJjRbZ#mKWg!OuU% z@Wnp~k3)XoEd)0!e~LeRicuE#4C5~xUzd@g!*#xMObx0e%|Z+y;F@`+Z%k;UyN~M;DiCqS>eEVsBIeKL z{*8E7zL!2+c>fDKVga<^l`@v~HNPohWV*jWuhK*qHgqMGKxEn(hS3Q-I@*(tA7mqhP4K{c4idQ-$0_}1 za`_vo3rBnqCjtOTWQSRjG@gTIknRuDdajD)+JqvUuR6_0@*#we0%Fc26wjx;;WOe# zkHkmk=r??6rJ4=5g>_9i6O|SkR-0ZJ%MELu?}ROvF(%H1hg&0tKh8+z;a(ud&1du) z`E4H6fc6nNRy5&7Rf@}d=uG^kCLA+?U0k$(7{|$*5Dq~h{!p)x6@mSmH4Hje<;)3F zIDy-m@yt6KD)^yFen%Fv$_MD^A*6Ci&3G8;AOKh{S@xKZM1nxjVC_Z)$zx&*mv=tJGXCDIB2wr+*J3&_5*bE7oqB~da0>&fC^na#Q- z%H2=)x&M^RE}2%_-a%h#8G47lB4un`6}N9S3Uye+S=bS~ zwYFy=)2sO%eTE;Q4W#Fl@GBF#RaixsHgIy4T3TxHZmPm3G^kTyC{r^aK$;amX!+}q zZLXud-Vm~*-dshdH{wrN3z)c)SCET|xXTp4tCCHe!9Uw-)Yy*T7xWqFwq`ZL7HKT# zo(TYAW@UXO(?uu(YzqpuGrq5u%%O2LGiMuhNS{Qw#m>Qq!qI^u5;F8?we`(p`zFjE zoE@kwCXMglJk&;zT>2W!$8rhl$C`yU{@ONULh6w=jL!$_HH&IhG-T>xu^s^*%-O^q z9X}4wZM9R_W;Wp%zNpWrvUSS&ETQ=XoJ-A7v(Perpw9^Um#fjNP@|~|v%*#Uk3OTo zc^tCnil}C#t9eDgQ8H^S86KGimUOvq72lwBfJ*vs_?8J`e1qIa85^VfXnb@ZnSq^zqtc@k_-)K11Tbt1;nkFrBm2sr|YPuN699LyHuc7IYr2?)~*t1DnTv><<#jzWmg~hJa zl#iPKCMfO=A3yEXyii=;Z9L@+5DvG~@@!#a@8pxuF!J4d)GGc>nk=T?C05Zx5rl=I z;@xVO?B!XN_7euqG}hWC@a{8VLpWjZ$1{!5j+y{#ED&A}r+sqp{v*%@rz#@Q*0o$TqN$|Tgj zc157rYajG-Bioi6N&vNmXp-RTL2*eMYhLFD^2!-0Nrus*`1VVTjAJzV5~?eD{I>Rb zmTbo-FS-~$2a+&Np`l9Z6pm|2s*0dmgrNcRxsZoNi>;TJ!uWwZ>T*W7nJ_3G5%h|% z4SK+b%Gesw$}lX+3h;G1jZB-tFW70M#)U*%A7b&Of`}1LgRx|*o@VAsf>N192hz># zA%?^my!MK^fM+z3L&_IQ7!6M!xYY22|NLa&GWk1Qd2ADNLfa@h!g7|K&1YS1WG%^& z7);A0!qY^GFncs@E})i?lvva=J21wgaa5CLFvfnxy+i>KA_^oT#t|Yy?qskkbR5M+ zU(V7?c++kpHQNnlC7O+`om@s4N(KN5s+^yHy%EStu865Oo~2X@zlVM)DL{m>Dp4({ zf!!wIfTKoMhev$qFmg@cWq+yjm1>h@v3oLzDSGLaCP5^oh{_|be5Os6gu1_$@y_EX zdttIoBZz4A5@DGQF$gPQ}b^ENMEr6c$+^h4=W!5yzW9e$9waHN$v-!DKg1~|| z^%aKSo!l`5xG|TP0glfzPeqN%D=Q0!_s2u{F<(ITxe-oh2odgIq|kAssNhdtJOpCs z7=h)^J%&HySV^h+I~AoWXHYw5PVGWwED_D)GM5QQivt3Fp)%NZYw2{ z;Kz}C+>p+UevX+Ub zQ3_dRHx5w?!X`HLhPOd>+S|FY_sH<#-m$_;rGV+{i0SnwIo1ObeQL+E&_;g#)kcsf z{|`c&Me7Y`oPRUl^*`NLxFu!=C&$ddd5W3=rk4E|;!TJr^7GdBk`l%)W_m=nQ@g<0 zDZM6$BlDSlx>~?(Lov`NFfc;z$Ey6b&bM0Mt{N$1*GhD!?m!m`5uGZ)z>$mTf95z7 zMKm*b0G};{0b;#PIl(znPGCoXU}aH$p4?gK=kw%ij9@&@<^^I9WxflCEWnAy}m zv$mst2LCFRm&wC=@E`Vm<@|6xgY^v=R8ja(3$}1y=Q1$WRZ`Zp!DvSAz2_D z5W>&!g91xV!mYfCS|pmn`~D9!1@_0xTcVEU@vvC5OotWnhItX(24c~Ev2IFO`*jVf2BdYpORA)A7Wzb-EiC^WLO!FXXH`Acg6Eu%=pB*7>I5o_+TNE!6%eo zb-ghvl67Fn48h|-Xdoxlw6=CZJ=0B3KO#4y;tPl)Br0E#sKk?2(M?!47YaS5D?A)OGi@NdPCO1%(E zSUewkUx4l*p-@vv{wZcExG;VejUxVEhFlo+t+U!Yn1h5AbXAqJ5M&gRmuW%N80m)8 zBrxHJz~Yceq}hl=7~Wv6YyfA#;SCTFB_8y%bYx4A91-Li>KevAp_XNR7AEM<8YLaA zf*N<;Y#14dVAJI~df*{w)s(B{pt|~aI0trt|I86Sd`W_aM+8li2eB3_Surv-Eac{A z-)sb{Ng85uLDoWf(WALgeqx`7bV>^q5JU8kyP#O9pybtzkjO9cn&J?(PiUn`93prd zmJHuN3*v14)lEh)&Y#75Z-eMG8@1HJ4qlo zTW$ras}CI{bJoP5`mjGm^(2LANJIpx;S4Aa#Z-mrx}jYYs-q&0WQaUsP@RHt#QCR7 zRL_W_`UpaGFwp!bBTSn~C^j0wG0*ywVhXCGcK2+#yNx*}$|08r#lBsI4=^C{ARoyQ z!44aD|I48}=UOPrUdUJ6Ze-;zk{}RKM;#Dget!3cW&J`R0NDoxPVgVi58Q6}Y{v)$ zq-yZl6U9s9T4<1N(3&8Sj#8~bxFJ~1mGm2qaI4G$h&F_F?|4L2emDI#20{X0m)A*ud^6R~yO z5OdHM4HJb-2yCVY$~OAqM;Rau5)c9DnmU(ykhGNmUxB= z3Z$_gH1J`#0AyROC zCEAUm9dq9VJPzUdZnoB6yA?+nUV;AG#72(09dT(MsSS+36R06JAu5^)LW-gUr($^W za{*Cj&RwEzEl&dDKS763McjXqxo+?2-q1x+&i9g_j))$|Jy=C0{k>N%SI&Jl{^ldK zSyLatxT3-f{Xrz7!V43W_K?~Z`_-a9ETN?S!^S5cH#s=+5z&nA+5(ni{c)2+agW;g zImb;NJN7XYM1>pz9wI$Fp};*U!DT#c<8K`|InDQsL~8U51fR3&t?lXen+!$(2syy=~x#k#y5{2-5NwKAkW$nA~G2%i| znCDWcBq;LQVd~rk_ZB|&exqRYIFqCS{V4<)2#?&erl)N~SL-^KU&43XZ;VMQjaKrP z3C=L7+{_BI{0jc&{YEZC+mKxd*&7HOY9YVFVU{|P*Y2+itvrnVm9C~j zxSkUY)fpX=|8Ue6g2iy(yzaFaC^?2hYC$o6JawvYLSOBwwQU`9nARXme2uE4s;|~; zWlU#$SCZj{3lqf#7NeQ~Cv!>HrnW%OmjuxVKKC~qiKb^a_ns?eE; zk=8jK$Rmfd@=7)#iO+bvu5z3P2_6yW&SaF)-ChnQyL%{1!D3GE@~a=OtFrk9o=Ad1 zD!@N~yiT8@n*)I`BB&Ts@}YBvP#}mPINd>LCq+3YqX42h*-sVA9!)|GoxkvyFM%KX zL|wv+nEe^ZR-|jpg#apEiQ(M2KwJ}E179Ux`34)BC()LJU0Yt&zt8C37wq2`>fe{z zzb~zSUwZ$(jQ)M2_wLI~UK5{QY`C|3$7SIs8$UVt$sP2L%d4@WC_ZI-TTvc<#tgO< zrjy2fV#X?y7;TH#8)9Cr(e1B=% z%#wMH4Rf02AvAMI{j{ImhMherpE&;Hi-Qxy6UX`f(L<_DZ~r-D*w`;N0S(m>Hi(yy zy-$~RrL-C%_v0@P?m1HA?s&TNhy>9ax7}Y@u=kl#eGI>>KklP}Z%TFUstJEI@NMbT zRChLOU)|laHhgYL^;{nLwlrYmG4K`BN?O3Nokdl0D=NY`USs%e-ZYG*d0@N8LFg+gtt#Q9+bJb70^OVuf8kINgOW=$5in2?@RM+mAwA@(mKQ~@BbckCh*(7FCA;E=C6KVT41Xg_yPY; z`=KaxJW&<)jukT(9DJw1(0k@o`w(wn9 zVSfa{6q#FHF4kByTr31C)JCQ-v7m&<_l)_>F%w=>5=b;K)}aU?(Or&7OH#m36u$tOZIgDTz#TJg8T~nJFguX(yF!5JAr)^HxdMOX3RjFjgalG^A zQg0E>^7!H4*GTZLZn6asS1Gif!S%fO=TakWgA{IQ8`a}fJs2+CpjFH`fne&(P8cG#J@FtSP;FMmxrLCdEMl>(NglnBI-lJmoAg=l=3uGF9Ekf@dEx z;D*L|tIPc|!-(1SchkkrDUjd^IAF9T)QFF`|r%hPBoHDo2zyK=cSd@Jp$8 zA@#wB*V`%UX_w0L>AQ@X>n=7sok#t0_5G@EZCf~}Y5I%~@kWhyrTo;TU(FA^UX*6r z#n1b-)L(NA#zr4LT#47IRlZ(j;l8>-3b*Vx(Xa?*2} zi7~{Nbmr`kSgH`iaf*2xA(^+Lc)ou`c$`y-B@0K|<~8!?4;GEFX*?r79I_?yn)vY8 z$&flqs+0L3XQVOX4g26sncS91uLJ25Bk$%J^_BI7< zH!TDFIJ6%cR=iSw&)CoAfr^BwX}B> zZQ0tnjK7%>)*=v7cH>azY?dqD1V1kY(;#V#Vbva>7DUhY(Z9WmFAG&$8qOi8}d~ zEX+!UfU~o=bZ9mAG+9kr0AT+FW()_{w5X9KHJQR(1W!yp!fdmaz5)r5hO$75Y!(GC zn$5IDl)N47+>ndX(l2VGcIeCBCZ#s!w{>Rs30*9Cj)Wu`38q6DD)x(X0ew`O9SW9KyTBZm{Govmyq7)mhG6iQzyC%*teQ$|Ve~`ZEkc3@f?u z5>TNGLRj^%3sN8t+QjzL*Yb6MSkq0?Q$!V7r?%e&mb}4gjxQz)^w70OJ4g`)viT91^XCC4n^c-2{9<>1{GJg`gjUsqn##ub@rlHajnDGbE|niTIs-mXxav&*8}~D zzKNdgIDO#(`aBY>>G-~iKBL$ujtdpe%9;DGbjO$_SXYXlE+iMg zXN1#LL<@judbAxWl%5ynY_t<(R=J3-2VpMVppHuw+%o3A+=Q#PvHOac4B9}BD^Xb* z6eL`QbLzO7RvVu?NU(Rw`NY*;!yo>nXlmlMGM#=M4?DwYu+g9C3}@PQ^R>=!Y5*2( zhum3#8~Ihvu-|qQKd?LOt%wQUwzH(MjfHNtiR)0H?@Z#o3yVbtZ24tZIk$87M@89* zcgSSkoqT;#I5T1Ca+bG8{<-9MmiIUMGuL*P%vrIK<^5g$xv7lh-7WqcaE0R&_ev-Y zgFML2J2<~>JD?G+_AAi&po@l#&AUQnQ_5eRTIb3ObkoP2qOKto3b;;ps z+e7@V|H(f~30KEIO5gt{KQ1bXe~kY6 z<>R6Ww#WHJ?(htl=fCL=S0JXF+Y_!yd`gZe_i5hl3Fp|J;U{{+VUwlI26tE z&0rjBDU5?#2yjIJ2I7?9h$>{aBBK*J(5{W}sqqQHt;k#3)w8B^s@^kD|4l z*trE>cQ09a8@o1~K#?QdV}x8+)LYlR0UbDA!Dffo1Ia#Km17(IFB?C_8&22%ZMEOj zvl1~S$Qd&58e$N7!@kJt(ROdhcHTGToN&>dO(3BX_q`>v=reql>c;mUnb*`-KW)0) z87%W{Rc}r`82@u+&2Z!R+OqQT6_sFx-;w1?0I;KEMn-$@ehp&lcV)rM+V*DA0c9HR z*?6Zf90(p%P#fnU_@sbJ#p(aG@$-G*)VlX&ar9!sTcEWR+jeq6~>yeM-eIXWfT2o6S_W2B^eJpGFKC#VgX=-h2oK@0x7Qx8DBj2C?Sqsl+ zvAJZ|kn%Zl>e_qD`Uq?e)4q@}^)CtLtj78DPf4V0hk|SWO4VmcUrSgyxf7Cd*p62S!gLg4CK zTHE0;aHbd!bSuA_@U-7#ubIEwcsLNwi2K9F+XCT09E;;?dvfz_Sdu_EH7+iWf3+z$ z5H})@Ki!j?7Z)GL!zbh#k=e|j5GOxzvrF1%)SgRdsbc<-(abiP3C41imDv%ksYNrb znp&cCg>>6hVcUh`rh;RknL(`f%vyVWzwFR(@^kdC9+woyZ{37pyX3Hw)v#0Ic;X2d zwp$E4b)3fn6EkLSG}9W1-^bS(Vc%hXtE|H+(*kmo>3UqljCwHtP3`q^uREumj^Xv< z$gq&XA2Py0Tafp{Y1I~@aRm~Z+E_4^CkMlZEsc*2hNl#y%g`wM3(b2+EGx_;Jz{%p7iS@p0XSS+}tI8W>?{@_3#^Nn8VUa`ARqOW}xgw4#22!G;$l~;=+#*9jS?$SivgGl|HY+Gwv2g{qlXLlur_}i&r zJ4C!6r-rj?YhwCqoYf!%%!Mp#VoWw3E|%HF*2*#MFo}hyu~)&nsaq z`{Y(jJzOs36tR@)SW07Rv}#kExX&soadA(o<YfrT=CQne&w>nQ2yL#iCS^* zyl9qOaF#!xzr8GROwIz73|Z)fGNa5|=tXj&kCY&+h0Z;S7CL9bVwGPWu3%|LM`wb~ zKvKA-w$llI1xq?cRji_l$MQX+!>Jtzc1V-J2QaWC+7x?ahrC`!FOBA6i^yELMF5*= z%OoxxU2&$YE^|50)apmuR`97>y>446x5g^#l1Ej@KX}&^Kv#> zwUuB}Y~ONGoura%;tBkpiS;$M6U9Cmy;(N*Z&5>u4rz2rX5^?vJt@z1LoY+b zyXcXGY7Xdjr79Rtn8%a}IfNrJ9i^nRM7;B+*iu2DNNtQP)>@QQcoxYe*R5Q~v{tDo zaJI?eV_eJwrHfck^V7?`b7YR0QGx}7Iz~9ncd!Wl03@Y#(dH?k;e1QpCNU=-EslQq zlNT!OYT5WcdY)vFngrOFqfEVPPX4x~-D}o#K_uW6=}|;hvdndq7>(nB z`WdzjqKJ2wh7%(893%rjt(GcpaK_(_g;i5#h>G&J_hEL>l%aD9awdFqvi;M!c;tgC30kn{-zsN7-g2h5b|Ho_=87; zGyLA&hg1pOz`rO4$#x@8ED2{6rrrGig5_H*BxT&j_|@g%K&Y*=X92U{VJ#XQ;fWB3 z_d7qP6w(`LcmB^syUPNXcDDc*itM$rocE~Rg2U{CPKVB-z>iWgxnR*wry6>998S*z z!)h@5K5I-5$uVW@ACA60dQw1n9=W0R*%&de1QJ{%JwiR;z>DWv9wo&D2|v7#$&Sqp z22n}!<7z9ZyXgtcLKuZG&r_;oe0iUYGVXX9g>-L2;`c1+v1ttSY>E@Aph={Vp!4B^ zCP?}zQjz;b3B?q}Fvm*@NEOpwA$q9l{@e4Ogb^>{JygXAW zUrU6Bhm;#$sCHyvaBCVGbUSoOB}1np9Up}#GWoNZe&7lEIR;7nOki%PaAZG9I_bg# zGZTc!i?HVW1|JtH7gx-;vFlV`z#QMH$wJ5XgX~!QQJvVI)HwCta{N^L3UeF6&j(WgU$<&w=N*&Rv48G1Il=uw~FD8)m%>p-4 z$=0fwTeD#kSo4J_Em4)>YvhO#vyu3i9-RT*a2RbYJ6>*8Z_VPt8Kuv4OWrr=v1Es0 zim+>M5{Ebg@ABb9x3{l^NJhRpBR^uK&k^SUuTbOl6={bWy{brB8l=JCcSsn@GFPfO zxjr}(q#2h-)0+#+AWJaC0Sd9u@7=16@eWfXc#5I|dpL(J53R;+ldA#OhRO zK&Vs4QiW;Uw$OKoyFq*~9LrH4rPB75=4sJZ2}K*zj+2{9KOV1DT&4L}u9g^!p8qv! z)#xOz1tdu?Cqu;%yJYLtlHn+Cj4i>u?VHR_?I&0}?8L!6dkZGp2CBw5T9jh{LP5kO zsB22OHz$u`C?@-<3k6ZG(QUR$I5!hfp%he_LtbhDCvP2B?~f#@JI|$nCClQJ6aqGX z!>XRHvjsG_g65@5FAB|11U%^WfC8f{Fopz^8YD2Y5E0&#CAW00t#4cbQLz@HDhNuH zmMTo%rnmF2mWI6%e>#W*Qb!Awi5vprZ>TzAe&>o2Wy%pHWWiV>A)Efm!9S)cWXc$` zMa|h_g!yWOW7P-?c_SLF!%%)z$rtG=|QoSi5vAy51LV9#+>VX*DT zDhU1-mY4fr7`V2){0g4?OVyhLzgPKp|5_C{=>NUylTjDFqxp$Z-L8$CFsO~Jo}S}L zW-o>Wq&knGri{P-PILo zd(&!mR{_`5*Z%K{jT|FKk1lDHhA~=^RzQ(bYy}A&p&Ok_ z>QE4nMo};UMI0qyf}KcXpoE2j@;`T*_4~i?=kxv?_ukXbdCv2E&l7nzW=_D&^o5OC z(+eAOCtU=sNhQ+U?I7^~e}`dp0-7I%SU;N55EjQJkMLNiG;Nl)0R9381uU=(EXhIy zbtoqn__Y6EAikL|A)qEHlEpZRAv8ykI`YAsw~1HDB9Tk50QH~hN;E8X^By^7WyV;& z!a_q(5$w{PQJX?Y=DRj6*WPN`RK3Dt9pZ?oh4Lk13ly?R&D7!v0?eUuwYh~h4OW$b zuKW|ehyYP&DDl5N;o*FydJI_n5<;-EclqGZZIX1Yimv&k9Sd2m|B- z@>fA3T%7z7z#@7ptC0wZ7fS;LIQlp@oQMTDM)H6(8i2yoeih^e8CW>ni~#bln6QKf z*j62wfD=Hr6}S~eJ8c)&Rd&7*oOOl8RS4`*d<0=Q2?xx#I3;96K`d+df}b6dfN|^$ z1#cz}o`IMs>__ZiOHM%K!m(1KMzivv!iE__Qop*k3HERS!ZFAiF?^X%)LQ}oy}!%` z{t4Cu5LmYP6HcDpAt6OD1e0HRwOO7l0O4h&H^(V+!Uw9b0UQ}shFb$g8rUA%#lvS1_62f6TX3w6D*FV@xA)>2?$3r%sxea*G?FL52olp1SvGi zK5+k#p~yHalWqLRKpr>2J~eTZ?7_V)-y zz-16jnt$8({lYYo1!d!+mw!SH;EQbaBw7}S?2ISjb)2@bi`WldWyCIZeF77f6D z1F&--EOW@Rd{?>U*s2nd1V>L0=L4q;Oa5E|i7PVbViXY(h*t?#Jy=iOdxe8^RqUvKu(^Q|B)W{PIsd8w&R-1iY5gfLtOKh) zEZdx4IxHOG4?a*~6~G(B_~Y1;8L-bm@#U~a3~S^6)F}kcGtSZj7kyhh)|tj$ePd97 zv-l?LV@}$XAumdi;x=Rdscg=$6Qw92Ea3Sf%2=``21PxH&kF7+(Afav#E{{cvu2cv zQp7;i4EReL3$X<72M{h{tdjF3h=&3j8^IF-QmL@>J##w%<4BlY@i~GIS$q&ETEJqQ z)n{Pzu!?=!f(VLEyJ16-U!WysHE31{AeX=y6o{jWTS1ksVB-P=Gg2Dn*Z{)(mk2Qc z$b`f_7=(x1qDTo(c2B)HGp-L|)_~W9wd^teY0eu~NkOwdoPPmM$@&`rlrWKE)`L>Q zez2ww)A8?egbnQGe?JiM2ZOg+?e_QJc>`#i*#V3#=+9~db0nILujCe>2?LFDzs0FDyfdg-^l<$*+yb3s6c9Jb~K@W{L<<0^waS#6V2}e)7RU zFMu<(5p9&lClD*5w0AU2(LgiL`q`R z5h-$F0BVGADQq|ch8f{iA*M41i4<|}4EWQHkZva9Cy}DF1%?q}r9dBI2e@DzlK?+t zahn|Wq!V+2OOCaLlWjZ*6yfU`2Le*Xf$&lgE|2}5l>d8C*t;G8*@%MoStmxSXS~+KU73}V-R5G$9DatFVK<`AW|7sOh zH4}mNCZ-0w5v%?EhDADwu;35Lon*X~q{#BsbBGNDFFeh#kfO-&f$O9O_DB^#&?za3 zJU0La;YCtC&-#D_qV2#j7$C8WoU$xGFIM;nz_Fz+!Cw)99d#3%Vx*c`4}>6*%YS_j z^LIw66vbKse~r^WFfn={+$!_e@T;XMB8+<<#g}0*hk!AXNcIt33ImM+22Bj`Yd0EG z0e+$MDAs699r$IVM_Gl&oCUuQ>QRr;3bEqWA(BjywkoA)YstYc0A!FQS9m#aC& zOajvlD#cyr9Irj>a|#1oC>cl1DLb&30q|P-9^-@s=!K*OMGB1prZ5ac3(6K6%qsc! zvk6;Kb-yYk2nZkM=3tA%UJD?0+8+iG&tU)wtk4oHH$~ugs0}XnAUq&{4wDDi4#!IZ z9AUsg4c-KxLRRg(U?;HHsWGIS4xTfrtSItZ!G3@@0BDlsPw58Yqw#w?!v$Ol=n}cB=Q;BjT9o{FvFpdqU6E&T?Djuh_%N}j3F3bhbctt z7<*2D^8Ht$S6;9o;8B8;k`HWxUxzBD1Q4fIDdTD*WtknId6>cf$!^MB&M~y-tzZL= zibjx7CHwsN^OYE&`t9s9|0P(Q5(|nR8Z!ib-LatPUm{a-f&N1Q!KJM!p+{^fel!U& zB$zL7kpc{w*4TKZS=zzDhQO_?D3Fc+tOO?x6rThv|HIV-5da9wELoM~)aYgH0EtKg zF`0b^f?BtF1p#X_F<>vjsR;g(?X1tToB%bgXH_Kwk{YsA0+!UTp2!Z12AulguxLQA zX0cFUK*3^00HOl+6MugXWH17dt$($`N@gsf%0O(Th%JNoVDXyMXMP}Gvxx}yas(1K zd%a8`DJ@tRV#wQ3#8ALuqS~H(GkCBp zy@&1ZYtB)7EI5@|vMV84aY|9_9GqNqbyH~^$wHj`dp_X(m$W;S6~LEh&7KVQnzIVA zT;4Ij@BtD877v^`WbIiZuzG-p{ojuj?f-7{SF|wp;xbx2Y;ZJS5Akch#GU>o3APu$ zCJ1)6^53@jfNjL@BCG#L5q(I|ATk@YJA z#8VMSNc+I{27-@RG?JaMIffGwKb9R5Ukn&9z?qzR_OsKF5)UBZFc@MobarHXk@(*o z=dc$L2|uBFHwEp?>0Babe!-mn)wksT*S8c--%|hdEsfK+3{KxNIep9G^z9(0Z-+R2 z%VzhDCzstf@jN6$2ZZdP<+HoOPJ#%SEnDDa^#;NnW>+f2fP3_JmT*EL%;uv1h~2`+ z*lYIJBi zSI)^hP{H}Pk~6Ss&VXw;1Fq#fuVX*AIm!MTa|*7co>TZV=iwRfkkIg-zGE8UPtS5D z3gjHDj-+rg1i|bGU0}}^?jpM}@k>aCH3&f$z}v*3We`ZD87|$z{*dP~jQPL>h`9nD z^R&XG3IpnbSJ{gS&>}Y1Y~zsZwLc`wWG{tQJCbqQ-$s+CgZ;O5C$Km4vsp&!f|nc^ z{C5LtV0p7Zyw^cD*c(l<7s()Ouo2YtA0gftn|3^8I0VGhdSbLux$q0_FbB{B6;1>9RRh($@@PCx$c?=JqwH=>u#`Y8m z``xo6jIIsZ85Ob~fR0PmKdgaK?*E9DD!C{$jB(sA#(lWYY@Y1c`qJ$xxGtB5QD8 z!1w|DC-@aK2=66hcGP9DZ=f|8ae&tZi07;$1>#xwmG+ls@pr>N*bTFQboPI$=@bF) zVYYfAF$#khY_!8!d$p$n05exxJGnqYW4}auXXkjZUf{eM=LpfiNO%H<_<_X~xRU+_ zXS{AgEEB9lT*{$rKmf>3f}atTOR*%_LXeV{l1SMSfT5MNltoM#h%wNNV@8 zB@u}m@N)lEr!^-`BkxU6BfM?&A>wT$+%mVxqi{0WHEXHsJA3*xZKrl=X_n%Sx}wdc_OqnIkFk3?jiT zG|L6&6=#6UVX_6zvG5Sp*q|}XJ!FL4AK_6p`~T||oCNc~;^qY0#GeWvPdMQv4AuN9 z2N7QXTMELx;bbC*=^CCGVEQFiv6jDpk$guzJ`_sh2z z*TL4GL_1;Cg9V_lysB3RZ3Eaw7hCz3fJD20Yq`$a;6oO{NnB@z`4v; z6OT~pCF?bwHBjzX9Bm1Asf2GvTi|uXvkhu z0C%#`e^De|GU~f1 zlCs+X|Nn(9fyIO|G~9OfC&V2{hLr$ORD}oxK6tcj3!z2ECA?q{;$o-9p2XIKnsq zpfB)7VoT|uSFp!EP`gN%$s#&D^)MvNI(tuprH3UIV-RW-sIy>J)mFkJ3?wH262JzC z;%6B-XDMQ;=K)tV{&m^HKJzbd80N)44D(XciDg{Ah)d@vC?tIShTvl$@RX$^I0P_; zy+rxOEkXcMIg9{H_%jxF2p&6;7w5q?8U-OaSd#%@9Du6A^dhl_aiE<-^amI!M{56* zWdq=;zX=9lsT|1~o<=YotRorX0kA3u;|6Fde0~F4PdEZPyehvXm_UYhI6;Dj17Vxs z`wRSLPAnoY6|io+h5cA;>u(f-16%;l7Dx;Lq<^$=@WRO!Y#TuUl5+aX((?Fr{OPL* z089T<0utN}9sO4k3jI@nxQBgQ{aVrAY8QZ1|7j%RPZ^;o&Jm~kTkQhK>OWua`|~v} z8qD?<_;dz%>pvd>+!dZ1DqZG_vgRvGl3xsP(0ub|9dy^CUABRFn&&ASQk=6M1e~2H%$S} z0(jjs1`>!ONX;~Ok7#(N|1N~dfMr~uVzBP|fQkXrg!my?#^8{|?`XjQxdP*b#e$qa zOdyxN!)5ar^Mw={ZjR2OQ^1ftO3{`-%syOjM>vNN=mTwobG&0p;0j9N3M5Q{mhu0@VwSEUQvN?gJfL^5_X#9f#p=K= zA6D-4|5pW1?QdDDjy+D%lYq;G{uM=^l^o&}`=wYtEb+k$2edwrb~waoH@IHF0}bV` z^&p;sMF(+ipsK)TL}HEbpTbHkEro@}11*JRr*odY7Pt!>9(obUKs=|28D3)lE#352 zV}RfO9gi2^{BM&j>?SX>o0Pu7YEmbGMPeZR5&MY10X+t8SnAqe75iHMu9tDTmmZn)8JMsu zzu7PR7N8A$=HNZ2?-&dCD#4O-#R0C~SgH(}&DeykSzP=dmPmmaJY!~^mY#_ zX}{S)w#DrKdg1{A7Hbd|)QuQ1KSv^BRUiv~IBLyX3 zwL)G5`oYpKfT4lgJf#`YB>kN-27fKW)-)C=SR_LPM^<5IFH!D+=QFg72R*lIzQ~{G zSwcUTF-C9CS|2C7m3Po7zV!i)x4Tn(nDW&kkmE zdFTo*zR_<9E50GQ4((EY?d+tx_HnlC%`idJuibY)lBL@ekjHh`ujS7;hQ-R5T=-fh zD}W)KMGnd;+%vS+x!=J(H$w{0LHw)?yj|aZU>Vxw+#t=zW}$ETEnSKx+C#HMJicbH z9e_nlmBsaoABDCfoS$#=f&oSc7XAhn_U#BVK>au}sLk&fJ76 ztMISg`}k4W63&cKo9ezfHzvKr#rq-c=x!*l z+*Us~J1<+(d}WORcPUPw%x08yc$J{;aaXKOUnfqi_XXE2l7<+bHneYOMHKOt`Edth z;_8&n=vM;eZz6JeBHWsYyLDt4=Cd{}e@yzTU~ z1C?Tu{EBOTo*|ZJn_3?@zSjNljjwBYG#{v+7LOc9X=2vA6@476GUi7rXZR8nJ5QII zC;3x&HSTItXn1+9+FAaQGyd*}x0UDCX+-6eAg{*WQiqnJr_)wAo$=c*y+NinUf1Bv z(fBJ7!YJdqxJ5%$m3~1D(ek!P52{_Vpc;ARL9&p!+9B`m(WI+xypPC7ZJ@9>${mvY zD@y$@L%GAZZ+e8#K0)~zD;_NM<8jc|`?!D=Zk>l;Zl|r&o;YYyKlkX)^T`p2L=%KA zT)EI&(UCj+X5xIq`tTU0*si%p-U$_R%z*u>4LcPdxA#7IP*>~FCGhqU{Zu)Beazm7 z&g{{2^PPM#?a%CI#-0O|H3D(bXRPafWVLWPI{I;mc&t5K}e@ zcjF7$a%l%Q4fRP@LxI3!cH!-GxyoMTgBJ?7*4_^B%&@Cp8FuXQ&en-)B@;${!CGB`j)7 zbk3?(DE>|j)#SjDk&RQ77b%B=2aIpcd+;=)sUqegNZOfU84AT&@!8EP52USw=3rTn z3KS}V*pGWqDTQg&tgVVX=a}3}xzK{!nrX3L2BoWIGva!bG*>1NpaJbOP=9c%hNg97 zUxH(@eH0I&Ve6rj1XcSD&g;}l2Imp?)E3;9%1|jsd0cRhEX-G@CT54L=cJWqd@MP> z$^ISJ5q{da7XSUEQ_OoAKg#VQWQ$*au#DU?n-lrM&G%kTodTpk~l?&3_ z9^5U{yzgjc(r+HOFgr-=a=6C)wS;P+_dMy_3ulmWe25P- zO!})7I({j^6L3|;hJR}Fgz#vWAOlyvdK3tIYF@eaD`nXz4I^P(~Hc6w8j zBHZEc6sV3^$9+0HkRsJh+>z0E?B*vy*+?J85TeC*-sTolu4IMW>EgH31mxWc#Wfxs zE+qnYr7-s&_4=1wvThO>lTEyi9(-h+YmhY{7W+*e6Qr&7LlT=S7*Ro8?4<`T^tkVw>2W_79d5+#@%Ll< zEuQ(UH6GA<^6>4{_R9-W{m6~kWCK~Znn;7;(H_C^Jv{_cc_O0P_z<>O$vM5SfG0U& zBE_Z9yC86IDr$b7OXZde)}|*3lGE$4IBTmY#BEFKh`>c65QTN3Jh!MvGLt8zg#Gqx z_N{%g+gLB$R3;l+G5l>hl6xD4o0eI&+Fo#Vhnvd{H&+)o*XwSclrYa5VQcP$t+fw( zn-qAaAh4l0@LX2l`6Q(a1xgo-l`dr|H6>L&S9gjsaoQ*06wQ6J#53=EMBYz>d~HJh z3io`|J+ypFy?htJqIGUX{$WL%b&IwO747yY3J)*Zt6vl&Ty(&*=txAV(iS6gMI+}5 zBd<{-zl}zlJ+lPZ+T_9dvW%tJMo zd))NV#Thcs!&TK|cIv6&>gUxWu}O(@>e5r6c3hyX?YdZg)>-pIe_`v;Wt!&b;feBi z-MLS7LEq>R7fvvbdLw9h^upCcQ&UszC+`F{9?kNT%vzMl`ob&BYj||ZKGqd433(KB zljx%8=l9U0WQbH&HNm~Izb*;qJaf7cMRf59WV&7*;gPlXJli`yB#N-xekKyDtY;es$~kVV^;1Zml;p1y%l-E?cYV`KKR5q_tFEku-;cYr6a7ydkV|K zu8%%E-g!*XyTR0;fV7acQ4S4dMH;!DFFI$dP1_w@S*a(^7jl1i2sz>_o}HFiS*5V`! zhiLK{8Mtja1izEtb)>PH*lOMB;@B7r>C0AoDsGL;RsK>O#8<8xOKlXZKf2v=)4MaoWZ6xj{-VerVANq{{kx$hXM2F?jbPa(xyGnquT)7X+IcB*ep=@(x*|ix`=)dAImNG=C?9S%2yWuj zRqp#(vbaX~L8t%asB`2#>;aN>h)%~YLZT=)w96?{`Bj*KYK?~y^QeE|?&p{6RDim=O?$$b5DdgVi*kg@({cy`^?j3f)4p}FwMQ7%=#+~Ob zxx0OJ#=UI@&nUsEa(co==ieSbaJ=~2r>V)iHNm^o5=tL1P1|R_kG-)ksaMiO8w)^E z#{w1$G3R)iFl^qWP*XqZ7}rG@~c3KUC&Mj^ZIR-PfH6j~^eK zCAlggJ{hCALTVlj2|i{(!N$4Si$r3Tv{ch|OCr=l4zDye&q6qB>I+)UCRFl!_!%79 z|EzWCTSKSNqTlKiRjzN_fw}FH+6;Bxiwq00d>lb`V|a8}Bz-sLSpp49B0wZ^KN2Na zR)^r`BL<=|Jp2N9XI|rSE-db_f(m7)oQ|S^d-}Tsy{wId3n}*|bDudqjYxCw7erXe z_b0EAm%!apFnp3#pk$sdinJ%@={?@HR(j(7(7D|vMQI*JiAcqHT~UXGc*?#Lj{9-k zc3oLngch3t@-pK-AzH{vdwK4P6Yoc%<pr)+i6a9j#kT3rG9SZQ%rk$^gCU{ecCy{%xSrb`^=23NR%p}-^E~9 zX<4J{M!YsEX*PSfGQ`Qz)+3h|5_$&tIa2r&U5=W0mt3*>CgXkZ0?A|Bg`(Gn% z-NoZJiiC<_iaNfGOQc(-Lp4?T_g9XJdL@ro<&aO0Bq{|tSoYj`6Y0C-h7;|JxP*7? zybqzyrt$1>;LSvuM@=SX8D>@bi=i7=oq%z& z)l^H9mSLjf7S$te*?h}f93H2e_o428Vp5OcwJG5rW&;ms9~_>*rEC}s%)j0pohP1i zczq>?GBu<K;$B3DKJ4t4ikz%b-uSSmy{b9<-PoIvSI1gPL{h3-e0TRm zuDBy4WOnrCBc5wH^Pffaa>hV{(7@W8jaff-st9r&j(w4q>2u`O^yiO$&9wCQ3FJrl z#?^AQBNF4z^6%COIaAy|KHFi^$fI2THN5W7rAWqZogE?_Nh{0zZisctf4Lvga`X&= zcYW>dPMg`~{)hTcY|Ui8*)uZle&yA{V@0=KpKudl+ivL@WiZCIoH^cz?&5UV)BS&rw+ZIN*W}ynk zq_P!t(7J>4v%URBf#s(gm(8FAb&>MqniY*q4z<3#@mBoU zH}AN5%eC2RwzS|o$IR@mryZ@_Jkr0Riu5X>ZAW@~N^nqN+2#<5&wNih4VeQXhO7C- zJM9|>>J4SWvYS`MDYr>}^}dpQCA<0KjkIxw#;YS2y%pq-R=;U^x!NRX<@;{Q=4Rfs zRgp&qdJF9g?z(I?*rW8KDvroyZf=g2s*oS1n;jk<8nO!oE?^lIDK_iY5E;ks3%}}( z=e4xu@|hzUG5B199l{l4j-9`H3sN2{llI%wc_q@>n103L>J!xY^-Y2B>2h2d&xKU$ zhF zgSdGr!lr4EnK8(R_D*lKWAfyPhF2um)~AidQRjEkn-Aw}7*qSP9=l~WxRvv~DYV-V@HY^H$We3jYORf7=xa^d50#s`p7?`lsxGWoZ= zG*wJ7`uO=7{Q6i|X(+bWs8PI=EG`*!$()RNU9aH~ULRcezWo%X`+iu>^6w`|i(&6` zcB|ca79_4?$=i?w4GGkr?lsTRlv453?Tha#dgk|F8O;%6lDA^&@$Ths56J9TZIOlW z@i;VYMe{@qjg@&mU|K1mQLl$Y)^+yu?nN&<-Q7nrnuH8@70RhVnnpDRIRrCb-0W3#aqu`vt`3?BkzIj$d#dAr>rarNaNa3C7kRz#7qkD9$PUc3Fu-~8^Z<7MTt%vDqx3)wTjA<-9 zz!ZPDa8&P*`dSgi7JG}5>)6?}s>PMuM%4AeI@cm*0(JOs_Wbe>mM5Hj(e`q%&EELJm2BH!OY!N{nlh!J2YIO;E;3H8 zYpf&Fsfb*jbedb@BeGg^O4~NP_VSzM+X_k>b1X(Igg#7_3NCdqWlB`Ihit2^jiZ_p zY4Hc+y!f`gzlZJ&&{=@Qj4z8MC#!GSX>J_9rf`66H8j3J#~wKHtTt;EGJip7Ll^(1 zoLJ_qyjNJgYV9oJf%VjR9>v_QL;JRFjjtruK9Z&G`cUf>@H6;lV1ei~-kUVd-L0VV zwO`3-u`zkTcJTh?lb(Oc+poECug?~5O45k7Z*%c3T>7|9(SyZ=Y>vFxR0yj9@luL~9! z-LE7_wFUjHQP|-&z3qK=<<)xupCI{rs@Zy)+sUh&hc0TH?_yl(-Um$6$>2$ZgW-DStgryN#_YbKIEiK&Z`?KVTtr>{QzFVJ0+4 zR`CtQI+I8HYujHP@eTPv7TEXrAa-FnP0&Q|$u`tUb4Tn5Q#bnvoq9{iUXBTUo$2S9 z--=u-VJZzd51!RZZ=)n$e_~zoj$2;56AGE7JJYz3fmB_gpF#rPjfL?KNmcI~cU%if zbdc-DQT92R)AhJ+0+bq@C;fGff#t;HvwbU0LsgA42YYeOS5X)`LC*t;)~AIbYF@53 zwRRC`z(E>s-j`)&wz|g`98XtwU!7IC=(KP6&>d~$J(H_weLd$IxS_7eV zNq8%q+vB`XlL0>RktKKh22o0P5Z3CxnE@?Kh&A&XYw*F(8=InA52 zhe=WGzFs%{x>|aMhIpG92gs;4pWS|jQ%;|CrDGX!O4146ymbw~E7*yC>ana#-tUFW zphO^7+)%J!!qQ{6mMN+6{c%M2;@AS^G&?H)X7{uUsnczG_-fs1TyFw>XqC9ZHtx z)x40{7%Cv^ztL7tIYL%GUFVqKmHRzVOpBZ>;_-V7vii!rvy^^sV4_{GU>&pVmN%td%l zw7)c3ZDJlrFna_knSApoclE=*MOc(MYsrh*@_iYWo9r`ov^fx$#!q`RkuO#*;Th9w zH_?kD7^MBI#EKUQPOi%lx)_3%voxmL+$#MTX=$7&;6$OuHz6zmMok%Xr5R? z+EaQ8`dnaXnU=S-hDMzeTJ@9SY_eLRRY~#=+rd4GNkrK zD7tyss==LDp`S#Ck&Yz!2_vqOYkYb&GGH!HX1t-(dS0#I@Qb`8wP5$0^a0C6@{Xic zei?EF8T-!!XQwA(sfBWnY*vgGR@{3s)2Q0;V#7ABhL=MPr)i`wYewHSNI`Z+cS64< zjDKMIK-=2Fnp*PeqFTy6w^w!?D7PLTA>Xf?kC~Ot+3@XK@iA%`o*y9`m`Rs8kRBPK z_Ty8-R9-_u{2EDo>g%OmfwxhPZim{6S6V0}h=uVhpBpzQw>@#4iMjp$o>ZBnZROs} zdo)`k1p|7>>gJI&o#Y&~J!g6I%D^_^lt@ZG4CvAJ-yI;;DJ z$>mn>vIG22&7*t-3sqER@!xYCbmb=lyAC$2+%i5S=P}lMqIBo?O1|E*r`{cL#XF&b z!GeJGkC_)*c0CrtS0Qp#wY%MC`DHyr{gNg2h9#YUJ**fOzL|y?=9#?PAyZ@2LSON@ zOZXLYc^Q|A|M$J!pOz23uCYo%_)}ja8crnKZ6OJLf(*DkFDgDI1tcOm2IF{p$;i1W zkuNi?At@V*cgbx+xIGGd^X2|v;9f~x!<54kd)KwONp5U#=YI8;6oGN(lbj1%VQ71H zg#2BFr^dSzs!>&^F|O$v;qA;?jd41iblYC7A=LZ@qZ8!|MsaSb4mEkMo{LAH$(OX? zt!`oEytm-2d+l$Yz2PwQ)`m*vbNoRnyv!vn{fYLY7QX}WxlDWU(}?{eFFmy$%kSM^ z2kY<18E38bIlRJ&Al>EKK(-q#s=MXBPyfUz4Y}I(*5VMGa9U@K5@92+17jQY z)~vO)O}BYTxjcWRP!>3X^ZS;}V9ph9j%BWm)EcD|vYKO=DBLytSJXloCEy&w?{Q+z z!BZPwlEe1V0wri%`)`@8f5Ft0Z2TH%IYD&)5d5NB&KLTy!)9$$OX7~$!q7d)hsnLA z_mH2Lbd^Feh@XL0&9c&c#uAQw4~k`Eh0xi_h=Wj>M! zuI3$QMQF`f`wh~}nDj+D>NQh5=X)5=-N!%g!Zpp9Msam1aPRt)4{Zx1Rh>j=K3CSf z%5=RCwV7bkPS4Ooy~a*V_RGavo3k}$;j!_9(Z$9gLF&p^9cV;_qm3oo;YW)nMhc38X%Fh0U@qE9qzs&74YNH%QL%uYXly-{GQ{8xvF1P0r9pO*_@i5e_7NJ=| zO;57iBl?(dr}X^M^=-lO{n$PL{dX|c3HVq6St4e#OBN!Z9GRsc#0BCU&q&jj!mwJc zju^zbrVO45a|NZ@GSe_Zy2Z*fNE6kQ#c02I?v}p%r^UNpmpYJkkoHmu#!kha)Rwd} z!8>2Z6;}?rcxWl${L0Kcl~?^R;VUeUmTmsb`~4}d=1gFzoHa%xJ7t@f=-09pHP27P zGSMj`xBc}a_q?6TEp}kKjrY)L6*oK&8;|W8%~3t?R#}8vN#7JQRlCylL_=FyR6gI; zg3p1Zd?jT)ouM)ifbNpa6j3sCDhVTdG>KM=(lLVaM{hwf=1k<(160U4=k9l0Q*rA9 ztxUWz3jK|VYPtoTc2$7BkhSJCY}c0w5F;mk1h;GWjm-_=0}vAyVdAt0-EZg*CHM`_ zUaSz9$RgN3D!`BqOcav;dEYT14I z!G4F{P=X8H+;r8|nWF{|nX+w`$rrxl-r8`Bul(W_yoCIyi%}5M-h=Q-)bZ}~$ugyq zSH(zZy!E)ED*>u?_{!A4(iU=X83($tuZTt}mMLv3k?F6r%GGK$U!>982ttTLgIn~A zq7Q^8=(1_3aa+W+HR>bTVlfzd9r{wM*_GB-i*4^UXC_`_runyx(SI(4K~kFgdT!_j z-N!n57G$M$R^30~VQ%-z5|OKR_=fF}qV)~iam5{Xt}D(&KDnoGmqt(6cKKA^bq`ft z%)kv>8^VF7@fW{LsnE8>FRay{%p^rCBG#;V8%AzTsxL`Tl$MDmSbAX*C!y%EPl7W{ zo{vA(aF@%hWXWXi7cvoCv7$H!ho&N3l5FmUf>EE8I1$9>DU$lz&glfhRd9f_}l@7 zUM>6jbunKxh0b$82GvP^uSBfaP_BM@sXO6Hmj|JzgKYSGww7jnEtOI-m3FyGK>GbE zIgfsqsY2x`T-N9VdcTlFOmgW(KXa^7OsSZ&uGvU%xvFeQCWyHO8Cs9zynbj0NTNTx+P` z(!<<0v_8y&D)_@iFL7sZ$2&*9yZf0qIEd!nwS#BGrFcSO`{dhq6U3QzmAZVv6~N)4`myEaO{RSI5;pMIoNRoP zap7HtU|O=mQQUQkh4<;Hoiwh*cgF_?Kc6hfxSp|6!$UO@vG!8X&`^;q$XO#f6R6g} zg=x}BM5q{;EVg=v-fX|rDlK&5N9Kb|mLixK#`Pdy=j|Z73JyaI$E{y~2cNo*OPy%U`PGds+3d>`>cV?sbtfVJkhX zz|9U-SC()=t#!YAT4?3+SB}BFZ}^X|Ik;7G-ApRhK3Uynd+auStEybP{km zZ9&2P?Kc$Z*3n$LnbsC9v@*We_k_k@nIs)?mr<%PQt9RnA1`^b<4ByluS13v9o1p| zLr;-B(k965OVnK7HipGt745wLaid|_UPqa>y?8#;&##OSy94bVEjPZlw2cw)!(2f~ zOT0FIR=9>KRmive)vY1gEkV=7Vuz7HcOUOQW>O)77rjaF)rwVbx2V!EHMa+ME|O#^ zm^`6=DUzi6xxLrB(PZn{L5DDrYMUpDytqYzcu8L9lJ$zOi3v}zqX~P*XNJkH>y%u6 zG)fyzBO0=O7Ig86fH!i{Vi0+9rQV73!qQHtz;OJ@iKoLuVKXzvR4Shm>WdJr{`_~y zVkr*wrv1GW>fBwg>oniTDDCaZ>gf9`d*$8?MPkGfS7z%%g%;EyyuG2qPvQElKion| zHlH>rcJ_>wX=1n79}h6MCrdXBL-go?X~I`|C)x#@%jBI6-?y4oVsDIfK4E0`LEb#| z<$dT|btHjVx_1*LpgvwJIt;gTdE=vcMAEkq{3!YJHv0~b$F!3f@9*pyeY9Adsm4S- z?-q6_LnNNczM1phy8A#5W?@C@!E^hA{5vPnCT8Mk&IfjB%QbiNtua(;7-0@bY#&u-_!fQSkoVN%4#XoejhicN7An2YThxW3HU}KX^Dorn7MR@Fww||jD_izCiZ0Qi zLg~<N?y-7(Qt?}Z6xeR z$LMX)U8@V$bgR;l!ej}Hc^`$^^LMYei(aOd*PbtZi=)zFEM2uw_`~tH)}>mx-pX|} zKPaogg%QYi=+U3+idrnhwvSoJs=m+tNSD6WiZaPwG{>Kbp9yqNxc`K?$KhNYw}90; zw4_$dGaY5_88Y6Vj3Mz(l~xmq_Pz0mB_-^uIhXjj#yUxi5qEy2@;>6~zSK5_kA`yEsF#kF%jW3WC1h6}d2Ilu(HE{G5|-iOn@Us5 zWe$*VB(q^G)kn_DW_C(DdF)F$&SQ1Ldeo0(bloRM=%)}WAf+s$QSoKoOzL7kmTEMT zTO8*m*T5}2KaUJlvYTa=CB0wtu%hFnhM~nfrL?;#v(<8z*gNDHlCE7#bIcDM+N62j z;ea6OP`fYEyfPpMg-*M`JI}2niIlvdc5uY>hJmL|ep3dC{+y*Clu<}Cj{RqICj#qw z>BQt0kTLhlDuhc$xs!7vm%8cJ&N!p)5K;G!63d!$HrWWQceoH_v?(c=h|m)CGCoZc zwM`w=<-!#z*bm^zXKZu?Q3XBwp=o{uSF{_>W8m4*c{Qwahc9aEyI^O+gF?9uvO&n2 zcXxH|J!Y6(YXUYPmJFeOsR^d9betRh3DR!R67jH0VOAHPhw$Amh%6uYTqgYZ5kv;? znj2z$l*2*#pvkFDxG67k+@&{7SVly^+4N{|2I1W8|OodNFti8tCfi5Jfj09aDm?@gQi};{D{zio|bZ z#qzHdWQ-+b!$&Ut&Hz!9O^*x2+P3-OF#YQ% zKTZ%D3ZXqTjmmM+TU<9zjovIg>fC@w%y`Io?EF~fF?}3*m+islI%!9oFUM{cspSkAD$QWF{ys7eUQTu zXf9&gQwBB}O1Vl+O}gdv{gPaGuyy*(t9lFr+fSgaMClZg=11gHZxUw1zg@YZ7 z#QQ{3511!x2yFB?=`;{bwo0GXQgQlO)~B9)&n@#4c5wio0u?0x2;x@3w7nI5O+ww3 zCoO^ahoQ2OcB5rBUGZrEJj2ZgA`lfLkgPLmXp`I%^7a$<@&b33fLUzj!VeKBc569O zk5(AI>cFcVknf&z*5}dWZNp4iG6K<*1YJtL#>dquZmM}hGGBMYwqCa{_b_YYl7+JZEoK7+ zXsO7VE_@84aQ_;_WIbezIFBT6E7Jj5hSh15l`-^XNFthyPfv{Xk;WD$FEWdchE$S-99bC6^tLjO~3LQ(&9)OH{c3Unk5+Ozw*Q+}Y z8B#^Tw8Iz)9(&5soU%=7b0TT252wb|bDciEpSg~ZdkHC_m>Ci)r9{l#5`(j;6}_*c zZ(TKu9P&8jfGo)xl#`NIh&x8Za$SwH+zRo1;xgxv<%8UN@~e+^CRU7%`& zb5PdLVj;3xkG`-(+DL^rbQ@FT3=(UdT?!3{3Z~^~A{LZbhQ4vR-VukmU zcn<|mz5Ny$xQba+(N~bxB=bFAG%n)doADEm-d>ZQKY!{KayR;_tnrUiH2l@vu%D;I zuL}x9|9AkYk3vf-4vWjsTLt3WgunTCNS{gLUrtv-JyXGuAWE5I{|i#?S)!!WigI0J zv-KP5&LIVq^^F4QH?Vj;YIjZswL55lw3#3y?{rTxNajW5xThlSa$pXZV+6IF;GI!$ z{1NwPYAUidP3y@!28-uQ4!U~W)x$`PK3n-%Tk@HMx6 zp-?H@w<&{36`_{N>pT%&Q4UWlPRZ7V4-3X`%&X5?gAsa;8#_t+NahP#$xIzCYmg2Z z-1CjePpm|TPtTGzMC)5e3RCCB>9KRrs;d>EsiB7uGyNoKjq4{@Ub0Sq@$mDIbl9s? z*O?>X4fSY|@~ZRphL{B=N&E8pGMg#f8jloV>fWcHL*r#QeXy?mQZ* z`2QdHy|db9P?oYUQG}#Wma&9nODdIk+e(|gLNa5!$TmonZ7NYxX{EA^EkaQ$DKT~; zjjfR7_x^mpzwht&$M5{^IgdGW<`3tXbLV~U`~7;pUzcXTOkMyKm@lQsJuEzG3Ei+$VKM{MwEVFIz(x>XT_-oU_fp(c$eq8py zLox$|I}7Znh^5)3BA>!&PN9=@xly+hrV;ECmK~7Lk2jdQi1@KqgZ15S-36bLw7sz#J zYbxLw3e@LtX`=0MW*6ul@gtkR8ws!NeOgNk7PMt*NQPWCShuXY?S;%vo(~+(yL=&h z<@W-LeH0=&#}(W;%{Ah~XLk#Ex&`Z3s-pL6*)qE;UC8z+gug&>HN*VBq8n6%6$~{0ja+N{ytvh8*)`$d`56?qmlv3$dvDxI+^&zW>UY85Jbt4an6;DB!i8nU%FE-Zcz-`@}pxel$Et``0G#^2)1U zl;}0wj}l5Zm5pN~t?CK6#00CLS)X=*POg;1R^f_|N@ z@CoUW(p}}+Gr==HxUbQlUzQKDPYG^ZwV~smKOY>^S7;PIvG6@T$uQpF{+cU~#kk^p z4cE5rIcDx&pOsOVnI_$0GOj#gJMvM)s+RY|$Gu-JiQMactjSO*w~RrQxVSF{$s#+D zQVhA0a)>MzS>)}`Iw(0t(2Bl zD~fc~YW}mjWKz-I!VdMPkkG36$q9190fDZbx7mAlQ}}UDM{FasD7(>qmQ&9U*N5aa zM3iV0!Ly}=?#&lq{N#57{1Oax#Fto3$D)&;a#*_N`=iy8fF*|z&`1<%=IxJY`%!at-Z+?Y3Y;PC=T6;~NLxtz3?Rxq=D)q>vKz9_k- zX#D?tB&V= z7j5*;pA1ozAsL9-Hf;~!I|_@hujYr2+N2i6*G@YWxtxAzQ?ck88ridPw45$`a*JPG zoqzr7{r0j>^Hm4hL$se>_MaH#{O`)j6;}bC;^R+LHy!vmPZb6i)KU8R371}%VND7; z;@z2WPen9vmbs>i6ke~1MW66TZc~lA71Q>u zzu2Bf0z>rH3zYEJxWzE$r~;)je~NLZ4|PWBs`>R!r*M{%{9d@6`*L-AeKTTsT6#@R z>W7KZ@m<)mO~`qiXi^CM_%F$dDu1M)g)#6bt`IFXbP^#+d~ZOib`gaK*1g#(^JDRH zlJRxIvV)A5Y=51fc+#cTs)B43NFO8x_yLgY!;Yqq1jYOMOgSD^&;d!OjS)t?EA98&Ujd_;$g zw9~VG9Zu{mGs|t>c^}ljN1WZf#=e_HyyJg3k0IO7H=emWuO!vl#PVDrlXuu&8j0ru zzJ$%Hchqn4TRHX>$9tb_DcrhwUqm|JDa{w?g#3y*)#pHw`|0r?nbHP*&+xTu`}{;i zv%~Hx z4)Vmnw2vopl;==klCz9DI^Ebx`cJH_Y+o&7n%9%Vxx?W+ytY!fA?gH~UemW4of3F( zOVxIv-}WUr=k))3qRa38ue17pt{o@g>gv1y znqkxA9>f}eWQ29cMuKW`Prd`ErDtdVOWA>O{Z>gE{^(g*orDomA?`Y%lqc}AqF)9UeX(=6SvR*e{rhNYi3 z``P$8^SpG&=l`zS}uy8P$NjnpV2*SX2un2W>Q)mfYY9~&9mfB>+vIX~GS%5T zY>i$VZiTn33OXPjf~#=zl_`($9dO1m8$T(jlu)a*SG+PK)gFgho&OP*8D&*DqUrDd zGI1)#B6UNv;(f`AblzL|tl^|nU#SZH7qVr|2WRT7?Ylue z@Lgx1nY?F4(F&HtB}fG-DO@K@m5~Yq%{PeX1Cbdj`!F*qdO3#jq4qi|Re{qZis>7m zA^v|k!qZ%Xi9C;i)E)+({YqSec~Hq?U0xOWZ&h*HOVUzG`FT7o4a>?gyANxP91mfN zQ$IMD$7E3_f6;%&X`g9evzy=FRm^ZWq|vWDn#53XZ_A(MXlZZTO$fZy)vWik^k+{A@*Fz_0_rC5m6#87LpC$8*?`2GuYZQ_brycYq@_@gkid?B{-M-(Fh<$wyI*Mi0Yv=2(4dPKhXe=r4m3j1*|zLIu4)3$#^U zTjeNfZq0B=k87Y^)yi^fl$o9i|BQcnMgz@>nO@L|T;-xWfBXb8279E$^45iaW8l9HFDC+K$`_Ht`OWc$}jcUsWCcg}*ldWuZuw8O?w1V?U0 zK6LD4RWii_PmFA?J7@C2#Xuon?f6wFAd-LWNsi{gRWzlmC=SB57nvAN-YSD7y+NqbWldrKN&JfGuWV!-p==K@44E>X> zWhC$R1=BeTq0|MFISX7WJV8FNWxoop1q*wHmyt~KCPvtXqGMcuOKRC|JmQjAVNn+R ztA2=~kT*Rv7&v#qvt?LyT42Au&}5-X6El77x~GgA2~mHUD22d_2}kVW`LKuh*KCea zXw1vmHkn}baU}5SB|+p~ zrm*R~%*#&Ha|v$onhD3YZ+7%PYdzvv+Opb)6Zr##n0|>2xKhYdtX=aeR_p#8syBD( zu29!s2Rr-o=ZWTYn$76^uc2LzPGjAojiPTljjfil&yvI?m(?aNSyWC zm%Tj$HkP&Q^bgn%9b$m8C&{8!h;Qy!7+&s63@+b}Y_Ed<#r4;zxe*h}(B?iTj{EZ1 zy%q@{Jf}|EBJ7mdnlOnCWhjHM*eifz&oCi@UuZdv`BoJYjv|uPl zZeZtkam%E7nV%bC6r22=0Atca$fw`qc>EY+G8O4;4ZwB{QXDA9&-ktInb<5Kk zo|DKyj_7e`9n8%6#L~0_k&z&^Dtn*Q(d;*XL@EU>(`kAWiMQk*ZuQt87=U=v&no_T zvM#F@2^YqR@(Zth;=$huOD?k8uA<#Sf1NeP*OXt9kYT&)enI`hx;>6#1+v~pL`S#| zG6uF)g=!%T$>L)nEOG+l{m#LHZO?5t28BvoX{jzmPtV-F^tLkLTc8!b8`C|cHNeIN za-BY^F>l-$t@)1R8(9(8J#=r})sT!NsBbQfsmfN^T|ob0CRcnyhKg(E`tKI0q)YH* z4FcMujeJ>@xM+I;TfJ{j6_*`QU9J`H@l11qtQJT#yo!c3B)*K3@-yQOKFl@zRofLb z`5_e5nRl{JM6yW9@4v2lbxor6w#C5h&j{TG-etl4S@^1#bahf};{>WB!*o7J;JzT+ z-4zI{(qoA8oTr&<#Hk!sY&=4b(N?Ux@0+u5m#3-3J1KNw(((Gqf*Xy-+Q4y?zq>8Q8|a*V*WDN|{XNZ z&QA6@xli8sD&-`k64C3HFvlY!fVT~o;7_e(grAG6L&5{1YuTW0{Xw|pPFx^XQQoH6 zsdl4&Y8lFKgJy6hl+2d6iiwROrzbWn;;AQ!OU3l_P4Yg6lozISqQCuDv`b67+Q z5mo);zO~4OTSgbjieg+{UPrjcVJW+9K!`Rs6PkqjR1iJRq!9D?%>jz45$%Ci;39_- z%?Rb+bH#R%IwH4oNe^m(MGG%k*R1^P_ z7q~J964%{p{orwDj5Nb1TY|MJh|jRCHfD?47)9Wl=&FIXO$o+Q8EFGo0p%O*m)6P# ziYT&(2x*ED=f4q3BMQlH*am>2)E1KQ`0WlErN23mcmrpA1G_Su+{mcZjvljGQ>9dR zPDi@v%Izw+AmL9R^j)|tEX7<8uDm_hD!m>T=7 zx(LUgLdu_^og)l?w`m{pP0IwvKF<`{Y|DuTnL2dLOG8!?k+Rw|D7SsYD@2d1`-mD9 z9J2x21iJeEYY#NXIiX!r2F=L+`pFJ;y`>oAa^e!xE2^)7 zc7M83Dl_2SGNa|cM|j$UWD~&ZFpouS?n!VT>ls)x(@If3YO~dy795^#i`gj$38{UN zavxCEhh;1e(Fy}Xy>!9zf!B$ocWDDTzcCBvwk}bpJ{N5ri<6XfNCdaJT`~s_9gFoE5=(%p z_=Of%%_i4#IMzz#4-j=Ux2W0bJK?0#iS*>~N<3)Kj>K0B&}Caqo|pV5-t1Wrjb42F ztolUu?Lgfd2(z++|8^H6ZncGE^v5AmI#MkoDRjGeu#r;e6{WppM!eIhvIZL!Wwg|# zqh$;#OXEg)c1kW!^LMtfsWE4*R`w>_%Eg+nI4_#;&-B zjQO<7Ap)s09IfxKaF45Ek8$4VHx-9V7u(CzXk>WtXuz5D%88WW$FK579Y0fS86By1 zecR+K#YUuJi-*-02Z-k?f`}+O<3Q^i7x^nw5+B8cs*H?U+wY|_+a6;oO zu|xQ}|322nW;U9$B1hH@?P_Mf)4!NknIvA&%)Tr^kRAdjLwaQ4YkXe^W2rSOoO_VB zF+ro-YEUdy+$Lpz$aFyBF0UXiN3l2#Ssf#b>I^Qjr0hDchAbKAk^itmYD)RJ)Ys*{ zVRT+eei7-{7k#(r%AXIxQRMlH14ZuFF+Nxp>&74=C>H`yOCwOr8Ku&4O)S$QiQ!3-Z4Na>H0!z1;rAlHqh2l>zpGRIE4OwAfA*jA zCNND&yHXLJB>NqZj07yS7UMrNKDuuROt~rFBOH6Tt$d87+}x}mg? zP@Bha4>Iu05ZW(sq_EY=LU~-L(ZD0>)Q!uNJQs3>=%3zgI##&2d1v0H?}a@P+PGag zt{HwGeZvCNZYmfE$1K_0H1`_UIWOlzotZZ^&knJo+_<@5MUG2n-`bMp6262xchvT& zonx?){WK#2Z>4bVTi9_j{`qTrJ|qV#Fh|B)&i%A)97J|40DM**EnE(LXC?V2a}@|i zt+?(#O81$$v5)fX?Vj>9X7uGLa@G@dp6O^EX2m@d_6l7_t}KMAu7$_ z`-LcXUq4-B>c<_RvPtA;ETeY}xA!lNaQH(RJ=9ir$Yi%6U*zx6Iq7|0Tn<#F1&1(* zy-8EeH&i-hU2h63{jf{JT#RR;8l#4SG_uziIPWa+i)n;#cQO;1UvxlJ;?`IP-8@lu zw<;upiZaW*)R*UZibwD2j4+gf!21Ok;VG&FpV@bwrPf_Jp|=xGj*Nw?l7G>RUy$h; z6m_)!uN*P5x3-G=)pl4u)Uq3~)ptHN3HKK;wiCa>&>Vuw(OBjL92rkqd(1Vu3KxL%j+ihegp>fx3+E<^xe6hV>y|chNMY`<9y|g>WwOCb(PKQrh zR34gPs|x=hxf-A?N36Pjreq_t(V6juj-)$SV zU0{gX=pV=^R!L&mEi5R_jcF_}g|cUgmudV(QqOWI|7lk204J$% zO%xp&(A}iBM@H=S)P8lNVa-Cz*;A&E$mo<$RU;^{q@2>rS2^1 zv2o5#!w}tzhaaKz7kU3W52QYhEZ&(nM_6#C_@EQOsLqY57Nkknv{_(zE6&`nO5$s+ zX<+#OEmR#*ZS<^-AF6!@OV?!b40-rp z>h8oeerwfo{f%P|yX7lS%{Dl_RN0p7xMT88oskf!YYd}P`AsD+cuig0uD|=dO;MO) zflQBoj9x#7y>sySq5)Gjf#GlR<2{GVI`Zp9uL$49bNRhix&;Mq(M2sIV?N?gROsT0 zoc)VPuD^^GZd?6ZBs5zndFk(1q(O?A9J6_7O-#_&u6iGBCP0g6qaxa#NW!W-$7rh; zw=u&d$cc2a?D>fSL>|YR^qa#rDw8?le)c6iDyih12Hip49ENt6p#O|qwUc-QDP*yR zfNqT92r?4u7_O3L`REvh6%iM_`&Pv3)<&u+rA<~MfWxVcj3a-DY!O@3y5v2|Fp2QO zIjEYw5KI2O(e+QNUpxYr*bNM*`-|lbct&YG-?yhR+Qglz8JNg|pk1 zm>aY)>M{^7W<|~pBEcavp;R6uoC~PY)#@Q{j7h}QewslCIU2dxG>EGc5D3}Ed2{h9 z&W(kiW2|WNko!LiJrY2Y67k~XQNk>(|MwPx$Uh)jQ-A_b9{*4|$`;}kZF%}{BZ4gK z3^As3lf&5f_07AKzV_p3ZeR~Ogn z-{pG(;nV7sRJ4wgDuOJp${CsSyc?nw2EV3v>f$a_1hQmUxr8sFH>6*pJH+#MOo{`%Y z!euVO-f@Ju%C|!^H~;L~5EiNsnlSjfA!VxbJ!4|x`GeZp`g&i9!%yJWSaKrDsSR;n z-I5wj5Qq)WT(hJ%_s!@oC$A~~&l|CQ*8nL50#R=1p*kmb0W^EJkVQM=PX)QKR*@Bf~GXdw6C1jNevmh$7~*fcIp zN#amR8P6R&L2av^gHQZ_hqJxqsXJjhTRC_m^&;)3Jc*}BA($u6R6VdsJ@A0ndQp`p z_Fnm|6}H*g*HpP|oj(?9e57f)1KF%Mn_c)EZ{2p=Uw%*gQ{qp{dEKxoI#sYdP2~f+ z{uWrs?HY>~Ofx;}NM6r#nMYXs)7zhNiJ}4O^DWkm=Iftgo8$L3wn$mrQ%vlvV+iL? zTim;S#Djrdy5%1LYrv_h|I{-fZXB5N>KZu1wh!?(3{ zg^P=im8fV&;3@JvH`1K4ezzq*7T$KU(d4zTumkX)mP4uqQ0<)SaBdQ=NAas?L~_;( z4+JqfER(YCzOSm#3D(132xAv2mR4G!_FZ_N)CRVG=^U3sq{Fxqp>)n>GyiUXnrFSM zUna6^xW#bEe}8HM3Ui;0i8o_dkEK?_w)sdSQA~ z)vFLy)YASYx@(1JBYBKgYivr?5BDcfqV)7*!a_KBwNaB@M!|~3qh^&>@6HU55duw$5g(FtbCB8PsP{w3K5eH$6}Pjy`Id^5PrVWh$GwP=k+*ME`=|PUWt0! zASb-lZ8Cm?O|R7y@04M92k#7Z%1~B-d1z+ov}_->bLS|AUvMO^MfzK=v7=vveRw`` zSH_fFdyn*_EuKA6MtL*S?Eo z*m)ewj^(fkyF9nl%(a*MA5(Gz>soW%n;AdYE@kAJvj+a?D}{+3%PE59nSM+HXCaXG zkw!R$SG*MVFIH|%h@?7yE0XqbZ_`;F*ZK3muoaDDD&^>AegjJx_-we`N-0u8O1;Jg z4wL@34DN`NKW)loQRwKA3sWLN7nT8P$%)j{*P-pI7T_xg!@oD34DNk-u6BQQ56bE| zU1(Tg;6N^_k`Y17CWBjRx@d-0u^Zot1rOvNZ2HU-F&U|^*SXk?o*j0%I6h62OkB3X zKe>^yJalC|+UmQb?!_xi;qmI=H>XsjO*V)ma#V;=d|g z%w%|W{MdZ{cU#L-*fWqS&HwR{+m6MzYwsI-RErenWAZn4+ej8;D5wt_ps8O$cBXmJra4iEu4z4MZ~vhYIwN1H14WM7AXI+$~O7S z!OypJj_~ZRqg=6%PUP(MdGOxYC;Gh!7ihpf8}k3@HrmU2mpeT}6R?n>qFR(ZYKR<8 zwA?XCKgOTB?8rwMVAj@%uwCd27FOgC5ZIc<$~Nm?(+PpQU_~!&Cy3^5=L}P8iS?wD z6lU2(Tr?`Os!bwRCdArFh%HmwN8jYEP|hl2=H8dM&xsj+*`z10$` zkmU8>?yXh6j_-*2qi(!?G(vi9po3u?4D+_M&?(58`Op-FA}AS%Wuw=tW-`j5xygIg%V~2iQYM z>(BtVtnNKlV&E;fhfo}m)m#{~rh>3X0M@E3v!D5n4 zvYv8PNSf6Az&uT(SLV9-ba67GAbBW!aPNUP3`rR=^u;t^qPOj)H#e*!1c(OkM%8E? z?!ghaT6VzHDnf`=cqS%foQ+c#yfB>L=SsD2Bq;AG=*8Rr#?$E`5}VqcKLu&FRfwi6-jcX!!HU|TBZuQ z@}bL|+-fm2Nt-#kL|dF0*Ji%rvAVsP!isB8XFhd(c0i%Z@6iK*fM5B#Lh{?Md;t(#)d274IG&ij?VYpD=>L%w+qtX04a!Czh{C@w+N9JH_7cX#LAdISQ|t&HX+Mm|?&i1A8!FfdNYlSYco<2COl# z4+AzBu*HBK2JA85fPwuOaKyj?3^-xnAO;R$;4lW9F>nL}M=@{=11=aijsaH;xM2Wb zz#Rh~81Te^7Y4jBZ~_A-G2nxNQy4gnfioC5i-B_(@Wp^12K+G)fPp{^1YsZ;1LrYt z0RtB?5Q2eF41{6e5(dICa2W#;7@%W-fq_U2L}4Hr12Gtg#Q=tZI1I#NAOQncFp!9W zBn%{DAO!=d7+_)`4Fl;I$iTo=3}j;98V0g3kd1-s7`TCf91P@QAP)oi7%0F13j;SX za0>&sF;IwsI~XX!KrsgHV&EPIN-%IA1Em;vfPse?c!Ys63_Qlb6AV1Xz%vXy$G{5= zlw+U*11~Y~3Ine(P>F#m3{+#F1_Nvi)MB6x1N9haz(6Ag-e8~!1I-wCi-8slv|^wQ z1Me{K9s}(d=)k}S41B~uCk8%Y;4=okV4w>FUop^)fo~Z2j)5Kw{J=mj2Kq3-!9YI- z1~4#)fgubGV_*aWqZk;&z&HkeVqgLTlNk7gfhi39#sC)s(-@e+z$^ylFffmSKN$Fn zfdvdKVqgga|1hwOffWp_VqonGKvQ6@KLy|*JVbzq5D6kfJP44sEAKo_A9C=?2VE1$)CRqS-b3wB2lN5@2z5fApwG}3s0;cEbwl5v z?@$l)1L}qPAP&?I4M2m?5Ht*pK%>wYG!FfQCZI{^7c>R^hPco)Gy}~-bI?5W2l@*w VK#R~4^bcBwR-je%Ay`B6{};@+d2s*$ diff --git a/.Floppies/A2OSX.TEST.po b/.Floppies/A2OSX.TEST.po index 1b214564ff85770d8ea883726b6973a184e62106..49e17be771e933a240ad9074fc8979459f757df7 100644 GIT binary patch delta 28922 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 delta 29545 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 diff --git a/.Floppies/ProDOSFX.BOOT.po b/.Floppies/ProDOSFX.BOOT.po index b44ae9361c7027791e0f99f730de4f992d2cb988..4377c5d8228ed853099e6f56bf7aa9ee02b2fcb8 100644 GIT binary patch delta 11681 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 delta 10849 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 aka~KetD{MhLX$;bD6|D - .BS .DA .AS .AT .AZ .EQ .MA .EM .OR .TF .LIST .HS .IN .INB .OP .TA .EM .PH .EP .DUMMY .ED + .BS .DA .AS .AT .AZ .EQ .MA .EM .OR .TF .LIST .HS .IN .INB .OP .TA .EM .PH .EP .DUMMY .ED .CS .CZ .PS adc and asl bit brk clc cld cli clv cmp cpx cpy dec dex dey eor inc inx iny lda ldx ldy lsr nop ora rmb rol ror rti rts sbc sec sed sei smb sta stp stx sty stz tax tay trb tsb tsx txa txs tya wai $ % / # & ^ .1 .2 .3 .4 .5 .6 .7 .8 .9 @@ -35,30 +35,30 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BIN/ASM.S.DIR.txt b/BIN/ASM.S.DIR.txt index 2e278e45..51c2a513 100644 --- a/BIN/ASM.S.DIR.txt +++ b/BIN/ASM.S.DIR.txt @@ -9,9 +9,9 @@ DIR.Reset lda #$ff sta (pData),y iny #ASM.LI.XON sta (pData),y - + >STA.G MAC.StkPtr - + rts *--------------------------------------- DIR.AC clc @@ -22,7 +22,7 @@ DIR.AT sec *--------------------------------------- DIR.AS clc lda #0 - ror + ror sta DIR.Byte Save b7 of last char in string jsr SRC.GetNextChar bcs .9 @@ -82,11 +82,107 @@ DIR.AZ jsr DIR.AS lda #0 jmp OUT.EmitByte *--------------------------------------- +DIR.PS jsr SRC.GetNextChar + bcs .9 + + sta DIR.Word Save delimiter.... + + ldx #$ff + ldy #1 skip delimiter + +.1 inx + lda (ZPLinePtr),y + beq .9 + + cmp #$0D + beq .9 + + iny + + cmp DIR.Word + bne .1 + + txa + jsr OUT.EmitByte emit length + bcs .9 + +.2 jsr SRC.GetNextChar + jsr OUT.EmitByte + bcs .9 + + dex + bne .2 + + jsr SRC.GetNextChar skip delimiter + + clc + rts + +.9 lda #E.SYNTAX.ERROR + sec + rts +*--------------------------------------- +DIR.CS jsr SRC.GetNextChar + bcs .9 + + stz DIR.Byte + + cmp #'-' + bne .1 + + ror DIR.Byte save b7 status of ALL chars + + jsr SRC.GetNextChar + bcs .9 + +.1 sta DIR.Word Save delimiter.... + +.2 jsr SRC.GetNextChar + bcs .9 + + cmp DIR.Word delimiter ? + beq .8 + + cmp #'\' + bne .7 + + jsr SRC.GetNextChar + bcs .9 + + ldx #DIR.EscChars.L-1 + +.3 cmp DIR.EscChars,x + beq .4 + + dex + bpl .3 + + bmi .9 + +.4 lda DIR.EscCodes,x + +.7 ora DIR.Byte + + jsr OUT.EmitByte + bcc .2 + +.9 lda #E.SYNTAX.ERROR + sec + rts + +.8 clc +DIR.CZ.RTS rts +*--------------------------------------- +DIR.CZ jsr DIR.CS + bcs DIR.CZ.RTS + lda #0 + jmp OUT.EmitByte +*--------------------------------------- DIR.BS jsr SRC.GetNextCharNB bcs .98 jsr EXP.ResetAcc - + jsr EXP.Eval bcs .9 @@ -105,15 +201,15 @@ DIR.BS jsr SRC.GetNextCharNB stz DIR.Byte jsr SRC.GetChar bcs .1 - + cmp #C.SPACE beq .1 - + cmp #',' bne .98 - + jsr EXP.ResetAcc - + jsr EXP.Eval bcs .9 @@ -121,15 +217,15 @@ DIR.BS jsr SRC.GetNextCharNB ora SRC.ACC+2 ora SRC.ACC+1 bne .99 - + lda SRC.ACC sta DIR.Byte - + .1 inc DIR.Word bne .2 inc DIR.Word+1 beq .8 - + .2 lda DIR.Byte jsr OUT.EmitByte bcc .1 @@ -148,35 +244,35 @@ DIR.BS jsr SRC.GetNextCharNB *--------------------------------------- DIR.DA jsr SRC.GetNextCharNB bcs .98 - + .1 jsr EXP.ResetAcc jsr EXP.Eval bcs .9 - + ldy #0 ldx SRC.ACC.SIZE - + .2 lda SRC.ACC,y jsr OUT.EmitByte bcs .9 - + iny dex bne .2 - + .3 jsr SRC.GetChar bcs .8 cmp #C.SPACE beq .8 - + cmp #',' bne .98 - + jsr SRC.GetNextChar bcc .1 - + .98 lda #E.SYNTAX.ERROR sec .9 rts @@ -189,17 +285,17 @@ DIR.DO >LDA.G ASM.DO.StackPtr inc cmp #DO.MAXDEPTH bcs .98 - + tya beq .1 - + * clc adc #ASM.DO.Stack-1 tay - + lda (pData),y Previous DO is false? bne .1 - + >INC.G ASM.DO.StackPtr yes,stack FALSE * clc @@ -212,7 +308,7 @@ DIR.DO >LDA.G ASM.DO.StackPtr bcs .99 jsr EXP.ResetAcc - + jsr EXP.Eval bcs .99 @@ -238,11 +334,11 @@ DIR.DO >LDA.G ASM.DO.StackPtr *--------------------------------------- DIR.EL >LDA.G ASM.DO.StackPtr beq .9 - + tax dec beq .1 no previous DO context - + clc adc #ASM.DO.Stack-1 tay @@ -256,7 +352,7 @@ DIR.EL >LDA.G ASM.DO.StackPtr lda (pData),y eor #$ff sta (pData),y - + .8 clc rts @@ -273,7 +369,7 @@ DIR.DU >LDA.G ASM.DU.ON lda #$80 sta (pData),y - + ldy #ASM.PC.DU jmp DIR.SavePC *--------------------------------------- @@ -298,7 +394,7 @@ DIR.ED >LDA.G ASM.DU.ON *--------------------------------------- DIR.EP >LDA.G ASM.PH.ON bpl .9 - + lda #0 sta (pData),y ldy #ASM.PC.PH @@ -315,29 +411,29 @@ DIR.EQ clc lda #$ff >STA.G OUT.bEquate - + >LDA.G SYM.BufPtr beq DIR.EP.ILLEGAL not in global symbol context eor #SYMG beq .1 - + bcs DIR.EP.ILLEGAL .SE not allowed in local/private bcc .10 .EQ in local, skip F update - + .1 ror A = 0 : CS = SYMG.F.RW ora #SYMG.F.EQU sta SRC.ACC.F - + .10 jsr SRC.GetNextCharNB bcs .9 jsr EXP.ResetAccV keep F - + jsr EXP.Eval bcs DIR.EP.RTS - + >LDA.G SYM.BufPtr cmp #SYMG @@ -345,28 +441,28 @@ DIR.EQ clc tay ldx #3 we are in local/private - + .11 lda SRC.ACC,x update value dey sta (ZPSymbolBuf),y dex bpl .11 - + clc rts - + .12 ldy #SYMG-1 .13 lda SRC.ACC.F,y sta (ZPSymbolBuf),y dey bpl .13 - + >LDA.G ASM.PASS bne .2 jmp SYM.StoreGlobal - + .2 jmp SYM.UpdateGlobal .9 lda #E.SYNTAX.ERROR @@ -384,16 +480,16 @@ DIR.FI >LDA.G ASM.DO.StackPtr *--------------------------------------- DIR.HS jsr SRC.GetNextCharNB bcs .99 - + jsr SRC.IsDigit16 bcs .99 - + .1 sta DIR.Byte jsr SRC.GetNextChar bcc .2 jmp OUT.EmitByte - + .2 jsr SRC.IsDigit16 bcc .3 @@ -407,7 +503,7 @@ DIR.HS jsr SRC.GetNextCharNB jsr OUT.EmitByte bcc .5 rts - + .3 pha lda DIR.Byte asl @@ -417,44 +513,44 @@ DIR.HS jsr SRC.GetNextCharNB sta DIR.Byte pla ora DIR.Byte - + .4 jsr OUT.EmitByte bcs .9 - + jsr SRC.GetNextChar bcs .8 - + cmp #C.SPACE beq .8 - + jsr SRC.IsDigit16 bcc .1 - + cmp #',' beq .5 cmp #'.' bne .99 - + .5 jsr SRC.GetNextChar bcs .99 - + jsr SRC.IsDigit16 bcc .1 - + .99 lda #E.SYNTAX.ERROR sec -.9 rts +.9 rts .8 clc rts *--------------------------------------- DIR.IN jsr SRC.GetNextCharNB bcs .9 - + >LDYA ZPLinePtr jmp FIO.OpenFile - + .9 lda #E.SYNTAX.ERROR sec rts @@ -471,10 +567,10 @@ DIR.LI jsr SRC.GetNextChar bcs .8 cmp #',' beq DIR.LI - + cmp #C.SPACE beq .8 - + .9 lda #E.SYNTAX.ERROR sec rts @@ -485,15 +581,15 @@ DIR.LI jsr SRC.GetNextChar rts DIR.LI.ON ldy #ASM.LI.ON - sec + sec bra DIR.LI.APPLY DIR.LI.OFF ldy #ASM.LI.ON - clc + clc bra DIR.LI.APPLY DIR.LI.CON ldy #ASM.LI.CON - sec + sec bra DIR.LI.APPLY DIR.LI.COFF ldy #ASM.LI.CON @@ -501,19 +597,19 @@ DIR.LI.COFF ldy #ASM.LI.CON bra DIR.LI.APPLY DIR.LI.MON ldy #ASM.LI.MON - sec + sec bra DIR.LI.APPLY DIR.LI.MOFF ldy #ASM.LI.MON - clc + clc bra DIR.LI.APPLY DIR.LI.XON ldy #ASM.LI.XON - sec + sec bra DIR.LI.APPLY DIR.LI.XOFF ldy #ASM.LI.XON - clc + clc DIR.LI.APPLY lda #0 ror @@ -533,14 +629,14 @@ DIR.MA >LDA.G ASM.MA.ON >PUSHW ZPLinePtr >SYSCALL SListNewKey bcs .99 - + >STYA.G MAC.ID - + .8 lda #$ff >STA.G ASM.MA.ON clc rts - + .9 lda #E.MACRO.INV.DEF sec .99 rts @@ -548,7 +644,7 @@ DIR.MA >LDA.G ASM.MA.ON DIR.OP jsr SRC.GetNextCharNB bcs DIR.OP.SYNERR >LDYA ZPLinePtr - + jmp FIO.LOAD.CPU DIR.OP.SYNERR lda #E.SYNTAX.ERROR @@ -557,34 +653,34 @@ DIR.OP.SYNERR lda #E.SYNTAX.ERROR *--------------------------------------- DIR.OR jsr SRC.GetNextCharNB bcs DIR.OP.SYNERR - + jsr EXP.ResetAcc - + jsr EXP.Eval bcs .9 ldx #0 ldy #ASM.PC - + .1 lda SRC.ACC,x sta (pData),y iny inx cpx #4 bne .1 - + >LDA.G ASM.DU.ON bmi .8 - + >LDA.G ASM.PH.ON bmi .8 - + lda SRC.ACC >STA.G DST.AUXTYPE lda SRC.ACC+1 iny sta (pData),y - + .8 clc .9 rts *--------------------------------------- @@ -603,37 +699,37 @@ DIR.TA.RTS rts *--------------------------------------- DIR.TF >LDA.G ASM.PASS If Pass#1, ignore beq DIR.TA.8 - + >LDA.G ArgDstFile beq .1 - + >SYSCALL ArgV bra .2 - + .1 jsr SRC.GetNextCharNB bcs DIR.OP.SYNERR >LDYA ZPLinePtr - + .2 >SYSCALL StrDup bcs DIR.TA.RTS >STYA ZPPtr1 stx ZPPtr2 - + lda #S.FI.T.BIN sta ZPPtr2+1 - + ldy #$ff - + .3 iny lda (ZPPtr1),y beq .7 cmp #',' bne .3 - + lda #0 sta (ZPPtr1),y - + iny lda (ZPPtr1),y cmp #'T' @@ -641,7 +737,7 @@ DIR.TF >LDA.G ASM.PASS If Pass#1, ignore .30 lda #E.SYNTAX.ERROR bra .9 - + .4 ldx #0 .5 iny @@ -651,7 +747,7 @@ DIR.TF >LDA.G ASM.PASS If Pass#1, ignore inx cpx #4 bne .5 - + lda #S.FI.T.SYS sta ZPPtr2+1 @@ -659,7 +755,7 @@ DIR.TF >LDA.G ASM.PASS If Pass#1, ignore >PUSHWZ Allocate >SYSCALL RealPath bcs .9 - + txa >STA.G DST.hFILENAME >SYSCALL GetMemPtr @@ -669,18 +765,18 @@ DIR.TF >LDA.G ASM.PASS If Pass#1, ignore >PUSHW.G DST.AUXTYPE >SYSCALL FOpen bcs .9 - + >STA.G DST.hREFNUM - + clc - + .9 php pha lda ZPPtr2 >SYSCALL FreeMem pla plp - + rts *--------------------------------------- DIR.SavePC phy @@ -692,7 +788,7 @@ DIR.SavePC phy dey cpy #ASM.PC-1 bne .1 - + phx ply ldx #3 @@ -716,7 +812,7 @@ DIR.RestorePC ldx #3 ldy #ASM.PC+3 ldx #3 - + .2 pla sta (pData),y dey diff --git a/BIN/ASM.S.MAC.txt b/BIN/ASM.S.MAC.txt index 7f359175..d84f826d 100644 --- a/BIN/ASM.S.MAC.txt +++ b/BIN/ASM.S.MAC.txt @@ -198,12 +198,8 @@ MAC.Exec jsr SRC.GetNextChar skip '>' bcs .90 >STYA ZPPtr1 MAC.ID - txa -* clc - adc ZPLinePtr - sta ZPLinePtr - bcc .1 - inc ZPLinePtr+1 + + jsr SRC.SkipX .1 jsr SRC.GetChar bcs .8 diff --git a/BIN/ASM.S.OUT.txt b/BIN/ASM.S.OUT.txt index de40fbd1..f723c680 100644 --- a/BIN/ASM.S.OUT.txt +++ b/BIN/ASM.S.OUT.txt @@ -107,7 +107,10 @@ OUT.PrintBuf.RTS rts *--------------------------------------- OUT.PrintLine jsr OUT.PrintLineOn - bcs OUT.PrintBuf.RTS + bcc OUT.PrintLine.1 + + clc + rts OUT.PrintLine.1 jsr OUT.PrintLineOutBuf bcs OUT.PrintBuf.RTS @@ -254,7 +257,7 @@ OUT.PrintLineErr jsr OUT.PrintLine.1 bcs OUT.PrintLineOnRTS -.1 >PUSHW L.MSG.ERROR + >PUSHW L.MSG.ERROR >PUSHB DIR.Byte >PUSHBI 1 >SYSCALL PrintF diff --git a/BIN/ASM.S.SRC.txt b/BIN/ASM.S.SRC.txt index 49d14df8..0ffa8cc4 100644 --- a/BIN/ASM.S.SRC.txt +++ b/BIN/ASM.S.SRC.txt @@ -91,13 +91,13 @@ SRC.ParseLine.DirOp jsr SRC.DoCheck bcs .1 TRUE, always execute - cpx #12 .DO? + cpx #DIR.DO.ID beq .1 - cpx #20 .ELSE? + cpx #DIR.EL.ID beq .1 - cpx #30 .FIN? + cpx #DIR.FI.ID bne SRC.ParseLine.Ok .1 jmp (J.DIRECTIVES,x) @@ -988,6 +988,18 @@ SRC.IsDigit8 cmp #'0' .9 sec rts *--------------------------------------- +SRC.SkipX clc + .HS B0 BCS +SRC.SkipXp1 sec + txa + adc ZPLinePtr + sta ZPLinePtr + bcc .8 + + inc ZPLinePtr+1 + +.8 rts +*--------------------------------------- SRC.GetNextCharNB jsr SRC.GetNextChar bcs .9 @@ -996,30 +1008,26 @@ SRC.GetNextCharNB clc .9 rts *--------------------------------------- -SRC.GetNextCharUC - jsr SRC.GetNextChar - bcs .9 - cmp #'a' - bcc .8 - cmp #'z'+1 - bcs .8 - eor #$20 to Uppercase -.8 clc -.9 rts -*--------------------------------------- SRC.GetNextChar lda (ZPLinePtr) beq SRC.GetChar.ERR + cmp #$0D beq SRC.GetChar.ERR + inc ZPLinePtr bne SRC.GetChar + inc ZPLinePtr+1 + SRC.GetChar lda (ZPLinePtr) beq SRC.GetChar.ERR + cmp #$0D beq SRC.GetChar.ERR + clc rts + SRC.GetChar.ERR sec rts *--------------------------------------- diff --git a/BIN/ASM.S.SYM.txt b/BIN/ASM.S.SYM.txt index f4e13223..66e07edf 100644 --- a/BIN/ASM.S.SYM.txt +++ b/BIN/ASM.S.SYM.txt @@ -10,10 +10,10 @@ NEW * 2-5 : 32 bits Value * 6+ : Local Symbols..... *--------------------------------------- -* Local/Private Symbol Record: (6 bytes) +* Local/Private Symbol Record: (4 bytes) * 0 : Local ID (1->255) * 1 : Macro Context ID (private) -* 2-5 : 32 bits Value (PC) +* 2-3 : 16 bits offset (PC) *--------------------------------------- SYM.Init >SYSCALL SListNew bcs .9 @@ -55,12 +55,7 @@ SYM.NewGlobal >LDA.G ASM.PASS >STYA.G SYM.ID - txa -* clc - adc ZPLinePtr - sta ZPLinePtr - bcc .1 - inc ZPLinePtr+1 + jsr SRC.SkipX .1 stz SRC.ACC.F jsr SYM.PC2Acc @@ -83,6 +78,7 @@ SYM.NewGlobal >LDA.G ASM.PASS .9 cmp #E.DUPKEY bne .99 + lda #E.SYMBOL.REDEF .99 SYM.NewGlobal.RTS @@ -95,12 +91,7 @@ SYM.GetGlobal >PUSHB.G SYM.hList Pass #2: should be already defined... >STYA.G SYM.ID - txa -* clc - adc ZPLinePtr - sta ZPLinePtr - bcc .1 - inc ZPLinePtr+1 + jsr SRC.SkipX .1 >PUSHB.G SYM.hList Pass #2: Restore full context >PUSHW.G SYM.ID @@ -156,12 +147,7 @@ SYM.LookupGlobal >STYA ZPPtr1 KeyID - txa -* clc - adc ZPLinePtr - sta ZPLinePtr - bcc .1 - inc ZPLinePtr+1 + jsr SRC.SkipX .1 >LDA.G SYM.ID cmp ZPPtr1 @@ -198,7 +184,7 @@ SYM.LookupGlobal lda #2 sta SRC.ACC.SIZE - + lda #$ff sta SRC.ACC sta SRC.ACC+1 @@ -271,7 +257,7 @@ SYM.UpdateGlobal >SYSCALL SListSetData bcs .9 - + >STZ.G SYM.BufPtr .9 rts *--------------------------------------- @@ -322,6 +308,29 @@ SYM.NewLocalA tax Save Local ID cpy #ASM.PC bne .1 + ldy #SYMG.V + + sec + + pla + sbc (ZPSymbolBuf),y + sta SYM.LocalOfs + + iny + pla + sbc (ZPSymbolBuf),y + sta SYM.LocalOfs+1 + + iny + pla + sbc (ZPSymbolBuf),y + bne .97 + + iny + pla + sbc (ZPSymbolBuf),y + bne .98 + >LDA.G MAC.CtxID Get Macro Context ID pha @@ -331,13 +340,17 @@ SYM.NewLocalA tax Save Local ID txa Get Back ID sta (ZPSymbolBuf),y - ldx #5 MAC ID + PC (4) - -.2 pla + pla + iny + sta (ZPSymbolBuf),y + + lda SYM.LocalOfs + iny + sta (ZPSymbolBuf),y + + lda SYM.LocalOfs+1 iny sta (ZPSymbolBuf),y - dex - bne .2 iny lda #0 @@ -350,7 +363,7 @@ SYM.NewLocalA tax Save Local ID ora #SYMG.F.LOCALS sta (ZPSymbolBuf) -.8 clc + clc rts .91 lda #E.INV.LABEL @@ -361,6 +374,12 @@ SYM.NewLocalA tax Save Local ID sec rts +.97 pla +.98 lda #E.RANGE + + sec + rts + .9 lda #E.SYMBOL.REDEF sec rts @@ -369,7 +388,7 @@ SYM.NewLocalA tax Save Local ID clc adc #SYML sta (pData),y - +* clc rts *--------------------------------------- SYM.LookupLocalX @@ -379,45 +398,60 @@ SYM.LookupLocalX ldy #SYMG -.1 phy - lda (ZPSymbolBuf),y - beq .9 +.1 lda (ZPSymbolBuf),y + beq .99 + phy SYML.ID + txa cmp (ZPSymbolBuf),y - bne .3 + bne .4 >LDA.G MAC.CtxID ply phy - iny + iny SYML.CtxID cmp (ZPSymbolBuf),y - bne .3 + bne .4 + ldy #SYMG.V ldx #0 -.2 iny - lda (ZPSymbolBuf),y +.2 lda (ZPSymbolBuf),y sta SRC.ACC,x inx - cpx #4 - + iny + cpy #SYMG bne .2 - pla + ply + iny + iny SYML.O + lda (ZPSymbolBuf),y clc + adc SRC.ACC + sta SRC.ACC + + iny + lda (ZPSymbolBuf),y + adc SRC.ACC+1 + sta SRC.ACC+1 + bcc .3 + + inc SRC.ACC+2 + +.3 clc rts -.3 pla +.4 pla clc adc #SYML tay bra .1 -.9 ply .99 lda #E.UNDEF.SYMBOL sec rts @@ -579,19 +613,38 @@ SYM.Dump.LP ldy #SYMG .8 rts *--------------------------------------- SYM.Dump.PushValueY - ldx #4 + iny + lda (ZPSymbolBuf),y + sta SRC.ACC iny - iny - iny - iny + lda (ZPSymbolBuf),y + sta SRC.ACC+1 + + stz SRC.ACC+2 + stz SRC.ACC+3 -.1 lda (ZPSymbolBuf),y - >PUSHA - dey - dex + ldy #SYMG.V + ldx #0 + + clc + +.1 lda (ZPSymbolBuf),y + adc SRC.ACC,x + sta SRC.ACC,x + iny + inx + txa + eor #4 bne .1 + ldx #3 + +.2 lda SRC.ACC,x + >PUSHA + dex + bpl .1 + rts *--------------------------------------- MAN diff --git a/BIN/ASM.S.txt b/BIN/ASM.S.txt index 5f281e31..79bdfd09 100644 --- a/BIN/ASM.S.txt +++ b/BIN/ASM.S.txt @@ -38,6 +38,7 @@ ZPMacroArgCnt .BS 1 DIR.Byte .BS 1 DIR.Word .BS 2 +SYM.LocalOfs .BS 2 ZPPtr1 .BS 2 ZPPtr2 .BS 2 @@ -57,9 +58,9 @@ SYMG .EQ 6 *--------------------------------------- SYML.ID .EQ 0 1..255 SYML.CtxID .EQ 1 0 if local, !0 if private -SYML.V .EQ 2 DWORD +SYML.O .EQ 2 WORD * -SYML .EQ 6 +SYML .EQ 4 *--------------------------------------- ASM.T.AM .EQ 0 ASM.T.R .EQ 2 @@ -149,22 +150,27 @@ L.SRC.ACC.SIZE .DA SRC.ACC.SIZE L.SRC.ACC .DA SRC.ACC L.SRC.ARG .DA SRC.ARG L.T.DIRECTIVES .DA T.DIRECTIVES -J.DIRECTIVES .DA DIR.AC 0 +J.DIRECTIVES .DA DIR.AC .DA DIR.AS .DA DIR.AT .DA DIR.AZ .DA DIR.BS + .DA DIR.CS + .DA DIR.CZ .DA DIR.DA - .DA DIR.DO 12 +DIR.DO.ID .EQ *-J.DIRECTIVES + .DA DIR.DO .DA DIR.DU .DA DIR.DU .DA DIR.ED - .DA DIR.EL 20 +DIR.EL.ID .EQ *-J.DIRECTIVES + .DA DIR.EL .DA DIR.EM .DA DIR.EN .DA DIR.EP .DA DIR.EQ - .DA DIR.FI 30 +DIR.FI.ID .EQ *-J.DIRECTIVES + .DA DIR.FI .DA DIR.HS .DA DIR.IN .DA DIR.IN @@ -184,6 +190,7 @@ J.DIRECTIVES .DA DIR.AC 0 .DA DIR.OR .DA DIR.PG .DA DIR.PH + .DA DIR.PS .DA DIR.SE .DA DIR.TA .DA DIR.TF @@ -341,7 +348,7 @@ CS.RUN.LOOP ldy #S.PS.hStdIn .2 jsr SRC.ParseLine bcs .9 - jsr OUT.PrintLine + jmp OUT.PrintLine .8 clc rts @@ -364,6 +371,7 @@ CS.RUN.ARGS ldy #S.PS.ARGC lda ZPPtr1 >SYSCALL ArgV bcs .8 + >STYA ZPPtr2 lda (ZPPtr2) @@ -461,92 +469,101 @@ CS.QUIT >LDA.G SRC.Depth .INB usr/src/bin/asm.s.sym *--------------------------------------- CS.END -T.DIRECTIVES >PSTR "AC" - >PSTR "AS" - >PSTR "AT" - >PSTR "AZ" - >PSTR "BS" - >PSTR "DA" - >PSTR "DO" - >PSTR "DU" - >PSTR "DUMMY" - >PSTR "ED" - >PSTR "ELSE" - >PSTR "EM" - >PSTR "EN" - >PSTR "EP" - >PSTR "EQ" - >PSTR "FIN" - >PSTR "HS" - >PSTR "IN" - >PSTR "INB" - >PSTR "INB1" - >PSTR "INB2" - >PSTR "INB3" - >PSTR "INB4" - >PSTR "INB5" - >PSTR "INB6" - >PSTR "INB7" - >PSTR "INB8" - >PSTR "INB9" - >PSTR "LI" - >PSTR "LIST" - >PSTR "MA" - >PSTR "OP" - >PSTR "OR" - >PSTR "PG" - >PSTR "PH" - >PSTR "SE" - >PSTR "TA" - >PSTR "TF" - >PSTR "TI" - >PSTR "US" +T.DIRECTIVES .PS "AC" + .PS "AS" + .PS "AT" + .PS "AZ" + .PS "BS" + .PS "CS" + .PS "CZ" + .PS "DA" + .PS "DO" + .PS "DU" + .PS "DUMMY" + .PS "ED" + .PS "ELSE" + .PS "EM" + .PS "EN" + .PS "EP" + .PS "EQ" + .PS "FIN" + .PS "HS" + .PS "IN" + .PS "INB" + .PS "INB1" + .PS "INB2" + .PS "INB3" + .PS "INB4" + .PS "INB5" + .PS "INB6" + .PS "INB7" + .PS "INB8" + .PS "INB9" + .PS "LI" + .PS "LIST" + .PS "MA" + .PS "OP" + .PS "OR" + .PS "PG" + .PS "PH" + .PS "PS" + .PS "SE" + .PS "TA" + .PS "TF" + .PS "TI" + .PS "US" .HS 00 *--------------------------------------- -T.LI >PSTR "ON" - >PSTR "OFF" - >PSTR "CON" - >PSTR "COFF" - >PSTR "MON" - >PSTR "MOFF" - >PSTR "XON" - >PSTR "XOFF" +T.LI .PS "ON" + .PS "OFF" + .PS "CON" + .PS "COFF" + .PS "MON" + .PS "MOFF" + .PS "XON" + .PS "XOFF" .HS 00 +*-------------------------------------- +DIR.EscChars .AS "abefnrtv" + .HS 5C27223F \'"? +DIR.EscChars.L .EQ *-DIR.EscChars +DIR.EscCodes .HS 07081B0C0A0D090B + .HS 5C27223F *--------------------------------------- -SRC.MOD.RESERVED >PSTR "#/^<>" -SRC.EXP.RESERVED >PSTR "^!|&<=>+-*/" -SRC.AM.RESERVED >PSTR "[]()," +SRC.MOD.RESERVED .PS "#/^<>" +SRC.EXP.RESERVED .PS "^!|&<=>+-*/" +SRC.AM.RESERVED .PS "[]()," *--------------------------------------- DIR.SYS .AZ "SYS" -*--------------------------------------- ASM.6502 .AZ "6502" -MSG.HELP .AS "A2osX-Macro Assembler (S-C MASM 3.0 Based)\r\n" - .AS "Usage : ASM [type TXT ($04) or S-C/BAS ($FA)]\r\n" - .AS " -L : Override .LIST (C,M,X)OFF\r\n" - .AS " -T : Override .TF directive" -MSG.CRLF .AZ "\r\n" -MSG.PASS .AZ "**** Pass:#%d" -MSG.SRC.FILE .AZ "**** Reading SRC File:%s" -MSG.OBJ.FILE .AZ "**** Writing OBJ File:%s, Type=%02x" -MSG.CPU.FILE .AZ "**** Loading CPU File:%s" -MSG.OUT0 .AZ "%H- " -MSG.OUT1 .AZ "%H-%h " -MSG.OUT2 .AZ "%H-%h %h " -MSG.OUT3 .AZ "%H-%h %h %h" -MSG.EQU0 .AZ " [ ?] " -MSG.EQU1 .AZ " [ %h] " -MSG.EQU2 .AZ " [ %h%h] " -MSG.EQU3 .AZ " [ %h%h%h] " -MSG.EQU4 .AZ " [%h%h%h%h] " -MSG.LINENUM .AZ " %05D " -MSG.ERROR .AZ "**** Fatal Error $%h" -MSG.SYMBOLS .AZ "**** Symbol Table:" -MSG.LSYMBOL .AZ " .%d=%h%h%h%h" -MSG.PSYMBOL .AZ " :%d(%d)=%h%h%h%h" -MSG.SUMMARY .AZ "\r\n**** Symbol Table Size : %5D Bytes.\r\n" -MSG.END .AZ "**** End Of Assembly." +*--------------------------------------- +MSG.HELP .CS "A2osX-Macro Assembler (S-C MASM 3.1 Dialect)\r\n" + .CS "Usage : ASM [type TXT ($04) or S-C/BAS ($FA)]\r\n" + .CS " -L : Override .LIST (C,M,X)OFF\r\n" + .CS " -T : Override .TF directive" +MSG.CRLF .CZ "\r\n" +MSG.PASS .CZ "**** Pass:#%d" +MSG.SRC.FILE .CZ "**** Reading SRC File:%s" +MSG.OBJ.FILE .CZ "**** Writing OBJ File:%s, Type=%02x" +MSG.CPU.FILE .CZ "**** Loading CPU File:%s" +MSG.OUT0 .CZ "%H- " +MSG.OUT1 .CZ "%H-%h " +MSG.OUT2 .CZ "%H-%h %h " +MSG.OUT3 .CZ "%H-%h %h %h" +MSG.EQU0 .CZ " [ ?] " +MSG.EQU1 .CZ " [ %h] " +MSG.EQU2 .CZ " [ %h%h] " +MSG.EQU3 .CZ " [ %h%h%h] " +MSG.EQU4 .CZ " [%h%h%h%h] " +MSG.LINENUM .CZ " %05D " +MSG.ERROR .CZ "**** Fatal Error $%h" +MSG.SYMBOLS .CZ "**** Symbol Table:" +MSG.LSYMBOL .CZ " .%d=%h%h%h%h" +MSG.PSYMBOL .CZ " :%d(%d)=%h%h%h%h" +MSG.SUMMARY .CZ "\r\n**** Symbol Table Size : %5D Bytes.\r\n" +MSG.END .CZ "**** End Of Assembly." .DO ASMDBG=1 -MSG.DBG .AZ "\r\nCtxID=%d, ARG=%H%H ACC=%H%H -> ACC %b [%h]\r\n" +MSG.DBG .CZ "\r\nCtxID=%d, ARG=%H%H ACC=%H%H -> ACC %b [%h]\r\n" .FIN *--------------------------------------- ASM.CPU.FILE .BS 65 diff --git a/BIN/CC.S.CORE.txt b/BIN/CC.S.CORE.txt index 59da5e0d..15e7c760 100644 --- a/BIN/CC.S.CORE.txt +++ b/BIN/CC.S.CORE.txt @@ -164,23 +164,29 @@ CC.CompileLine jsr CC.GetCharNB *-------------------------------------- CC.CompileStmt >LDYA L.CC.KW jsr CC.LookupID - bcs .10 not an internal CC keyword.... + bcs .1 not an internal CC keyword.... txa >STA.G CC.CmdSave jmp (J.CC.KW,x) *-------------------------------------- -* Declaration : int var or int func() +* Declaration : typedef, type var or type func() *-------------------------------------- -.10 >LDYA L.CC.TYPEQUAL +.1 >LDYA L.CC.SCSPEC jsr CC.LookupID - bcs .6 + bcs .2 + + jmp (J.CC.SCSPEC,x) + +.2 >LDYA L.CC.TYPEQUAL + jsr CC.LookupID + bcs .3 jmp CC.DECL *-------------------------------------- * Statement : ++var, var=, func(); *-------------------------------------- -.6 jmp CC.STMT +.3 jmp CC.STMT *-------------------------------------- .99 lda #E.CSYN sec diff --git a/BIN/CC.S.DECL.txt b/BIN/CC.S.DECL.txt index db550dde..9b557a63 100644 --- a/BIN/CC.S.DECL.txt +++ b/BIN/CC.S.DECL.txt @@ -1,71 +1,6 @@ NEW AUTO 3,1 *-------------------------------------- -* X = type qual -*-------------------------------------- -CC.DECL jsr CC.TYPE.Decl - bcs .9 - - ldx #SYM.SC.STATIC Y,A = Type/Qual - bit bLocalScope - bpl .25 - - bit #SYM.Q.FUNC someone wants to add a local f() ? - sec - bne .29 - - ldx #SYM.SC.AUTO - -.25 jsr CC.SYM.New Y,A=T/Q, add with undef value... - bcs .29 OOM or DUP - -.22 jsr CC.GetCharNB - bcs .99 - - cmp #';' - beq .28 - - cmp #'{' - bne .26 - - jsr CC.GetNextCharNB skip '{' - bcs .99 - - jmp CC.SYM.StoreF -*-------------------------------------- -* Initializer -*-------------------------------------- -.26 cmp #'=' type var = value ? - bne .99 - - jsr CC.GetNextCharNB skip '=' - bcs .99 - - jsr CC.SYM.GetTypeInYA expected T/Q - jsr CC.EXP.Eval - bcs .9 - - jsr CC.SYM.GetAddr1 - bcs .9 - - jsr CC.SYM.GetTypeInYA Y,A = T/Q - jsr CC.SYM.PopValue Set value to this var -.29 bcs .9 - -.28 jsr CC.SYM.Store - bcs .9 - - jsr CC.GetCharNB - cmp #';' - bne .99 - - clc - rts -*-------------------------------------- -.99 lda #E.CSYN - sec -.9 rts -*-------------------------------------- CC.SCSPEC.AUTO CC.SCSPEC.REGISTER CC.SCSPEC.STATIC @@ -75,7 +10,101 @@ CC.SCSPEC.EXTERN .99 rts *-------------------------------------- CC.SCSPEC.TYPEDEF - >DEBUG + jsr CC.GetNextCharNB + bcs .98 + + >LDYA L.CC.TYPEQUAL + jsr CC.LookupID + bcs .98 + + cpx #4 no const nor volatile + bcc .98 + + jsr CC.TYPE.Decl + bcs .99 + + ldx #SYM.SC.TYPEDEF + sec Reset Buffer + jsr CC.SYM.New Y,A=T/Q,storage class TYPEDEF + bcs .99 + + jsr CC.GetCharNB + bcs .98 + + cmp #';' + bne .98 + + jsr CC.GetNextCharNB skip ';' + + jmp CC.SYM.Store + +.98 lda #E.CSYN + sec +.99 +CC.SCSPEC.TYPEDEF.RTS + rts +*-------------------------------------- +* X = type qual +*-------------------------------------- +CC.DECL jsr CC.TYPE.Decl + bcs CC.SCSPEC.TYPEDEF.RTS + + sec Reset Buffer + +CC.DECL.YAC ldx #SYM.SC.STATIC Y,A = Type/Qual + bit bLocalScope + bpl .25 + + bit #SYM.Q.FUNC someone wants to add a local f() ? + bne .98 + + ldx #SYM.SC.AUTO + +.25 jsr CC.SYM.New Y,A=T/Q, add with undef value... + bcs .98 OOM or DUP + +.22 jsr CC.GetCharNB + bcs .98 + + cmp #';' + beq .28 + + cmp #'{' + bne .26 + + jsr CC.GetNextCharNB skip '{' + bcs .98 + + jmp CC.SYM.StoreF +*-------------------------------------- +* Initializer +*-------------------------------------- +.26 cmp #'=' type var = value ? + bne .98 + + jsr CC.GetNextCharNB skip '=' + bcs .98 + + jsr CC.SYM.GetTypeInYA expected T/Q + jsr CC.EXP.Eval + bcs .99 + + jsr CC.SYM.GetAddr1 + bcs .99 + + jsr CC.SYM.GetTypeInYA Y,A = T/Q + jsr CC.SYM.PopValue Set value to this var +.29 bcs .99 + +.28 jsr CC.SYM.Store + bcs .99 + + jsr CC.GetCharNB + cmp #';' + bne .98 + + clc + rts .98 lda #E.CSYN sec diff --git a/BIN/CC.S.F.txt b/BIN/CC.S.F.txt index c4e401f9..1e45a58e 100644 --- a/BIN/CC.S.F.txt +++ b/BIN/CC.S.F.txt @@ -25,6 +25,7 @@ CC.F.Decl stz LocalPtr >STYA ZPPtr2 Save T/Q jsr CC.SYM.AddWord + bcs .99 jsr CC.GetCharNB bcs .9 @@ -51,9 +52,8 @@ CC.F.Decl stz LocalPtr sec .99 rts *-------------------------------------- -.6 ldy #0 - lda #0 - jsr CC.SYM.AddWord definition End +.6 jsr CC.SYM.Add0000 definition End + bcs .99 jsr CC.GetNextCharNBNL Skip ) bcs .9 @@ -146,6 +146,7 @@ CC.F.NewArg >LDYA.G CC.SymID >LDYA ZPPtr2 ldx #SYM.SC.AUTO + sec Reset Buffer jsr CC.SYM.New bcs .9 diff --git a/BIN/CC.S.KW.txt b/BIN/CC.S.KW.txt index c8006d2d..aa1d48ea 100644 --- a/BIN/CC.S.KW.txt +++ b/BIN/CC.S.KW.txt @@ -53,7 +53,7 @@ CC.KW.IF.END jsr CC.GetCharNBNL .1 lda #'E' define ELSE Label jsr CC.KW.NewLabel bcs .99 - + clv pop context rts *-------------------------------------- @@ -159,7 +159,7 @@ CC.KW.DO jsr CC.KW.BEGIN00 lda #'C' define CONT Label jsr CC.SYM.NewA bcs .99 - + jmp CC.KW.STMT .99 rts @@ -199,14 +199,14 @@ CC.KW.DO.END >LDYA L.CC.KW2.DO Check allowed KW for DO.... cmp #')' bne .9 - + jsr CC.GetNextCharNB bcs .9 clv pop context clc rts - + .9 lda #E.CSYN sec .99 rts @@ -354,10 +354,10 @@ CC.KW.SWITCH jsr CC.GetCharNB tax bne .97 - + cpy #SYM.T.UCHAR bcc .97 - + cpy #SYM.T.FLOAT bcs .97 @@ -371,10 +371,10 @@ CC.KW.SWITCH jsr CC.GetCharNB jsr CC.Push push SizeOf(type) bcs .99 - + jsr CC.KW.BEGIN bcs .99 - + jsr CC.GetCharNB bcs .99 @@ -382,10 +382,10 @@ CC.KW.SWITCH jsr CC.GetCharNB bne .98 jmp CC.KW.STMT - + .97 lda #E.TMISMATCH sec - rts + rts .98 lda #E.CSYN sec @@ -395,7 +395,7 @@ CC.KW.SWITCH.END lda #'B' define BREAK Label jsr CC.KW.NewLabel bcs .99 - + clv pop context .99 rts @@ -407,7 +407,7 @@ CC.KW.CASE ldy CStackPtr lda (ZPCCStack),y cmp #10 SWITCH ?? bne .9 - + lda CStackPtr clc adc #7 @@ -416,13 +416,13 @@ CC.KW.CASE ldy CStackPtr lda (ZPCCStack),y type tay lda #0 for integral type - + jsr CC.EXP.Eval bcs .99 jsr CC.GetCharNB bcs .9 - + cmp #':' bne .9 @@ -430,7 +430,7 @@ CC.KW.CASE ldy CStackPtr clc rts - + .9 lda #E.CSYN sec .99 rts @@ -442,18 +442,18 @@ CC.KW.DEFAULT ldy CStackPtr lda (ZPCCStack),y cmp #10 SWITCH ?? bne .9 - + jsr CC.GetCharNB bcs .9 - + cmp #':' bne .9 jsr CC.GetNextCharNB skip ':' - + clc rts - + .9 lda #E.CSYN sec .99 rts @@ -462,10 +462,10 @@ CC.KW.BREAK lda #'B' jsr CC.KW.LookupLabel bcs .9 - + lda #$4C emit JMP break jmp CODE.TOABSYX - + .9 lda #E.CSYN sec rts @@ -474,10 +474,10 @@ CC.KW.CONTINUE lda #'C' jsr CC.KW.LookupLabel bcs .9 - + lda #$4C emit JMP cont jmp CODE.TOABSYX - + .9 lda #E.CSYN sec rts @@ -531,51 +531,275 @@ CC.KW.SIZEOF sec rts *-------------------------------------- -CC.KW.STRUCT >ENTER 4 +CC.KW.STRUCT clc + .HS B0 BCS +*-------------------------------------- +CC.KW.UNION sec + stz ZPPtr2 bNewTagDef + + ror ZPPtr2+1 bStrucUnion - jsr CC.GetCharNB - bcs .99 - - ldx #SYM.SC.TAG - >LDA.G CC.hTags - jsr CC.SYM.NewKey - bcs .99 - - sta (pStack) Y,A = KeyID - tya - ldy #1 - sta (pStack),y - - jsr CC.SkipX - - jsr CC.GetNextCharNB - bcs .99 + bit bPass2 + bpl CC.KW.SU.1 Pass 1: create def +*-------------------------------------- +CC.KW.SU.2 jsr CC.GetNextCharNB + bcs .98 cmp #'{' - bne .99 + beq .1 no TAG -.1 jsr CC.GetNextCharNB + jsr CC.KW.GetTag bcs .99 + jsr CC.GetNextCharNBNL + bcs .98 + + cmp #'{' + bne .2 + +.1 jsr CC.GetNextCharNBNL skip '{' + cmp #'}' bne .1 - jsr CC.GetNextCharNB skip '}' + jsr CC.GetNextCharNBNL skip '}' + + cmp #';' + bne .2 + + jsr CC.GetNextCharNB skip ';' + + clc + rts + +.2 clc reuse buffer + + jsr CC.SYM.Lookup + bcs .99 + + jsr CC.GetCharNB + bcs .98 + + cmp #',' + bne .3 + + jsr CC.GetNextCharNBNL + bcc .2 + bcs .98 + +.3 cmp #';' + bne .98 + + clc + rts + +.98 lda #E.CSYN + sec +.99 rts +*-------------------------------------- +CC.KW.SU.1 ldy #SYM.T.STRUCT + lda #0 + ldx #SYM.SC.TAG + sec reset buffer + jsr CC.SYM.BufInitYAX + + jsr CC.GetNextCharNB + bcs .98 + + cmp #'{' + beq .30 no TAG + + jsr CC.KW.NewTag + bcc .20 + + jsr CC.KW.GetTag + bcs .99 +*-------------------------------------- +.20 jsr CC.GetNextCharNBNL + bcs .98 + + cmp #'{' + beq .30 + + bit ZPPtr2 bNewTagDef + bmi .98 + + bra .41 go create vars... +*-------------------------------------- +.30 jsr CC.GetNextCharNBNL skip '{' of ';' + bcs .98 + + cmp #'}' + beq .38 + + >LDYA L.CC.TYPEQUAL + jsr CC.LookupID + bcs .98 + + cpx #4 no const nor volatile + bcc .98 + + jsr CC.TYPE.Decl + bcs .99 + + jsr CC.TYPE.SizeOf get sizeof in X + + jsr CC.KW.SU.AddYAX + bcs .99 + + jsr CC.SYM.Add0000 TODO: bitO & bitW + bcs .99 + + jsr CC.SYM.AddName + bcs .99 + + jsr CC.GetCharNB + cmp #';' + bne .98 + + bra .30 + +.38 jsr CC.GetNextCharNB skip '}' + bcs .98 + + cmp #';' + bne .40 + + jsr CC.GetNextCharNB skip ';' + + bit ZPPtr2 bNewTagDef + bpl .98 no tag & no var, error + + jmp CC.KW.StoreTag +*-------------------------------------- +.98 lda #E.CSYN + sec +.99 rts +*-------------------------------------- +.40 bit ZPPtr2 bNewTagDef + bpl .41 + + jsr CC.KW.StoreTag + bcs .99 + +.41 clc reuse buffer + + ldy #SYM.T.STRUCT + lda #0 + jsr CC.DECL.YAC + bcs .99 + + jsr CC.GetCharNB + bcs .98 + + cmp #',' + bne .42 + + jsr CC.GetNextCharNBNL + bcc .41 + bcs .98 + +.42 cmp #';' + bne .98 clc -.99 >LEAVE rts *-------------------------------------- -CC.KW.UNION +CC.KW.SU.AddYAX jsr CC.SYM.AddWord add T/Q + bcs .99 + + bit ZPPtr2+1 bStrucUnion + bmi .1 + + ldy #SYM.SizeOf + lda (ZPSymBufPtr),y + pha + iny + lda (ZPSymBufPtr),y + ply + + jsr CC.SYM.AddWord Add Y/A Offset + bcs .99 + + txa + + ldy #SYM.SizeOf +* clc + adc (ZPSymBufPtr),y + sta (ZPSymBufPtr),y + bcc .99 + + iny + lda #0 + adc (ZPSymBufPtr),y + sta (ZPSymBufPtr),y + +* clc + +.99 rts + +.1 txa + ldy #SYM.SizeOf + cmp (ZPSymBufPtr),y + bcs .2 + + sta (ZPSymBufPtr),y + +.2 jmp CC.SYM.Add0000 Add Y/A Offset (always 0 for union) +*-------------------------------------- CC.KW.ENUM lda #E.CSYN sec rts *-------------------------------------- +CC.KW.NewTag >LDA.G CC.hTags + jsr CC.SYM.NewKey + bcs .9 + + >STYA ZPPtr1 TagID + dec ZPPtr2 bNewTagDef = true + + jsr CC.SkipX + +.9 rts +*-------------------------------------- +CC.KW.GetTag >PUSHB.G CC.hTags + >PUSHW ZPLineBufPtr + + >SYSCALL SListLookup + bcs .9 + + phy Y,A = KeyID + pha + + jsr CC.SkipX X = KeyLen + + >PUSHB.G CC.hTags + pla + >PUSHA + pla + >PUSHA + >PUSHW ZPSymBufPtr + >PUSHWI 65535 all + >PUSHWZ From Start + >SYSCALL SListGetData +.9 rts +*-------------------------------------- +CC.KW.StoreTag >PUSHB.G CC.hTags + >PUSHW ZPPtr1 + >PUSHW ZPSymBufPtr + >PUSHBI 0 + ldy #SYM.DefSize + lda (ZPSymBufPtr),y + >PUSHA + + >SYSCALL SListAddData + rts +*-------------------------------------- CC.KW.BEGIN00 lda #0 jsr CC.Push no T/Q bcs CC.KW.BEGIN.RTS - + jsr CC.Push bcs CC.KW.BEGIN.RTS @@ -670,7 +894,7 @@ CC.KW.LookupLabel lda (ZPCCStack),y bmi .9 f() - + iny iny iny @@ -680,12 +904,12 @@ CC.KW.LookupLabel iny lda (ZPCCStack),y iny - + iny iny - + sty ArgIndex - + ply >STYA.G CC.CPSPFX+2 @@ -693,10 +917,10 @@ CC.KW.LookupLabel pha jsr CC.SYM.LookupA bcs .1 - + pla .8 rts - + .9 pla lda #E.CSYN sec diff --git a/BIN/CC.S.LINK.txt b/BIN/CC.S.LINK.txt index 7497f4c7..e2118aea 100644 --- a/BIN/CC.S.LINK.txt +++ b/BIN/CC.S.LINK.txt @@ -26,6 +26,11 @@ CC.Link >LDYA L.MSG.LINKING >SYSCALL SListGetData bcs .99 + ldy #SYM.SC + lda (ZPSymBufPtr),y + cmp #SYM.SC.TYPEDEF + bcs .6 + ldy #SYM.Addr+1 lda (ZPSymBufPtr),y dey diff --git a/BIN/CC.S.STMT.txt b/BIN/CC.S.STMT.txt index a229cb4a..d5a59ffa 100644 --- a/BIN/CC.S.STMT.txt +++ b/BIN/CC.S.STMT.txt @@ -28,7 +28,30 @@ CC.STMT jsr CC.GetCharNB jmp CC.SYM.LookupFree -.60 jsr STMT.SetVar +.60 ldy #SYM.SC + lda (ZPLookupSymPtr),y + cmp #SYM.SC.TYPEDEF + bne .61 + + jsr CC.GetNextCharNB + bcs .9 + + ldy #SYM.Q + lda (ZPLookupSymPtr),y + pha + lda (ZPLookupSymPtr) + pha + + jsr CC.SYM.LookupFree + + ply + pla + + sec Reset Buffer + + jmp CC.DECL.YAC + +.61 jsr STMT.SetVar bcs .99 jmp CC.SYM.LookupFree diff --git a/BIN/CC.S.SYM.txt b/BIN/CC.S.SYM.txt index 2ba6fe00..8c11ab38 100644 --- a/BIN/CC.S.SYM.txt +++ b/BIN/CC.S.SYM.txt @@ -2,16 +2,18 @@ NEW AUTO 3,1 *-------------------------------------- * Input : ZPLineBufPtr, Y,A = T/Q, X = SC +* CS : Reset Buffer +* CC : Reuse Buffer * Output : Y,A = VarID *-------------------------------------- CC.SYM.New >STYA ZPPtr2 T/Q stx ZPPtr3 SC bit bPass2 - bpl CC.SYM.New1 + bpl CC.SYM.New.1 bit bLocalScope - bmi CC.SYM.New1 + bmi CC.SYM.New.1 >PUSHB.G CC.hScopes Global Scope >PUSHW ZPLineBufPtr @@ -29,11 +31,13 @@ CC.SYM.New >STYA ZPPtr2 T/Q >PUSHWI 65535 all >PUSHWZ From Start >SYSCALL SListGetData - bcc CC.SYM.New2 + bcc CC.SYM.New.2 CC.SYM.New.9 rts Y,A = SymSize *-------------------------------------- -CC.SYM.New1 ldy ScopeIdx +CC.SYM.New.1 jsr CC.SYM.BufInitYAX set buf according C + + ldy ScopeIdx lda (pData),y jsr CC.SYM.NewKey bcs CC.SYM.New.9 @@ -41,34 +45,21 @@ CC.SYM.New1 ldy ScopeIdx >STYA.G CC.SymID Y,A = KeyID jsr CC.SkipX X = KeyLen +*-------------------------------------- +CC.SYM.New.2 jsr CC.GetCharNB + bcs .98 - lda ZPPtr2 - sta (ZPSymBufPtr) #SYM.T - - lda ZPPtr2+1 - ldy #SYM.Q - sta (ZPSymBufPtr),y - - lda ZPPtr3 - iny #SYM.SC - sta (ZPSymBufPtr),y - - iny - lda #0 - -.1 sta (ZPSymBufPtr),y - iny - cpy #SYM.Def + cmp #';' bne .1 - tya - ldy #SYM.DefSize - sta (ZPSymBufPtr),y -*-------------------------------------- -CC.SYM.New2 jsr CC.GetCharNB - bcs CC.SYM.SetAddr + lda ZPPtr3 + cmp #SYM.SC.TYPEDEF + bne CC.SYM.SetAddr - cmp #'(' + clc + rts + +.1 cmp #'(' bne CC.SYM.NewV ldy #SYM.Q @@ -77,6 +68,10 @@ CC.SYM.New2 jsr CC.GetCharNB sta (ZPSymBufPtr),y jmp CC.F.Decl + +.98 lda #E.CSYN + sec +.99 rts *-------------------------------------- CC.SYM.NewV cmp #'[' bne CC.SYM.SetAddr @@ -98,7 +93,7 @@ CC.SYM.NewV cmp #'[' sta (ZPSymBufPtr),y jsr CC.GetNextCharNB Skip [ - bcs .99 + bcs .98 cmp #']' bne .2 @@ -106,22 +101,24 @@ CC.SYM.NewV cmp #'[' ldy #SYM.Q lda (ZPSymBufPtr),y and #SYM.Q.PPPOINTER - beq .99 [] only allowed for * + beq .98 [] only allowed for * + + jsr CC.SYM.Add0000 set as [0] (deref) + bcs .99 - >LDYAI 0 set as [0] (deref) - jsr CC.SYM.AddWord bra .3 .2 jsr CC.EXP.IntConst - bcs .99 + bcs .98 jsr CC.SYM.AddWord - - jsr CC.GetCharNB bcs .99 + jsr CC.GetCharNB + bcs .98 + cmp #']' - bne .99 + bne .98 .3 jsr CC.GetNextCharNB Skip ] bcs CC.SYM.SetAddr @@ -133,15 +130,22 @@ CC.SYM.NewV cmp #'[' lda (ZPSymBufPtr),y and #SYM.Q.AAARRAY cmp #SYM.Q.AAARRAY - beq .99 already [][][] + bne .1 already [][][] ? - bra .1 - -.99 lda #E.CSYN +.98 lda #E.CSYN sec -.9 rts +.99 rts *-------------------------------------- -CC.SYM.SetAddr ldy #SYM.Q +CC.SYM.SetAddr ldy #SYM.SizeOf + lda (ZPSymBufPtr),y + iny + ora (ZPSymBufPtr),y + bne .1 + + jsr CC.SYM.GetSymSizeOfInAXC + jsr CC.SYM.SetSizeOf + +.1 ldy #SYM.Q lda (ZPSymBufPtr),y and #SYM.Q.FUNC bne .9 @@ -157,14 +161,7 @@ CC.SYM.SetAddr ldy #SYM.Q sec rts *-------------------------------------- -CC.SYM.SetAddrG jsr CC.SYM.GetSymSizeOfInAXC - jsr CC.SYM.SetSizeOf - -* clc / sec A,X=Size, CS if pointer - - pha - - ldy #SYM.Addr +CC.SYM.SetAddrG ldy #SYM.Addr lda ZPCCData sta (ZPSymBufPtr),y @@ -174,22 +171,21 @@ CC.SYM.SetAddrG jsr CC.SYM.GetSymSizeOfInAXC lda ZPCCData+1 sta (ZPSymBufPtr),y - pla + ldy #SYM.SizeOf + lda (ZPSymBufPtr),y clc adc ZPCCData sta ZPCCData - txa + iny + lda (ZPSymBufPtr),y adc ZPCCData+1 sta ZPCCData+1 clc rts *-------------------------------------- -CC.SYM.SetAddrL jsr CC.SYM.GetSymSizeOfInAXC - jsr CC.SYM.SetSizeOf - - ldy #SYM.SizeOf+1 +CC.SYM.SetAddrL ldy #SYM.SizeOf+1 lda (ZPSymBufPtr),y bne .9 @@ -197,8 +193,7 @@ CC.SYM.SetAddrL jsr CC.SYM.GetSymSizeOfInAXC lda (ZPSymBufPtr),y -* clc / sec A,X=Size, CS if pointer - clc + clc adc LocalPtr sta LocalPtr bcs .9 @@ -206,7 +201,8 @@ CC.SYM.SetAddrL jsr CC.SYM.GetSymSizeOfInAXC ldy #SYM.Addr sta (ZPSymBufPtr),y - jsr CC.SYM.GetSymSizeOfInAXC + ldy #SYM.SizeOf + lda (ZPSymBufPtr),y jsr CODE.nAddLocal clc @@ -216,6 +212,35 @@ CC.SYM.SetAddrL jsr CC.SYM.GetSymSizeOfInAXC sec rts *-------------------------------------- +CC.SYM.BufInitYAX + pha + tya + sta (ZPSymBufPtr) #SYM.T + + pla + ldy #SYM.Q + sta (ZPSymBufPtr),y + + txa + iny #SYM.SC + sta (ZPSymBufPtr),y + + bcc .8 DONT reset buffer + + iny + lda #0 + +.1 sta (ZPSymBufPtr),y + iny + cpy #SYM.Def + bne .1 + + tya + ldy #SYM.DefSize + sta (ZPSymBufPtr),y + +.8 rts +*-------------------------------------- CC.SYM.PushAddr ldy #SYM.SC lda (ZPSymBufPtr),y beq .1 SYM.SC.STATIC @@ -291,7 +316,7 @@ CC.SYM.GetAddr1 ldy #SYM.SC >LDYA L.PCC.GetIAddr1 jmp CODE.EmitPCC - + .2 >LDYA L.PCC.GetUAddr1 jmp CODE.EmitPCC @@ -344,25 +369,87 @@ CC.SYM.NewKey >PUSHA .9 rts Y,A = KeyID, X = KeyLen *-------------------------------------- -CC.SYM.AddWord pha - phy +CC.SYM.Add0000 >LDYAI 0 +*-------------------------------------- +CC.SYM.AddWord phy + pha ldy #SYM.DefSize lda (ZPSymBufPtr),y - pha - inc - inc + clc + adc #2 + bcs .9 + + sta (ZPSymBufPtr),y + tay + + dey + + pla A sta (ZPSymBufPtr),y - ply - - pla + dey + + pla Y + pha sta (ZPSymBufPtr),y iny + lda (ZPSymBufPtr),y get back A + ply get back Y + +* clc + rts + +.9 pla + pla + lda #E.BUF + sec + rts +*-------------------------------------- +CC.SYM.AddName jsr CC.GetCharNB + + bcs .98 + + jsr CC.IsLetter + bcs .98 + +.1 jsr CC.SYM.AddByte + bcs .99 + + jsr CC.GetNextCharNB + bcs .98 + + jsr CC.IsLetterOrDigit + bcc .1 + + lda #0 + bra CC.SYM.AddByte + +.98 lda #E.CSYN + sec +.99 rts +*-------------------------------------- +CC.SYM.AddByte pha + + ldy #SYM.DefSize + lda (ZPSymBufPtr),y + + inc + beq .9 + + sta (ZPSymBufPtr),y + dec + tay pla sta (ZPSymBufPtr),y -CC.SYM.AddWord.RTS + + clc + rts + +.9 pla + lda #E.BUF + sec rts *-------------------------------------- CC.SYM.NewCPSID >LDYA.G CC.CPSID @@ -372,19 +459,19 @@ CC.SYM.NewCPSID >LDYA.G CC.CPSID inc cmp #'Z'+1 bne .1 - + dey CC.CPSID lda (pData),y inc cmp #'Z'+1 beq .9 - + sta (pData),y lda #'A' iny CC.CPSID+1 - -.1 sta (pData),y + +.1 sta (pData),y clc rts @@ -402,7 +489,7 @@ CC.SYM.NewA bit bPass2 >PUSHEA.G CC.CPSPFX >SYSCALL SListNewKey - bcs CC.SYM.AddWord.RTS + bcs .99 >STYA.G CC.SymID Y,A = KeyID @@ -647,7 +734,7 @@ CC.SYM.LookupCheckTQ eor (ZPLookupSymPtr),y and #$F8 ignore VOLATILE|FUNC|FASTCALL bne .9 - + clc rts @@ -661,16 +748,16 @@ CC.SYM.PopValue jsr CC.SYM.GetYASizeOfInAXC tax dex bne .1 - + >LDYA L.PCC.PopValue1 jmp CODE.EmitPCC - + .1 cpx #1 bne .2 - + >LDYA L.PCC.PopValue2 jmp CODE.EmitPCC - + .2 jsr CODE.LDXI bcs .9 diff --git a/BIN/CC.S.TYPE.txt b/BIN/CC.S.TYPE.txt index d49f7f77..b5c63005 100644 --- a/BIN/CC.S.TYPE.txt +++ b/BIN/CC.S.TYPE.txt @@ -7,7 +7,7 @@ CC.TYPE.Decl >ENTER 2 ldy #1 sta (pStack),y Qual - jsr .7 + jsr .8 bcs .99 ldy #1 @@ -22,7 +22,7 @@ CC.TYPE.Decl >ENTER 2 .99 >LEAVE rts -.7 jmp (J.CC.TYPEQUAL,x) +.8 jmp (J.CC.TYPEQUAL,x) *-------------------------------------- * Type Declaration keywords *-------------------------------------- diff --git a/BIN/CC.S.txt b/BIN/CC.S.txt index 88a98f53..e9a54197 100644 --- a/BIN/CC.S.txt +++ b/BIN/CC.S.txt @@ -622,22 +622,22 @@ CS.END *-------------------------------------- * Initialized DATA *-------------------------------------- -MSG.GREETINGS .AZ "\r\nA2osX C Compiler %d.%d\r\n\r\n" -MSG.USAGE .AS "Usage : CC