hex.pointers.set_flip_and_jump_pointers¶
Sets both to_flip and to_flip_var, and to_jump and to_jump_var to point to the given pointer.
( to_flip{_var} = ptr )
( to_jump{_var} = ptr )
ptr is a hex[:w/4] that holds an address.
Signature¶
def set_flip_and_jump_pointers ptr < .to_flip, .to_flip_var, .to_jump, .to_jump_var { ... }
Defined in hex/pointers/basic_pointers.fj — lines 75–79 (view on GitHub).
Complexity¶
Time:
w(0.75@+5)Space:
w(0.75@+29)
See the complexity glossary for what @, w, dw, dbit, n mean.
Source¶
Click to view the macro body
def set_flip_and_jump_pointers ptr < .to_flip, .to_flip_var, .to_jump, .to_jump_var {
..address_and_variable_xor w/4, .to_flip, .to_flip_var, .to_flip_var
..address_and_variable_xor w/4, .to_jump+w, .to_jump_var, .to_jump_var
..address_and_variable_double_xor w/4, .to_flip, .to_flip_var, .to_jump+w, .to_jump_var, ptr
}
Depends on¶
Used by¶
Example uses¶
hex.xor_hex_from_ptrinhex/pointers/xor_from_pointer.fjhex.xor_byte_from_ptrinhex/pointers/xor_from_pointer.fjhex.write_hexinhex/pointers/write_pointers.fj
← Previous: hex.pointers.set_flip_pointer
Next: hex.pointers.stack_init →