Daten bewegen in Assembly
Instruktionen
- mov
- strb
- ldr
mov (move)
// Nutzungsbeispiel:
mov R0, #1234
Der mov (move) Befehl wird genutzt, um Register (R0, R1, ...) mit werten zu füllen. Möglich sind andere Register (z.B.: mov R0, R1
) oder Zahlen (z.B.: mov R0, #0xff
).
strb (store byte)
// Nutzungsbeispiel:
strb R0, [R1, ODR] // speichert Wert in R0 in ODR von R1
Der strb (store byte) Befehl wird benutzt um einen Byte (links) in eine Adresse* (rechts) zu speichern.
- Adressen: Adressen werden in Assembly immer mit [] ausgedrückt.
ldr (load register)
// Nutzungsbeispiel
ldr R1, =GPIOC
Der ldr Befehl wird verwendet um eine 32-bit* Konstante vom Speicher in ein Register zu laden.
*32-bit Konstante: Es gibt auch andere Größeneinheiten die ähnliche befehle haben. Z.B.: ldrh (load half word) lädt eine 16-bit Konstante und ldrb (load byte) lädt, wie der Name schon sagt, eine 8-bit Konstante