diff options
Diffstat (limited to 'resources/asm/sum.atk16')
| -rw-r--r-- | resources/asm/sum.atk16 | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/resources/asm/sum.atk16 b/resources/asm/sum.atk16 deleted file mode 100644 index a724568..0000000 --- a/resources/asm/sum.atk16 +++ /dev/null @@ -1,31 +0,0 @@ -; Program: sum two values and store the result in RAM - -; ROM (and program execution) starts at offset 0x0 -@address 0x0 - jpi program - -@label ram_offset - 0x8000 ; store ram offset for later memory access - -@label program - ldi 10 RA ; RA := 10 - ldi 20 RB ; RB := 20 - 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 - ali al_plus RC 0 RA ; RA := result of sum - ldi 30 RB ; RB := 30 - 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 - hlt - -; Else -@label success - ldi 1 RA ; RA := 1 to signal success - hlt |
