Passo Passo Assembly 8085: LNIH 2050, MOV C,M, INX H, MOV A,X, XRA C, STA 2055, HLT
Analisi del Programma
Questa breve routine assembly 8085 carica due byte consecutivi dalla memoria, li XORa, memorizza il risultato e si ferma. Nota: LNIH e MOV A,X sono mnemonici non standard; gli equivalenti presunti sono LXI H,2050H e MOV A,M (dopo INX H).
Analisi Istruzione per Istruzione
| Indirizzo | Istruzione | Operazione | Effetto |
|---|---|---|---|
| — | LXI H, 2050H | Carica coppia H-L con 2050H | HL ← 2050H (indirizzo sorgente) |
| — | MOV C, M | Sposta (HL) → C | C ← byte a 2050H |
| — | INX H | Incrementa H-L | HL ← 2051H (byte successivo) |
| — | MOV A, M | Sposta (HL) → A | A ← byte a 2051H |
| — | XRA C | XOR esclusivo A con C | A ← A ⊕ C; flag aggiornati |
| — | STA 2055H | Memorizza A → 2055H | Memoria[2055H] ← A (risultato) |
| — | HLT | Arresta CPU | Esecuzione ferma |
Funzione Complessiva
Risultato = Mem[2050H] XOR Mem[2051H], memorizzato a 2055H.
Casi d'Uso Pratici
- Calcolo semplice di checksum / parità su due byte.
- Confronto bit per bit: risultato = 0 se i byte sono identici; diverso da zero mostra i bit differenti.
- Passo di offuscamento / crittografia di base (XOR con chiave).
Flag Influenzati da XRA
- S, Z, P: Riflettono il risultato (Zero se i byte sono uguali).
- CY, AC: Cancellati (sempre 0 per operazioni logiche).
Questo frammento dimostra operazioni fondamentali 8085: indirizzamento memoria tramite HL, logica registro-registro e memorizzazione diretta in memoria.