bit/pointers.fj¶
———- Jump:
Macros¶
bit.pointers¶
bit.pointers.ptr_init— Initializes the global opcodes andpointer-copiesrequired for the pointers macros.bit.pointers.set_jump_pointer— Sets both to_jump and to_jump_var to point to the given pointer.bit.pointers.set_flip_pointer— Sets both to_flip and to_flip_var to point to the given pointer.bit.pointers.advance_by_one_and_flip__ptr_wflip— Advances *to_flip by 1 (which takes n flips, from bit0 to bit1, bit2,…).
bit¶
bit.ptr_jump— Jump to the address stored inptr. Effectively;*ptr.bit.ptr_flip— Flip the bit whose address is stored inptr. Effectively*ptr;.bit.ptr_flip_dbit—Effectively: (*ptr)+dbit;bit.xor_to_ptr—Effectively: bit.xor *ptr, bitbit.ptr_wflip—Effectively: wflip *ptr, valuebit.ptr_wflip_2nd_word—Effectively: wflip (*ptr)+w, valuebit.xor_from_ptr— Effectively: bit.xor dst, *ptrbit.exact_xor_from_ptr—Effectively: bit.exact_xor dst, *ptrbit.ptr_inc—ptr += 2w— advance a w-wide bit-pointer by one dw-aligned word.bit.ptr_dec—ptr[:n] -= 2w