Je comprends ce que fait XTHL, mais quelqu'un peut-il donner un exemple d'un scénario où l'on pourrait réellement l'utiliser? De plus, si possible, partagez également le code de la demande.Y a-t-il une utilisation de l'instruction XTHL dans un microprocesseur 8085?
0
A
Répondre
0
Une utilisation comprend des arguments de passage aux fonctions de montage comme celui-ci:
CALL function_name
DB 1,2,3 ;arguments
...
function_name:
XTHL
MOV A,M ;get argument
INX H ;move to next argument
...
XTHL ;now return modified return address to stack,
;also restoring HL contents as well
Autre utilisation est d'avoir une copie d'ombre de HL sur le dessus de la pile, par exemple:
DAD B ;hl=hl+bc
XTHL ;'shadow' hl swapped in
JNC no_inc
INX H
no_inc:
DAD D ;hl=hl+de
XTHL
;so we just added 32-bit number in DE:BC to HL:(TOS)
Dans la même manière que vous jongler avec les mots qui sont poussés sur la pile.
Certains abus comprend également ceci:
LXI SP,addr1
XTHL
LXI SP,addr2
XTHL
...
ce code se déplace chaîne de mots de données à travers des endroits pointés par LXI SP,addr
consécutifs commandes. Bien sûr, cela nécessite la désactivation des interruptions, mais le gain est la vitesse.