diff --git a/test/asm_code/arith.fate b/test/asm_code/arith.fate new file mode 100644 index 0000000..ffd5311 --- /dev/null +++ b/test/asm_code/arith.fate @@ -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 + diff --git a/test/asm_code/jumpif.fate b/test/asm_code/jumpif.fate new file mode 100644 index 0000000..05855eb --- /dev/null +++ b/test/asm_code/jumpif.fate @@ -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