diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2024-02-21 14:19:14 +0200 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2024-02-21 14:19:14 +0200 |
| commit | f88be86978af5ebb92bc9f11e99015afc6b6c4f7 (patch) | |
| tree | 9f1bdb97f57845e32560a9def53bc1ee72c0ed20 /resources/asm/sum.atk16 | |
| parent | 43c062225ccf88ef05d51a3c2fccb9f57e8a12c9 (diff) | |
Initial impl of step
Diffstat (limited to 'resources/asm/sum.atk16')
| -rw-r--r-- | resources/asm/sum.atk16 | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/resources/asm/sum.atk16 b/resources/asm/sum.atk16 index 1bc3277..a724568 100644 --- a/resources/asm/sum.atk16 +++ b/resources/asm/sum.atk16 @@ -1,4 +1,3 @@ -@use ext_std:* ; Program: sum two values and store the result in RAM ; ROM (and program execution) starts at offset 0x0 @@ -11,16 +10,16 @@ @label program ldi 10 RA ; RA := 10 ldi 20 RB ; RB := 20 - add RA RB RC ; RC := RA + RB + alr al_plus RA RB RC ; RC := RA + RB ldi ram_offset RD ; store address of ram_offset in RD ldr RD RD ; dereference ram_offset address @label debug str RC RD ; store RC in RAM ; Check that 10 + 20 = 30 - mov RC RA ; RA := result of sum + ali al_plus RC 0 RA ; RA := result of sum ldi 30 RB ; RB := 30 - sub RA RB RC ; RC := RA - RB + alr al_minus RA RB RC ; RC := RA - RB bri zero success ; if result is zero, jump to success ldi 2 RA ; RA := 2 to signal failure |
