I'm using this assembler: https://defuse.ca/online-x86-assembler.htm#disassembly
Does anyone know how to encode a memory operand? Say for example this ADD on page 457 of the intel x64 manual: ADD r/m8, imm8. I would have thought it'd be like 'ADD 0x1122334455667788, 0x01' but it says "Error: operand type mismatch for `add'"
Best How To :
In the Intel assembly syntax, you need to use square brackets to denote that you are referencing the value at a memory address and also include the size information.
ADD DWORD PTR [0x11223344], 0x55
See "Addressing Memory" and "Size Directives" of https://www.cs.virginia.edu/~evans/cs216/guides/x86.html#memory for more information.
-- edit: fix answer to acknowledge it is possible to access memory directly.