summaryrefslogtreecommitdiff
path: root/ROMs/hello_c.asm
diff options
context:
space:
mode:
Diffstat (limited to 'ROMs/hello_c.asm')
-rw-r--r--ROMs/hello_c.asm14
1 files changed, 11 insertions, 3 deletions
diff --git a/ROMs/hello_c.asm b/ROMs/hello_c.asm
index 6eba849..e06d4e0 100644
--- a/ROMs/hello_c.asm
+++ b/ROMs/hello_c.asm
@@ -1,9 +1,17 @@
_main:
; comment
mov 5, [$51FF] ; int a = 5
- add [$51FF], 5 ; compute addition
- mov AX, [$51FF] ; store back into left param
- mov [$51FF], V0 ; return value
+ push [$51FF] ; left operand
+ mov 5, V1 ; right operand
+ pop V0 ; get left operand back
+ cmp V0, V1 ; compute equality check
+ bz LX ; check if condition
+ not
+ jmp _end_1 ; if succeeds, continue, else jump to end
+ mov 99, V0 ; return value
+ ret
+_end_1:
+ mov 0, V0 ; return value
ret
mov 0, V0 ; fallback return 0
ret