new version
authorTobias Girstmair <tobi@isticktoit.net>
Thu, 4 Mar 2021 17:02:19 +0000 (18:02 +0100)
committerTobias Girstmair <tobi@isticktoit.net>
Thu, 4 Mar 2021 17:07:27 +0000 (18:07 +0100)
bsv.c
fakeasm.h

diff --git a/bsv.c b/bsv.c
index a0e62265f48a23b2ef46f76c76aaa529aa178a84..23f7a5e972293bc5586a3146cb5c75a042eab88e 100644 (file)
--- a/bsv.c
+++ b/bsv.c
@@ -53,9 +53,10 @@ void g(void){
        MOV     (acc, i2)
        AND     (acc, 3)
        /*T0SN  FLAG.Z (0x00.0)*/       if(3&i2) {// skip if !(3&i0)
-       SET1    (notes_ix, 3)           }
-       /*IDXM  acc, notes_ix*/         acc = notes[notes_ix];
+       SET1    (notes_ix, 3)           } // ix += 8 <=> ix |= 8
+       IDXM    (acc, notes+notes_ix)
        u8 result = ((i1<<8|i0)*acc)>>8;  // keep hi byte
+       //^TODO!
        acc = result;
 }
 void main(void){
index 54c5cb3936e2e5870cc93acd10adcbd443792076..0959a5aec2d353031d20fe5a10f23315261b8f7e 100644 (file)
--- a/fakeasm.h
+++ b/fakeasm.h
@@ -18,3 +18,4 @@ int flag_c = 0;
 #define DEC(dst)       dst -= 1; flag_c = flag_z = (dst==0);
 #define NEG(dst)       dst *= -1; flag_z = (dst==0);
 #define SET1(dst, n)   dst |= 1<<n;
+#define IDXM(dst, ix)  dst = *(ix); //xxx: requires passing array+index
Imprint / Impressum