>> Technologie Électronique >  >> Audio pour la maison >> Amplificateurs et préamplis

Formats d'instructions et modes d'adressage ARM7 : Clarification

Jeu d'instructions ARM7TDMI : Formats vs Modes d'adressage

La liste fournie (Traitement données, Multiplication, etc.) décrit des catégories/formats d'instructions, pas des modes d'adressage. L'ARM7TDMI (ARMv4T) prend en charge plusieurs modes d'adressage au sein de ces formats.

Modes d'adressage ARM7 (pour Load/Store & Traitement données)

1. Modes d'adressage Load/Store (LDR/STR)

Mode Exemple syntaxe Description
Offset immédiat LDR R0, [R1, #4] Registre base + immédiat non-signé 12 bits (0–4095)
Offset registre LDR R0, [R1, R2] Base + registre (décalage optionnel : LSL/LSR/ASR/ROR #n)
Offset registre échelonné LDR R0, [R1, R2, LSL #2] Base + (registre × 1/2/4/8)
Pré-indexé (Writeback) LDR R0, [R1, #4]! MAJ base : R1 ← R1 + offset, puis chargement
Post-indexé LDR R0, [R1], #4 Chargement depuis base, puis MAJ base : R1 ← R1 + offset
Relatif PC (Literal Pool) LDR R0, =0x12345678 Assembleur place constante dans literal pool ; chargement relatif PC

2. Adressage Operand2 Traitement données (Décalages)

Utilisé dans ADD, SUB, AND, ORR, EOR, MOV, CMP, ...

Type décalage Syntaxe Exemple
Immédiat (8 bits roté) #imm MOV R0, #0xFF
Registre (sans décalage) Rm ADD R0, R1, R2
Décalage logique gauche Rm, LSL #n / Rs ADD R0, R1, R2, LSL #2
Décalage logique droite Rm, LSR #n / Rs MOV R0, R1, LSR R2
Décalage arithmétique droite Rm, ASR #n / Rs CMP R0, R1, ASR #3
Rotation droite Rm, ROR #n / Rs ORR R0, R1, R2, ROR #4
Rotation droite étendue Rm, RRX MOV R0, R1, RRX (rotation 1 bit via Retenue)

Catégories formats d'instructions (Ce que vous avez listé)

Vos 6 catégories sont correctes pour les groupes de formats d'instructions :

  1. Traitement données (opérations ALU : ADD, SUB, AND, EOR, MOV, CMP...)
  2. Multiplication (MUL, MLA, UMULL, SMULL, UMLAL, SMLAL)
  3. Échange (Swap) (SWP, SWPB) — accès mémoire atomique
  4. Load/Store (LDR, STR, LDM, STM, LDRH, STRH, LDRSB, LDRSH)
  5. Branchement (B, BL, BX, BLX)
  6. Coprocesseur / Système (CDP, LDC, STC, MCR, MRC, MSR, MRS, SWI/SVC)

Note : « S.M.L.A » fait probablement référence à Signed Multiply Long Accumulate (SMLAL) ou extensions DSP similaires (ARMv5TE). L'ARM7TDMI n'a pas de SMLA ; c'est ARM9E/ARM10E/ARM11.

État Thumb (16 bits) Adressage

  • Sous-ensemble : Offset immédiat (5 bits), Offset registre (sans décalage), Relatif SP, Relatif PC.
  • Pas de pré/post-indexé writeback en Thumb (sauf LDM/STM).
Amplificateurs et préamplis