optimized numberjack

This commit is contained in:
Luxferre
2025-05-04 16:58:12 +03:00
parent f2f3993770
commit a0d42f8ebd
2 changed files with 36 additions and 40 deletions
+8 -10
View File
@@ -67,16 +67,14 @@ ret
; the result is in the @vc cell
:score dca 112 @vb ; set vb to 112
sub @va @vb ; set vb to va - 112
dva @vb @vc ; copy vb value into vc
add @c_13 @vc ; add 13 to vc
mul @vc @vb ; vb * vc => vb
abs @vb @vc ; abs(vb) => vc
div @vc @vb ; abs(vb) / vb => vb
dec @vb ; vb - 1 => vb
mul @c5 @vb ; vb * 5 => vb
sub @va @vb ; va - vb => vb
dva @c_hund @vc ; store 100 into vc
mdf @vb @vc ; store vb mod 100 into vc
jge @vb :skscore ; skip adding 10 if >= 112
dca 100 @vb ; set vb to 100
sub @va @vb ; set vb to va - 100
jlt @vb :skscore ; skip adding 10 if < 100
dca 10 @vb ; set vb to 10
add @vb @va ; add 10 to va value
:skscore dca 100 @vc ; set 100 to vc
mdf @va @vc ; set vc to va mod 100
ret
; main code part