Quatre façons vider l'accumulateur dans microprocesseur 8085
Instructions qui zèrent le registre A
| Instruction | Code machine | Cycles | Drapeaux affectés | Notes |
|---|---|---|---|---|
MVI A, 00H | 3E 00 | 7 | Aucun | Chargement direct immédiat 0. Intention la plus claire. |
XRA A | AF | 4 | Z=1, S=0, P=1, CY=0, AC=0 | XOR avec soi-même → 0. Le plus rapide, le plus petit (1 octet). Préféré. |
SUB A | 97 | 4 | Z=1, S=0, P=1, CY=0, AC=0 | Soustraire soi-même → 0. Mêmes drapeaux que XRA. |
ANA A | A7 | 4 | Z=1, S=0, P=1, CY=0, AC=0 | ET avec soi-même → 0. Même effet. |
Pourquoi la liste originale était légèrement erronée
MOV A, Mne zère A que si (HL) contient par hasard 00H — pas un vidage fiable.ORA Aavec 00H immédiat n'existe pas (ORA est registres seulement).ORI 00Hmarcherait mais 2 octets / 7 cycles.ADD A, L/ADD A, Hne zèrent que si L/H=0 — pas garanti.
Meilleure pratique
XRA A ; 1 octet, 4 cycles, zère A & drapeaux (CY, AC, Z, S, P)
; ou SUB A ; même chose
; ou ANA A ; même chose
Utilisez XRA A — idiomatique, optimal, reconnu par tous assembleurs/optimiseurs 8085.
