diff --git a/examples/assembled/numjack.n8 b/examples/assembled/numjack.n8 index 0badbf8..15f7bbf 100644 --- a/examples/assembled/numjack.n8 +++ b/examples/assembled/numjack.n8 @@ -4,7 +4,7 @@ 8401461 8388668 10649660 -2195491 +2195489 16767489 8389890 12632194 @@ -22,24 +22,22 @@ 2310269 8402946 12599426 -8405251 -12589571 -12616066 -12665091 -12632450 -12599042 -12622210 +2146590 +8401410 12599426 -8411779 -12648707 +2130206 +8389890 +12583169 +8401411 +12648579 2310269 6331190 6299196 -2170484 +2170482 6315709 8412801 12606977 -2130164 +2130162 8405180 2326535 8405438 @@ -50,26 +48,26 @@ 2326550 8391297 12599681 -2097315 +2097313 2326535 8405439 2326535 12583359 8402817 12607361 -2097390 +2097388 6291972 8388672 8388673 6299583 6308485 -2097873 +2097871 12599045 -2097869 +2097867 12599045 -2097863 -2195539 -2187347 +2097861 +2195537 +2187345 8412801 12606977 8405180 @@ -78,40 +76,40 @@ 2326535 12583359 12599232 -2195539 +2195537 8388801 12599232 8413057 2326550 8391297 12599681 -2162906 +2162904 6299583 -2195491 -2105535 +2195489 +2105533 8405383 8412929 2326550 8405382 8390657 12599681 -2113765 +2113763 2326535 12583358 -2195548 +2195546 6299455 8405889 12600065 -2097394 -2130161 +2097392 +2130159 8391297 12600065 -2113777 -2195491 +2113775 +2195489 8388865 12639873 12583100 12590780 12590780 -2195491 +2195489 0 diff --git a/examples/numjack.n8a b/examples/numjack.n8a index 29e2678..d10624f 100644 --- a/examples/numjack.n8a +++ b/examples/numjack.n8a @@ -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