I've taken a look at the ref.x86asm.net manual and while it has a lot of information, I can't really make heads or tails from it as I don't know how to interpret the registers.
I'm using using 64 bit code and have a nearby line which lldb shows me the following:
48 89 e5 movq %rsp, %rbp
I know from the above statement 89 is the move command. rsp is source and rbp is the destination (I'm on osx).
in the ref.86asm manual, it states for "89" o has 'r' and op1 has r/m16/32/64. op2 has r16/32/64 I looked up the values but really don't understand how it all is supposed to work out. I saw references to REX in other people's answers but don't know what that means.
XX 89 XX movq %rax, %rdi ; how do I do this? What are the XX?
I'm writing my own byte code and have sort of figured out most of the stuff by writing c, compiling it and then looking at it in lldb. However I'd save a lot of time if I could get a better understanding of how the byte codes when they referred to registers really worked.