>> Technologie Électronique >  >> Radio par satellite >> XM

Instructions 8086 XCHG et XLAT expliquées : Échange & Recherche table

XCHG – Échange

Syntaxe : XCHG dest, src (registre/registre, registre/mémoire, mémoire/registre)

Action : Échange atomiquement les deux opérandes. Aucune autre instruction ne peut interrompre l'échange — utile pour sémaphores ou algorithmes sans verrou.

Exemple : XCHG AX, BX échange valeurs 16-bit dans AX et BX.

Cas spécial : XCHG AX, reg fait 1 octet (opcode 0x90+reg), en faisant le classique NOP quand AX,AX.

XLAT – Traduction octet via table recherche

Syntaxe : XLAT (opérandes implicites)

Prérequis :

  • AL = index 8-bit (0–255)
  • DS:BX = adresse base table 256-octets traduction

Action : AL ← [DS:BX + AL]. Remplace AL par octet table à cet offset.

Exemple pratique : Minuscule vers Majuscule

.data uptable db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`' .code MOV BX, OFFSET uptable MOV AL, 'a' ; 61h XLAT ; AL = 'A' (41h) 

XLAT est recherche table mono-instruction, 11 cycles — pratique pour conversion jeux caractères, nibble-vers-hex, ou petites machines d'états.

XM