From e57156546369c9e59107c358e4b73419c6499d7c Mon Sep 17 00:00:00 2001 From: Tobias Girstmair Date: Tue, 13 Nov 2018 03:43:30 +0100 Subject: [PATCH] new version --- fakeasm.h | 6 +++--- foo.c | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/fakeasm.h b/fakeasm.h index 3153640..cfb4598 100644 --- a/fakeasm.h +++ b/fakeasm.h @@ -21,9 +21,9 @@ #define CLR(x) x = 0; #define RET return; #define RCALL //pseudo -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 sr_zero = 0; //status register zero bit +#define TST(x) if(x==0)sr_zero=1;else sr_zero=0; //WARN: not a complete TST mockup +#define BREQ(l) if(sr_zero) goto l; int carry = 0; //status register carry bit //WARN: not respected by all mocked instructions int asmtmp = 0; #define ROL(x) asmtmp = x>>7; x <<= 1; x |= carry; carry = asmtmp; diff --git a/foo.c b/foo.c index bc469c9..85d4d40 100644 --- a/foo.c +++ b/foo.c @@ -33,7 +33,8 @@ void g(void) { CLR zero ADC X_hi, zero LD t, X */ - t = (((i1&0x1f)<<8|i0)*t)>>8 >> o; //TODO; NOTE: o == {1, 2, 4} + t = (((i1&0x1f)<<8|i0)*t)>>8; //TODO + t >>= o; //NOTE: o == {1, 2, 4} AND (t, x) ANDI (t, 3) RET -- 2.39.3