Tutorial Sezione Assembler

Dettaglio Istruzioni 

Le Schede del Tutorial

  Istruzioni della Cpu 80x86

SCHEDA n° 07 [I/ 025 di 198] 

    

    CMP - Confronta 2 operandi modificando le flags
     
bulletQuesta istruzione confronta 2 operandi e modifica le flag in funzione del risultato.
bulletIn pratica simula la sottrazione del sorgente dalla destinazione senza però alterare il contenuto della destinazione (come farebbe invece l'effettiva sottrazione, SUB); questo basta per modificare le flag coinvolte dal risultato e a favorire gli eventuali salti condizionati (Jxx) conseguenti.
bulletGli operandi possono avere dimensione di un byte, di una word o di una doubleword ( con 80386/486).
bulletLe sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni Legenda della Tabella):
         
CMP Destinazione, Sorgente
CMP
1°_dato, 2°_dato
 Cambia le Flag    simulando    [ 1°_dato  -  2°_ dato]
 

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

CMP

DX,BX

3 2 2 1 no 2 #       # # # # #

CMP

CL,[Depo01]

 9+EA 6 6 2 1 2,4

CMP

CX,[Depo02]

13+EA

CMP

[Depo01],BL

9+EA 7 5 2 1 2,4

CMP

[Depo02],BX

13+EA
                    

CMP

SI,1234H

4 3 2 1 no 3,4

CMP

[Depo01],02H

10+EA 6 5 2 1 3,6

CMP

[Depo02],1234H

14+EA
                    
CMP

AL,02

4 3 3 1 no 2,3
         
bulletLa tabella evidenzia le 3 tipologie degli operandi di questa istruzione:
bullettra registro e registro, o tra registro e memoria, o tra memoria e registro.
bullettra registro e costante, o tra memoria e costante.
bullettra accumulatore e costante.
     
bulletLa figura seguente mostra le risorse richieste da questa istruzione in funzione degli operandi e del tipo di indirizzamento coinvolti (leggi le istruzioni):
          

Addr

Codifica Masm

Sequenza Bytes

Istruzione

0100
0101
55
55AA
55
AA 55
Depo01 
Depo02
DB 55H
DW 55AAH
---- ---------------- ----------------- ------- ----------------------
0103
0105
0109
010D
0111
0115
0119
011E
0124

0126
012B
0130
0135
013A
B3 D3
3A 0E 0100 
3B 0E 0101
38 1E 0100
39 1E 0101
81 FE 1234 
80 3E 0100 02 
81 3E 0101 1234 
3C 02

2E A0 06 0100 
2E B0 06 0101
2E 80 06 0100 
2E 90 06 0101
3D 1122
B3 D3  
3A 0E 00 01 
3B 0E 01 01
38 1E 00 01 
39 1E 01 01
81 FE 34 12 
80 3E 00 01 02 
81 3E 01 01 34 12  
3C 02

2E A0 06 00 01 
2E B0 06 01 01
2E 80 06 00 01 
2E 90 06 01 01
3D 22 11
CMP DX,BX
CMP CL,[Depo01]
CMP CX,[Depo02]
CMP [Depo01],BL
CMP [Depo02],BX
CMP SI,1234H
CMP [Depo01],02H
CMP [Depo02],1234H
CMP AL,02H

CMP AL,CS:[Depo01]
CMP AX,CS:[Depo02]
CMP CS:[Depo01],AL
CMP CS:[Depo02],AX
CMP AX,1122H

    

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 025 - CMP

    

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