Basic assembler instructions (x64, A64)

Instructions

Purpose x64 (Intel flavor) A64
Copy content (dst = src) MOV RAX, RBX MOV X0, X1
Copy content (dst = *src) MOV RAX, [RBX] LDR X0, [X1]
Copy content (*dst = src) MOV [RAX], RBX STR X1, [X0]
Push on stack PUSH RAX PUSH {X0}
Pop from stack POP RAX POP {X0}
Summation ADD RAX, RBX
ADD RAX, 0x10
ADD X0, X0, X1
ADD X0, #16
Subtraction SUB RAX, RBX
SUB RAX, 0x10
SUB X0, X0, X1
SUB X0, #16
Enter Function CALL function BL function
Leave Function RET BX LR
Unconditional Jump/Branch JMP address BX address
Comparison (Subtraction) CMP RAX, RBX CMP X0, X1
Comparison (Bitwise AND) TEST RAX, RAX TST X0, X0
Jump/Branch if zero (/equal) JE address BEQ address
Jump/Branch if not zero (/not equal) JNE address BNE address

Syntax flavor

(gdb) set disassembly-flavor att
(gdb) set disassembly-flavor intel
(gdb) show disassembly-flavor

– Intel flavor: COMMAND destination, source
– AT&T flavor: COMMAND source, destination