Basics

Register

<aside> πŸ‘‰ General purpose registers

</aside>

Due to various design decisions made during the design of x86_64, accessing EAX would wipe out the upper 32-bits of the RAX register (and all other GPRs)

Untitled

Untitled

<aside> πŸ‘‰ RFLAGS registers

</aside>

All the flags are same as that in x86 ISA, the only difference being there are reserved 32 bits at the start.

<aside> πŸ‘‰ Instruction pointer

</aside>

The instruction registers (or instruction pointer) is 64-bits in size RIP.

Invoking syscalls

Fundamental data types

Size Name Instruction
8 bits Byte db
16 bits Word dw
32 bits Double Word dd
64 bits Quad Word dq
128 bits Double Quad Word ddq

Special tokens

$
;;Evaluate to the current line

$$
;;Evaluate to the beginning of the current line

Basic instruction set

Data initialisation