Istruzione MOV A, M del Microprocessore 8085: Sposta Memoria nell'Accumulatore
Nel microprocessore Intel 8085, MOV A, M copia il byte dalla posizione di memoria indirizzata dalla coppia di registri HL nell'Accumulatore (A).
Dettagli Istruzione
| Proprietà | Valore |
|---|---|
| Mnemonico | MOV A, M |
| Opcode (Esadecimale) | 7E |
| Operazione | A ← [HL] |
| Flag Influenzati | Nessuno (S, Z, AC, P, CY invariati) |
| Byte | 1 |
| Cicli Macchina | 2 (Fetch Opcode + Lettura Memoria) |
| T-States | 7 (4 + 3) |
| Modalità di Indirizzamento | Registro Indiretto (tramite HL) |
Come Funziona
- PC → fetch opcode
7Edalla memoria. - Decoder riconosce
MOV A, M. - Coppia HL (H=byte alto, L=byte basso) contiene indirizzo memoria 16 bit.
- Ciclo lettura memoria: bus indirizzi ← HL; bus dati → byte a quell'indirizzo.
- Byte caricato in Accumulatore (A). HL invariato.
Pattern di Utilizzo Comuni
; Carica dati da indirizzo 2050H in A LXI H, 2050H ; Carica HL con 2050H (3 T-states) MOV A, M ; A ← [2050H] (7 T-states) ; Copia blocco memoria (es. 10 byte da 3000H a 4000H) LXI H, 3000H ; Sorgente LXI D, 4000H ; Destinazione MVI C, 0AH ; Contatore = 10 LOOP: MOV A, M ; Leggi sorgente STAX D ; Scrivi su dest (A → [DE]) INX H ; Sorgente++ INX D ; Destinazione++ DCR C ; Contatore-- JNZ LOOP ; Ripeti finché 0 Istruzioni Correlate
| Mnemonico | Operazione | Opcode | Caso d'Uso |
|---|---|---|---|
MOV M, A | [HL] ← A | 77 | Salva A in memoria (HL) |
LDA addr | A ← [addr] | 3A | Caricamento diretto (3 byte, 13 T) |
STA addr | [addr] ← A | 32 | Salvataggio diretto (3 byte, 13 T) |
LDAX B/D | A ← [BC/DE] | 0A/1A | Carica tramite coppia BC/DE (7 T) |
STAX B/D | [BC/DE] ← A | 02/12 | Salva tramite coppia BC/DE (7 T) |
Punto Chiave
MOV A, M è il modo più veloce per caricare da un indirizzo calcolato/variabile (tramite HL). LDA è per indirizzi fissi noti al momento dell'assemblaggio. Usa HL per puntatori, array, stack, buffer.