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

Modes d'adressage 8086 Assembly : référence complète

Modes d'adressage mémoire de l'Intel 8086/8088

Le 8086 offre façons flexibles de former l'adresse effective 20 bits (EA) depuis registres 16 bits. Les comprendre est clé pour prog assembleur efficace.

1. Adressage registre

Opérande dans registre. MOV AX, BX — pas d'accès mémoire.

2. Adressage immédiat

Opérande encodé dans instruction. MOV CX, 1234h.

3. Adressage direct (absolu)

Offset 16 bits dans instruction. MOV AL, [1234h] → EA = DS:1234h.

4. Adressage indirect registre

Offset dans BX, SI, DI, ou BP. MOV DX, [SI] → EA = DS:SI (BP utilise SS).

5. Adressage basé

Registre base (BX ou BP) + déplacement 8/16 bits. MOV AX, [BX+10h].

6. Adressage indexé

Registre index (SI ou DI) + déplacement. MOV CL, [DI+20h].

7. Adressage basé indexé

Base (BX/BP) + Index (SI/DI). MOV BX, [BP+SI] → EA = SS:BP+SI.

8. Adressage basé indexé avec déplacement

Base + Index + disp8/16. MOV [BX+DI+4], AL.

9. Adressage chaîne (implicite)

MOVSB, CMPSW, STOSB… utilisent DS:SI (source) et ES:DI (dest) ; auto-inc/dec selon flag DF.

10. Adressage port E/S

  • Direct : IN AL, 3F8h (port 8 bits).
  • Indirect : IN AL, DX (port 16 bits dans DX).

Préfixes surcharge segment

Tout mode mémoire peut préfixer CS:, DS:, ES:, SS:, FS:, GS: (386+) pour sélectionner segment.

Calcul adresse effective (mode réel)

EA = (Segment × 16) + Offset. Offset = somme base + index + déplacement selon mode.

Choisir bon mode réduit octets instruction, cycles, pression registres — critique en code 16-bit mode réel.

Amplificateurs et préamplis