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

diff --git a/bsv.c b/bsv.c
index cc0348b4a6a52b6f5a51e40a2d12e7d271abf889..353b458fa5c351f06a8019b29fc7ef7be5861724 100644 (file)
--- a/bsv.c
+++ b/bsv.c
@@ -22,7 +22,15 @@ void mod3(void) {
        SWAP(acc)
        MOV(mod3hi, acc)
 
-       mod3lo = mod3hi + (mod3lo>>4) + (mod3lo & 0xF);
+       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)
+       mod3lo = acc;
+       //mod3lo = mod3hi + (mod3lo>>4) + (mod3lo & 0xF);
        mod3lo = (mod3lo >>  2) + (mod3lo & 0x3);
        mod3lo = (mod3lo >>  2) + (mod3lo & 0x3);
        if (mod3lo > 2) mod3lo = mod3lo - 3;
Imprint / Impressum