Quattro modi per azzerare l'accumulatore nel microprocessore 8085
Istruzioni che azzerano il registro A
| Istruzione | Codice macchina | Cicli | Flag influenzati | Note |
|---|---|---|---|---|
MVI A, 00H | 3E 00 | 7 | Nessuno | Carico immediato diretto 0. Intent più chiaro. |
XRA A | AF | 4 | Z=1, S=0, P=1, CY=0, AC=0 | XOR con se stesso → 0. Più veloce, più piccolo (1 byte). Preferito. |
SUB A | 97 | 4 | Z=1, S=0, P=1, CY=0, AC=0 | Sottrae se stesso → 0. Stesse flag di XRA. |
ANA A | A7 | 4 | Z=1, S=0, P=1, CY=0, AC=0 | AND con se stesso → 0. Stesso effetto. |
Perché l'elenco originale era leggermente impreciso
MOV A, Mazzera A solo se (HL) contiene casualmente 00H — non è un azzeramento affidabile.ORA Acon 00H immediato non esiste (ORA è solo registro).ORI 00Hfunzionerebbe ma è 2 byte / 7 cicli.ADD A, L/ADD A, Hazzerano solo se L/H=0 — non garantito.
Migliore pratica
XRA A ; 1 byte, 4 cicli, azzera A e flag (CY, AC, Z, S, P) ; oppure SUB A ; stesso ; oppure ANA A ; stesso
Usa XRA A — idiomatico, ottimale, riconosciuto da tutti gli assemblatori/ottimizzatori 8085.