From e4732d79dca10697a7a4469fb31c51fe8685ca2b Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Sun, 6 Oct 2019 14:39:47 -0400 Subject: [PATCH] zasm: tighten directive detection a bit --- apps/zasm/directive.asm | 26 ++++++++++++++++---------- tools/emul/zasm/zasm.bin | Bin 4673 -> 4672 bytes 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/apps/zasm/directive.asm b/apps/zasm/directive.asm index d317d88..f68157e 100644 --- a/apps/zasm/directive.asm +++ b/apps/zasm/directive.asm @@ -17,16 +17,16 @@ .equ DIREC_RAMEND DIREC_SCRATCHPAD+SCRATCHPAD_SIZE ; *** CODE *** -; 4 bytes per row, fill with zero +; 3 bytes per row, fill with zero directiveNames: - .db ".DB", 0 - .db ".DW", 0 - .db ".EQU" - .db ".ORG" - .db ".FIL" - .db ".OUT" - .db ".INC" - .db ".BIN" + .db "DB", 0 + .db "DW", 0 + .db "EQU" + .db "ORG" + .db "FIL" + .db "OUT" + .db "INC" + .db "BIN" ; This is a list of handlers corresponding to indexes in directiveNames directiveHandlers: @@ -296,14 +296,20 @@ handleBIN: ; Reads string in (HL) and returns the corresponding ID (D_*) in A. Sets Z if ; there's a match. getDirectiveID: + ld a, (hl) + cp '.' + ret nz + push hl push bc push de + inc hl ld b, D_BIN+1 ; D_BIN is last - ld c, 4 + ld c, 3 ld de, directiveNames call findStringInList pop de pop bc + pop hl ret ; Parse directive specified in A (D_* const) with args in I/O and act in diff --git a/tools/emul/zasm/zasm.bin b/tools/emul/zasm/zasm.bin index 9fbe82b8d4d4b9b1595efe8017ba4ef339bcb76d..ca38d58b888baf0c535287cb0d5240ee15cec305 100644 GIT binary patch delta 697 zcmX|8O-K}B7~XHpMXUXDOLu9F8Cz}IS`Qj%helJ&U6tK5XTBMO*n@{6D1spO&`y`d zH4hOVo`R4LL8mA?6|^f;up_+4LQ8d+!$d>LvWJ8yLZ`l2q0{sJeDCu;&-<=NOHoGi zykPtYEt4P`MESKTWFd5$^fmox&MRe2UE}vmBLEoO})Ap_%jP`7qq#mhFLMT;4^vbO`tIO=Dj>0#btOT zmEo&Y)>4x&Ow*wR>&@9wK5P%O%|J=@oQ2&Z$n3UUsMQm1d;Uql4 z8=F{&JNOX`F$ce6EsZUBNuK)HZWWhm)Sjkdc!x_yxTrVKGHU}v^%=_M6iCf?bo>{F zZQ0;<_5jJ+wk-6%)eXzwXlqn9%tlQ6|6?TY#TNXP`F@Bc(oi55{danf$b4jPt{|Iy ztHIHi1(^-(UO~GO6QTu5Qy_JJ7rIXTf&Ol{%-v9+dqO~ccb8yQVGnUxCx1@U#`Lxf ztK@3n?6ucQX~DL6CiD}Q6}B0A=R!5=p?z|}MjIa#o7woJ*iF3Ow#!05^SQFxPAaS2 zmz;YoD|`^Bw&M*;^ol`fp9_T>YG}DZcEH(k&4f|nZHsj5V7dmlnT)ARUD1rArZ2Zt G)c*l_Zbg0o delta 730 zcmX|9PiWI%6i>3PZfO6cm9?9lq-C90yWmPb&2$*p4`81`q5Zph6B2BFs8)48em9e(7MR-~01>?|bj}zDn;#FQxh3 zQ2~-%Lm_gQES6?Sn9yyqXOv5g6I@CpxC^ra zmz$g9CNeWzPMGI1+4J0ZCL0uF;jv%{yFyQXB7ZG!!_pMf7dumcr)jny6x8h^#=@M94DUhSY&Rf?x=CT!$3CEOzY1eixtrlQdV!cjhq=OGdC_V^&Vxwm1 zn5->Lxg}ngf5fyccp{he1Cq;Ndhnyay{9_x9?@oJl3u!OmB;>@ei8Yki`$}hQM93iUiq1XB39~nK}`{1Q>>U>Wxa{E zRUbOHGl#pm0rb;;olfdlJum)J@xr;Z#a8t)`9h2R0?`+cpp~I|#{i z4pfv2-0q7?Y;?a)l`OWyjA5oKF?8c9*~n879KdZ<^eYf2Zy`TDm^dWG7G+3G@#Mfg z71m|uXzY&bzrk*^dQXCNbe$f#@j