hex.push_ret_address¶
Effectively: stack[++sp] = return_address
Pushes the given return_address to the next cell in the stack. Increments sp.
Note: the pushed returned address must be popd out afterwards with pop_ret_address.
return_address is a fj-op address, so we assume is dw-aligned.
Signature¶
def push_ret_address return_address < hex.pointers.sp { ... }
Defined in hex/pointers/stack.fj — lines 39–43 (view on GitHub).
Complexity¶
Time:
w(2.25@+10) + 9@+ 51Space:
w(2.62@+49) + 20@+231
See the complexity glossary for what @, w, dw, dbit, n mean.
Source¶
Click to view the macro body
def push_ret_address return_address < hex.pointers.sp {
.sp_inc
.zero_ptr hex.pointers.sp
.ptr_wflip_2nd_word hex.pointers.sp, return_address
}
Depends on¶
Used by¶
Example uses¶
← Previous: hex.sp_sub
Next: hex.pop_ret_address →