Open main menu

CDOT Wiki β

Changes

AArch64 Register and Instruction Quick Start

28 bytes removed, 22:33, 28 January 2016
Starter Kit
ldr r0,[r1,0] // load register r0 from the address pointed to by (r1 + (0 * ''size'')) where ''size'' is 8 bytes for 64-bit stores, 4 bytes for 32-bit stores
ldr w0,[r1,0] // like above but reads 32 bits only - note the use of w0 instead of r0 for the source register name
ldrb w0,[r1,0] // like above but reads 1 byte (8 bits) only - note the use of w0 instead of r0 for the source register name
ldur r0,[r1,0] // load register r0 from the address pointed to by (r1 + 0) - the mnemonic means "load ''unscaled'' register"
mov r0,r1 // move data from r1 to r0
mov r0,99 // load r0 with 99 (only certain immediate values are possible)
str r0,[r1,0] // store register r0 to address pointed to by (r1 + (0 * ''size'')) where ''size'' is 8 bytes for 64-bit stores
strb w0,[r1,0] // like str but writes one byte only - note the use of w0 instead of r0 for the source register name
stur r0,[r1,0] // store register r0 to the address pointed to by (r1 + 0) - the mnemonic means "store ''unscaled'' register"
svc 0 // perform a syscall