From 46a8d83c34590eeb414ca79f696e0bad07d8c1de Mon Sep 17 00:00:00 2001 From: Tobias Girstmair Date: Tue, 13 Nov 2018 00:36:50 +0100 Subject: [PATCH] new version --- foo.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/foo.c b/foo.c index b264c2d..3acf09c 100644 --- a/foo.c +++ b/foo.c @@ -13,7 +13,8 @@ u8 i3; u8 x; u8 t; u8 o; -u8 g(int i) { +void g(int i) { + // g(i, x, t, o) -> t u8 tmp; ANDI (t, 0x07) MOV (tmp, i2) @@ -26,7 +27,7 @@ u8 g(int i) { t = (i*t) >> o; AND (t, x) ANDI (t, 3) - return t; + RET }; int main(void) { @@ -43,25 +44,29 @@ int main(void) { LDI (x, 1) MOV (t, n) LDI (o, 12) - acc += g(i); + RCALL g(i); + MOV (acc, t) //voice 2: MOV (x, s) t = n ^ i >> 13; LDI (o, 10) - acc += g(i); + RCALL g(i); + ADD (acc, t) //voice 3: x = s / 3; t = n + ((i >> 11) % 3); LDI (o, 10) - acc += g(i); + RCALL g(i); + ADD (acc, t) //voice 4: x = s / 5; t = 8 + n - ((i >> 10) % 3); LDI (o, 9) - acc += g(i); + RCALL g(i); + ADD (acc, t) putchar(acc<<4); i++; -- 2.39.3