From df1928229e9a3908d9a900b42162c0811ffdbe95 Mon Sep 17 00:00:00 2001 From: Tobias Girstmair Date: Tue, 13 Nov 2018 01:13:50 +0100 Subject: [PATCH] new version --- fakeasm.h | 4 ++++ foo.c | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/fakeasm.h b/fakeasm.h index 4c15729..a5b0e8d 100644 --- 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 8084389..85cafb7 100644 --- 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) -- 2.39.3