new version
authorTobias Girstmair <t@thi3nkpad.lan>
Tue, 13 Nov 2018 00:13:50 +0000 (01:13 +0100)
committerTobias Girstmair <t@thi3nkpad.lan>
Tue, 13 Nov 2018 00:13:50 +0000 (01:13 +0100)
fakeasm.h
foo.c

index 4c157295ffe1d2fcde5f9bb6618ff1ec69163646..a5b0e8d79a404ec8917268e907d4e6f42f2e911a 100644 (file)
--- a/fakeasm.h
+++ b/fakeasm.h
@@ -24,3 +24,7 @@
 int zero = 0; //status register zero bit
 #define TST(x)    if(x==0)zero=1;else zero=0; //WARN: not a complete TST mockup
 #define BREQ(l)   if(zero) goto l;
+int carry = 0; //status register carry bit
+int asmtmp = 0;
+#define ROL(x) asmtmp = x>>7; x <<= 1; x |= carry; carry = asmtmp;
+#define ROR(x) asmtmp = x&0x1; x >>= 1; x |= carry<<7; carry = asmtmp;
diff --git a/foo.c b/foo.c
index 80843890b8a89c50f41860fa68dae294318de147..85cafb76abb526b434dcf976f218fb70255a6cca 100644 (file)
--- a/foo.c
+++ b/foo.c
@@ -47,7 +47,14 @@ int main(void) {
                LSR     (tmp)
                OR      (n, tmp)
                #undef tmp
-               s = (i3<<7 | i2>>1);
+               #define tmp acc
+               MOV     (s, i3)
+               //ROR   (s)
+               //ROR   (s)
+               //ANDI  (s, 0x01)
+               s<<=7;
+               s = (s | i2>>1);
+               #undef tmp
 
                //voice 1:
                LDI     (x, 1)
Imprint / Impressum