new version
authorTobias Girstmair <tobi@isticktoit.net>
Thu, 4 Mar 2021 14:59:34 +0000 (15:59 +0100)
committerTobias Girstmair <tobi@isticktoit.net>
Thu, 4 Mar 2021 14:59:34 +0000 (15:59 +0100)
bsv.c

diff --git a/bsv.c b/bsv.c
index 585c4311e6f9a1053b415fa1c407e9ba4972905b..6137c990c38aa7d829369f62b5f5c8cb35928fc5 100644 (file)
--- a/bsv.c
+++ b/bsv.c
@@ -14,35 +14,38 @@ u8 notes[] = {
 };
 
 u8 mod3hi, mod3lo; //MEM
+//todo: can mod3hi be aliased to tmp_1?
 void mod3(void) {
-       MOV(acc,mod3hi)
-       ADD(mod3lo,acc) // mod3lo = hi+lo
-       CLEAR(acc)
-       ADDC0(acc) // mod3hi, 1bit
-       SWAP(acc)
-       MOV(mod3hi, acc)
+       MOV     (acc,mod3hi)
+       ADD     (mod3lo,acc) // mod3lo = hi+lo
+       CLEAR   (acc)
+       ADDC0   (acc) // mod3hi, 1bit
+       SWAP    (acc)
+       MOV     (mod3hi, acc)
 
-       MOV(acc, mod3lo)
-       SWAP(acc)
-       AND(acc, 0xf) // (mod3lo>>4)
-       XCH(mod3lo) // acc=mod3lo, mod3lo=mod3lo>>4
-       AND(acc, 0xF) // acc=mod3lo&0xf, mod3lo=mod3lo>>4
-       ADD(acc, mod3lo) // (mod3lo & 0xF)
-       ADD(acc, mod3hi)
-       MOV(mod3lo, acc)
+       MOV     (acc, mod3lo)
+       SWAP    (acc)
+       AND     (acc, 0xf) // (mod3lo>>4)
+       XCH     (mod3lo) // acc=mod3lo, mod3lo=mod3lo>>4
+       AND     (acc, 0xF) // acc=mod3lo&0xf, mod3lo=mod3lo>>4
+       ADD     (acc, mod3lo) // (mod3lo & 0xF)
+       ADD     (acc, mod3hi)
+       MOV     (mod3lo, acc)
 
-       AND(acc, 0x3) // acc = (mod3lo & 0x3)
-       SR(mod3lo)
-       SR(mod3lo) // (mod3lo >>  2)
-       ADD(acc, mod3lo)
-       MOV(mod3lo, acc)
+       AND     (acc, 0x3) // acc = (mod3lo & 0x3)
+       SR      (mod3lo)
+       SR      (mod3lo) // (mod3lo >>  2)
+       ADD     (acc, mod3lo)
+       MOV     (mod3lo, acc)
        
-       AND(acc, 0x3) // acc = (mod3lo & 0x3)
-       SR(mod3lo)
-       SR(mod3lo) // (mod3lo >>  2)
-       ADD(acc, mod3lo)
+       AND     (acc, 0x3) // acc = (mod3lo & 0x3)
+       SR      (mod3lo)
+       SR      (mod3lo) // (mod3lo >>  2)
+       ADD     (acc, mod3lo)
 
-       if (acc > 2) acc = acc - 3;
+       if (acc > 2) {
+       SUB     (acc,3)
+       }
 }
 
 void g(void){
Imprint / Impressum