From: Tobias Girstmair Date: Thu, 4 Mar 2021 01:51:56 +0000 (+0100) Subject: new version X-Git-Url: https://git.gir.st/Chiptunes-pms150c.git/commitdiff_plain/c004ed39839f4f15cf07eda5940c14b1d9a9db43 new version --- diff --git a/bsv.c b/bsv.c index 6a472f0..4adf7a8 100644 --- a/bsv.c +++ b/bsv.c @@ -67,9 +67,12 @@ void main(void){ } //tmp2 SR (acc) SR (acc) - { u8 tmp1 = i2/6; - AND (acc, tmp1) - } //tmp1 + MOV (tmp_1, acc) // acc saved in tmp_1; fresh acc + MOV (acc, i2) + // shift-divide by six + acc = i2/6;//TODO + // end divide by six + AND (acc, tmp_1) // acc restored from tmp_1 AND (acc, 3) ADD (sample, acc) @@ -80,9 +83,11 @@ void main(void){ ADD (acc, 8) CALL (g) SR (acc) - { u8 tmp1 = i2/10; - AND (acc, tmp1) - } //tmp1 + MOV (tmp_1, acc) // acc saved in tmp_1; fresh acc + // shift-divide by ten + acc = i2/10;//TODO + // end divide by ten + AND (acc, tmp_1) // acc restored from tmp_1 AND (acc, 3) ADD (sample, acc) diff --git a/fakeasm.h b/fakeasm.h index 7ee2afd..5032674 100644 --- a/fakeasm.h +++ b/fakeasm.h @@ -2,8 +2,8 @@ int flag_z = 0; int flag_c = 0; //ignoring flag_ov, flag_ac #define MOV(dst, src) dst = src; -#define SL(dst) flag_c = (dst&0x80); dst <<= 1; -#define SR(dst) flag_c = (dst&0x01); dst >>= 1; +#define SL(dst) flag_c = (dst>>7); dst <<= 1; +#define SR(dst) flag_c = (dst&01); dst >>= 1; #define SWAP(dst) dst = (dst<<4 | dst>>4); #define AND(dst, src) dst &= src; flag_z = (dst==0); #define OR(dst, src) dst |= src; flag_z = (dst==0);