From b5068a2b60cbc2a6f244d48b6476790391f3246a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 5 Sep 2019 08:43:09 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/CSH.E.txt | 5 ++ BIN/CSH.I.txt | 2 +- BIN/CSH.S.CORE.txt | 111 ++++++++++++++++++--------------------- BIN/CSH.S.txt | 16 +++++- 5 files changed, 72 insertions(+), 62 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 75be2bf60f648e9445f570d667b9653852e524c2..826255e71c69d1608a7db2fde248ef8c83800f95 100644 GIT binary patch delta 18084 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 *lQkge%Kqg6ejz2$EmgnOloN|7rU4M_q zg*g8j!DL*93ldEI1VHN5?w7rz-64CI8^_B1 zhX2RUS34ev`fqT*w*UF-)sIakl+Ku5QB}eVE6nk{cZ_V{{~IeuJLC`kp-;mRj3ebk zg1hiLE|xdnm$yy7<9*ql7`Pbk9^B;{W9ArW`lvFXj*t2dDE{L<%oR<40@mhZf)0oK z%9-17)!T69hO2aegVw>y8OrDWS&sU`f9DMMXpJZQ6^1XtQo^0OmKf}@jkr;#h*n4v zPAO6?z&*M?^Z)hVq>^yCPHbk4xLM~rw!{58WIf_$uWzJz#Qwd;+&`Pe6Do?U@ZDU( z59*ZSdR=f|@=tyG(x&vRHl^pZ3wFOKpQ!LLKgy;g?b2Q3dE7g6mm+hLep9IuekXiG zYa)&KLwz3nCtvxa?0O((qdAP7m)ZFQcHY9yTX&qdWmF-_vF#4+uElY$OJqk=+?AD; z6}ZHPuTPBs(!x5nLJuNZOMBE6!1R#TAZ-B-qLF9da8BwGtNb!z*~>RL>-`3=J`W-h zPbnO*bUdxa`e(ETOWQALyAhM&@yslQzay>k9ah1Kam(^Kt?PqYyXVz*b>)~(=FIDrnoH6rTe|}Zj;XA!sq#9-$D~d&D4fUUg~iVipP%Ns z<|z{6uOgc7FOejTPXy#ID=+d+t*#naT~$1=sH}XTFt#!xMXDr5T+77mv&oZZl1LMN zR#f53E0>vj;*y<%qjYKq>)l1w-h2`hty4SFo+D#)C7K7sqG>5SA&#fM5mw1)GNUPs zIv7o5)XAue(KJTW8O>lclhG_jvl-1{v_GS{j1FMb&FDZz^BB!%bP%J186CptP)3I_ zI-JoFj219DlF?C&Uc~5VM#nHZmeGqDEo8Ka(PBnR7%gRV9HZkIoxo@rqZ1jO#HfeS z$&8jWTEQp;o5E-nqt%SoFglgdX^c*1bOxg{8J)%GC5+By^ioDIV{{Iqa~Z8=bRMI1 zjLv7Yp3w!2E@X5OqYaE+&gf!B8yQ`~XcME&jJ7a(1*5HuwlUhy=u$?nWb`UVmod7W z(W@D~hS3#_Ud!lpjCL^E$*7mn>lt0i=qg6L7-fvEW^@gsH!!-E(Hj|E$LLLru4nXS zMmI3Jkm- z?TqeV^Z`b9GP;Y=-HiT=(FYmb!{|edKFnwjqk9?M$LM}WA7S)SMh`Ih7^9Cf`UIm- zGWrywPc!-qqt7z>9HR#reV)-57=4k^ml%DS(N`FKmC@H2J;dnijK0C>VMgC%^esl; zX0(^lcNl$_(SI}gA4dPn=>HgfkJ0xT{eaOUjDE=IQAR&v^kYUpVe}ZIpE7!!(a#wD zoY5~BJ;CUgjGkolD@IQ-dYaL%8U2RQZyEiL(KC#G&*%?~{>bQ0jQ-5%Sw_z>`U|7K zGJ2lT-x&R!(LWgdlhMD{Qr&v01N1-$5DFN8Fd!U|fCwNGFajpP3`7CZKnxHI!~yYu z;3oqKfCaDuHoy)f0!ctWAQ?yj96&1I1YAHGkPc)3nLrkRPd{l6&>zSJ1^{kgAdm;- z1A~CUzz|?4Fbo(Di~tINk-#Y6B49Ky1{e!m3={%IKrv7Plmg>`@xTP2444Q^0zANE zpd6?GDuF3L6;KV-08@c!z;s{+FcX*sTmsAnE(Ilz$%~% zV8Ci%4R8an7Pt{u2iyd#2W|#702_f#z%9V7z-_>0fCF2AZs2y{4&YAUF5qt99$+hQ zFR%@`54a!L4(tFP0CobqfZf2qfCqs+z(c^pKo77N*az$f9swQ&4gik%bepVc<>RE#PgS7kCGF7x*{uAK<^h z|A6;^_kj<9Bfy8iQQ#xsW8f3u81N}@9QX|Q9QXn_0elIZ1ik`J0jGhlfp36sf$xAb n!1urpz>mOBz|X*0;2iJ^@GEd0_zn0S_yhP;_YnO{ck2HE#lG0) delta 18341 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 diff --git a/BIN/CSH.E.txt b/BIN/CSH.E.txt index ba9200d0..92b7690c 100644 --- a/BIN/CSH.E.txt +++ b/BIN/CSH.E.txt @@ -3,7 +3,12 @@ NEW .LIST OFF *-------------------------------------- CSH.E.SYNTAX .EQ $C0 +CSH.E.STACKERR .EQ $C2 CSH.E.SOVERFLW .EQ $C3 +*E.NOWHILE .EQ $C4 +*E.NOFOR .EQ $C5 +*E.NOIF .EQ $C6 +CSH.E.UNEXPEOF .EQ $C8 CSH.E.UNDEF .EQ $C9 * CSH.E.NOVERFLW .EQ $D0 diff --git a/BIN/CSH.I.txt b/BIN/CSH.I.txt index 4ad844e8..28c9b446 100644 --- a/BIN/CSH.I.txt +++ b/BIN/CSH.I.txt @@ -83,7 +83,7 @@ CSH.KW >PSTR "if" >PSTR "switch" >PSTR "case" >PSTR "break" - >PSTR "continue" + >PSTR "continue" >PSTR "float" >PSTR "signed" char,int,long >PSTR "unsigned" char,int,long diff --git a/BIN/CSH.S.CORE.txt b/BIN/CSH.S.CORE.txt index ef4c0957..d2ca945e 100644 --- a/BIN/CSH.S.CORE.txt +++ b/BIN/CSH.S.CORE.txt @@ -74,10 +74,7 @@ CSH.Run.1 cmp #'#' tax jmp (J.CSH.KW.END,x) -.4 pha - jsr CSH.SavePtr Save Ptr, in case of while,for.... - pla - jsr CSH.IsLetter +.4 jsr CSH.IsLetter bcc .5 @@ -85,7 +82,8 @@ CSH.Run.1 cmp #'#' bra .99 error, todo : PREOPS ++ --..... -.5 >LDYA L.CSH.KW +.5 jsr CSH.SavePtr Save Ptr, in case of while,for.... + >LDYA L.CSH.KW jsr CSH.LookupID bcs .6 not an internal CSH keyword.... @@ -169,14 +167,13 @@ CSH.IF jsr CSH.GetCharNB cmp #'{' bne .9 - jsr CSH.IsValue0 X = var type from ExpEval - bcc .6 Value=0, skip {{....}} - jsr CSH.GetNextCharNB Skip '{' bcs .99 - jsr CSH.Keyword.start - bcs .99 + jsr CSH.IsValue0 X = var type from ExpEval + bcc .6 Value=0, skip {{....}} + + lda #'}' Tell '}' is expected at the end of block jsr CSH.Push @@ -184,26 +181,7 @@ CSH.IF jsr CSH.GetCharNB rts -.6 ldx #1 expecting 1 '}' for now.... - -.7 jsr CSH.GetNextCharNB - bcs .9 - cmp #'{' - bne .71 - inx - bra .7 - -.71 cmp #'}' - bne .7 - txa - beq .9 - dex - bne .7 - - jsr CSH.GetNextCharNB skip '}' - - clc - rts +.6 jmp CSH.SkipBlock .9 lda #CSH.E.SYNTAX sec @@ -236,6 +214,7 @@ CSH.WHILE.END jsr CSH.Pop rts *-------------------------------------- CSH.ELSE +*-------------------------------------- CSH.DO CSH.FOR CSH.SWITCH @@ -943,7 +922,8 @@ CSH.GetVarValueOnStack * Input : Value on Stack, X = Var Type * Output : CC = true, CS = false *-------------------------------------- -CSH.IsValue0 cpx #CSH.T.FLOAT +CSH.IsValue0 >DEBUG + cpx #CSH.T.FLOAT bcc .1 char,int,long ldy CSH.TYPESIZE,x @@ -954,15 +934,13 @@ CSH.IsValue0 cpx #CSH.T.FLOAT .8 clc rts -.1 tax - lda CSH.TYPESIZE,x +.1 jsr CSH.SIZEOF tax - - lda #0 - ldy #1 -.2 ora ZPVarData,y - iny + lda #0 + +.2 ora (pStack) + inc pStack dex bne .2 @@ -1039,6 +1017,22 @@ CSH.BOPS.LOR *-------------------------------------- * Stack *-------------------------------------- +CSH.CheckStack tax + >LDA.G CSH.StackPtr + beq .9 + dec + tay + txa + cmp (ZPCSHStack),y + bne .9 + + clc + rts + +.9 lda #CSH.E.SYNTAX + sec + rts +*-------------------------------------- CSH.Push pha >LDA.G CSH.StackPtr inc @@ -1069,25 +1063,6 @@ CSH.Pop >LDA.G CSH.StackPtr sec rts *-------------------------------------- -CSH.CheckStack tax - >LDA.G CSH.StackPtr - beq .9 - dec - tay - txa - cmp (ZPCSHStack),y - bne .9 - - tya - >STA.G CSH.StackPtr - - clc - rts - -.9 lda #CSH.E.SYNTAX - sec - rts -*-------------------------------------- * CHAR related Subs..... *-------------------------------------- CSH.GetOPLen ldy #0 @@ -1114,6 +1089,26 @@ CSH.GetIDLen ldy #0 .8 tya rts *-------------------------------------- +CSH.SkipBlock ldx #1 expecting 1 '}' for now.... + +.1 jsr CSH.GetNextCharNB + bcs .9 + cmp #'{' + bne .2 + inx + bra .1 + +.2 cmp #'}' + bne .1 + txa + beq .9 + dex + bne .1 + + jmp CSH.GetNextCharNB skip '}' + +.9 rts +*-------------------------------------- CSH.GetCharNB jsr CSH.GetChar bcs CSH.GetNextCharNB.RTS jsr CSH.CheckCharNB @@ -1212,8 +1207,6 @@ CSH.SIZEOF txa *-------------------------------------- * EXEC *-------------------------------------- -CSH.EXEC jmp (J.CSH.EXEC,x) -*-------------------------------------- EXEC.printf >SYSCALL printf2 rts *-------------------------------------- diff --git a/BIN/CSH.S.txt b/BIN/CSH.S.txt index de7b7b95..c8c2ffed 100644 --- a/BIN/CSH.S.txt +++ b/BIN/CSH.S.txt @@ -54,6 +54,7 @@ CS.START cld .DA CS.DOEVENT .DA CS.QUIT L.MSG.GREETINGS .DA MSG.GREETINGS +L.MSG.USAGE .DA MSG.USAGE L.MSG.ECHOCRLF .DA MSG.ECHOCRLF L.MSG.HEXWORD .DA MSG.HEXWORD L.MSG.ERR .DA MSG.ERR @@ -119,11 +120,15 @@ CS.RUN lda #$ff sec rts -.8 lda #0 +.8 lda #0 Exit Code = Success sec rts -.90 lda #E.SYN Exit Code = Succes +.90 >PUSHBI 0 + >LDYA L.MSG.USAGE + >SYSCALL printf + + lda #E.SYN sec QUIT Process .99 rts *-------------------------------------- @@ -247,15 +252,22 @@ CS.END * Initialized DATA *-------------------------------------- MSG.Greetings .AZ "\r\nCSH-Shell %d.%d\r\n\r\n" +MSG.USAGE .AS "Usage : CSH file\r\n" + .AS " -D : Debug Mode\r\n" + .AS " -T : Trace On" MSG.ECHOCRLF .AZ "\r\n" MSG.HEXWORD .AZ "[%H]" MSG.ERR .AZ " ^\r\nLine #%D:" +*-------------------------------------- +OptionList >PSTR "DdTt" +OptionVars .DA #bDebug,#bDebug,#bTrace,#bTrace *-------------------------------------- .INB USR/SRC/BIN/CSH.I *-------------------------------------- .DUMMY .OR 0 DS.START .INB USR/SRC/BIN/CSH.D +bDebug .BS 1 bTrace .BS 1 DS.END .ED