//---------------------------------------------------------------------
// Register Usage
//---------------------------------------------------------------------
-// %rax Accumulator Register
// %rsi Program Counter
// %rsp Argument Stack Pointer
+// %rbp Stack Frame Pointer
+// %rax Accumulator Register
+// %rbx Temporary Register
//---------------------------------------------------------------------
// Main Routine
.p2align 4, 0x90
EXEC_FUN:
pushq %rsi
- pushq %rsp
pushq %rbp
leaq 8(%rax), %rsi
movq %rsp, %rbp
// Exit a function, returning to the caller
defcode OP_return
- popq %rbx
lodsq
- movq %rbp, %rsp
+ popq %rbx
popq %rbp
- popq %rsp
popq %rsi
leaq (%rsp, %rax, 8), %rsp
pushq %rbx