This commit is contained in:
David Schirrmeister
2024-12-05 13:57:04 +01:00
134 changed files with 1052 additions and 151 deletions

View File

@ -127,4 +127,32 @@
## Beispiel Kopieren indiziert
- ![image_437.png](image_437.png)
- ![image_438.png](image_438.png)
-
## Load/Store - Befehlsformat
![image_477.png](image_477.png)
## Adressierungsarten übersicht
| Art | ARM-Beispiel | Alternativer Name |
|-----------------------------|----------------------------------------------------------------------------------|--------------------------------------------------------------------------|
| Immediate | `mov r0, #8` | Literal |
| Direkt | wird nicht unterstützt | Absolute |
| PC-relativ | `ldr r1, [pc, #offset]`<br/>Pseudobefehl, `label` in `.text`<br/>`ldr r1, label` | |
| Register | `mov r0, r1` | Register-to-Register<br/>Register Direct |
| Register-Indirect | `ldr r0, [r1]` | Indexed |
| Indiziert / Index | `ldr r0, [r1, #4]`<br/>`ldr r0, [r1, #4]!`<br/>`ldr r0, [r1], #4` | Pre-indexed<br/>Post-indexed,<br/>pre-incrementing<br/>post-incrementing |
| Basis-indizierte | `ldr r0, [r1, r0, LSL#2]` | |
| Basis-indizierte mit Offset | wird nicht unterstützt | |
## Blocktransfer-Befehle
![image_478.png](image_478.png)
- Register mit niedrigster Nummer wird geladen von/gespeichert nach der niedrigsten Adresse
- Reihenfolge der angegebenen Register im Befehl spielt keine Rolle
### Beispiel
![image_479.png](image_479.png)
## Stacks
- push {}
- pop {}