32-bit relative addressing
Since CALL and JMP instructions have 32-bit and not 64-bit relative addressing, I put all my code in the lowest 2 Gig. Data can be anything.
I wrote my own compiler. I could load RAX, followed by CALL RAX, but I don't like wasting so many bytes and it's just ugly.