ptrlib.fjΒΆ

β€”β€”β€”- Init

View source on GitHub

MacrosΒΆ

stlΒΆ

  • stl.ptr_init β€” NOTE: must be placed just after the startup, so that the read_ptr_byte_table will be in address 256.

  • stl.stack_init β€” n is the size of the stack.

  • stl.call/1 β€” note: the pop_ret_address is for the future return (counts as space, but not time, complexity).

  • stl.call/2 β€” note: the pop_ret_address is for the future return (counts as space, but not time, complexity).

  • stl.return β€” note: jumps to the last-call’s pop_ret_address (which this macro counts as time, but not space, complexity).

  • stl.get_sp β€” (Unsafe if dst overlaps with hex.pointers.sp).

  • stl.fcall β€” Jumps to label, and saves the return address in the given "ret_reg" variable.

  • stl.fret β€” Return into the address written in the "ret_reg" variable.