Tutorial Sezione Assembler

Dettaglio Istruzioni 

Le Schede del Tutorial

  Istruzioni della Cpu 80x86

SCHEDA n° 07 [I/ 030 di 198] 

    

    CMPXCHG - Confronta un operando con l'accumulatore e scambia
     
bulletQuesta istruzione non appartiene al Set dell'8088/86; si usa solo con 80486.
bulletIl suo compito è quello di confrontare il contenuto dell'accumulatore con l'operando destinazione; naturalmente la dimensione dell'operando determina anche la parte dell'accumulatore coinvolta nel confronto, AL, AX o EAX.
bulletSe i valori sono uguali l'operando sorgente viene copiato in quello destinazione; altrimenti l'operando destinazione è copiato nell'accumulatore.
bulletLe sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni Legenda della Tabella):
         
CMPXCHG Destinazione, Sorgente   Destinazione=Sorgente         se  Destinazione  = Accumulatore
  Accumulatore=Destinazione  se   Destinazione <> Accumulatore
 

Esempio di Applicazione

Cicli di Clock Mem
Acces

Bytes
Flag   influenzate
Mnemonico Operandi 86 268 386 486 O D I T S Z A P C

CMPXCHG

CS:[Depo01],CL

no no no 7-10 no 2 #       # # # # #

CMPXCHG

DS:[Depo02],BX

no no no 7-10 no 2 #       # # # # #

CMPXCHG

DX,BX

no no no 6 no 2 #       # # # # #
         
bulletLa tabella evidenzia le tipologie degli operandi di questa istruzione:
bullettra memoria e registro o tra registro e registro.
bulletSe il confronto tra memoria e registro da esito negativo è necessario aggiungere 3 cicli di clock.
          
bulletLa figura seguente mostra le risorse richieste da questa istruzione in funzione degli operandi e del tipo di indirizzamento coinvolti (leggi le istruzioni); da notare che, per evitare errori di compilazione, è necessario specificare, all'inizio del sorgente, la pseudoOperazione .486:
          

Addr

Codifica Masm

Sequenza Bytes

Istruzione

.486
0100
0101
55
55AA
55
AA 55
Depo01 
Depo02
DB 55H
DW 55AAH
---- ---------------- ----------------- ------- ----------------------
0103
0109
010F
0112
0115
2E 0F A6 0E 0100
3E 0F A7 1E 0101
0F A7 DA
0F A7 C8
0F A6 C8
2E 0F A6 0E 00 01
3E 0F A7 1E 01 01
0F A7 DA
0F A7 C8
0F A6 C8
CMPXCHG CS:[Depo01],CL
CMPXCHG DS:[Depo02],BX
CMPXCHG DX,BX
CMPXCHG AX,CX
CMPXCHG AL,CL

    

Pagina Precedente Scheda n° 07 Pagina Successiva Istruzioni Cpu 80x86 Torna al Menu delle Schede del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
Istruzione 030 - CMPXCHG

    

SCHEDE » 1.Header EXE 2.PseudoOp MASM 3.Differenza tra Macro e Procedure
4.
Tabella Vettori 5.PSP 6.Stack 7.Istruzioni 80x86
8.La misura dell'Informazione 9.Numeri e Logica Binaria
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati