Handle jumpif.

This commit is contained in:
Erik Stenman 2019-02-14 15:38:49 +01:00
parent 78a2cf9eb1
commit 27c9b50409
2 changed files with 35 additions and 0 deletions

26
test/asm_code/arith.fate Normal file
View File

@ -0,0 +1,26 @@
;; CONTRACT arith
FUNCTION add (integer, integer) : integer
ADD a arg0 arg1
RETURN
FUNCTION sub (integer, integer) : integer
SUB a arg0 arg1
RETURN
FUNCTION mul (integer, integer) : integer
MUL a arg0 arg1
RETURN
FUNCTION div (integer, integer) : integer
DIV a arg0 arg1
RETURN
FUNCTION mod (integer, integer) : integer
MOD a arg0 arg1
RETURN
FUNCTION pow (integer, integer) : integer
POW a arg0 arg1
RETURN

View File

@ -0,0 +1,9 @@
;; CONTRACT jumpif
FUNCTION skip(integer, integer) : integer
PUSH arg1
PUSH 0
EQ a a arg0
JUMPIF a 2
INC
JUMP 2
RETURN