Tutorial Sezione Assembler

Dettaglio Istruzioni 

Le Schede del Tutorial

  Istruzioni della Cpu 80x86

SCHEDA n° 07 [I/ 122 di 198] 

    

    MOV - Sposta dati
     
bulletQuesta istruzione copia l'operando sorgente nell'operando destinazione.
bulletOvviamente l'operando sorgente rimane inalterato mentre quello precedentemente contenuto dall'operando destinazione viene sovrascritto (che quindi perduto!).
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):
         
MOV  Destinazione  <<  Sorgente

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

MOV

AX,ES

2 2 2 3 no 2                   
MOV ES,BX
MOV ES,[Depo02] 8+EA 5 5 3 1 2,4
MOV [Depo02],DS 9+EA 3 2 3
  
MOV

DX,BX

2 2 2 2 no 2
MOV

DL,BH

MOV

CL,[Depo01]

 8+EA 5 4 1 1 2,4

MOV

CX,[Depo02]

12+EA

MOV

[Depo01],BL

9+EA 3 2 1 1 2,4

MOV

[Depo02],BX

13+EA
          

MOV

SI,1234H

4 3 2 1 no 3,4

MOV

[Depo02],02H

10+EA 3 2 1 1 3,6

MOV

[Depo02],1234H

14+EA
          

MOV

AL,02

4 2 2 1 no 2,3
MOV

AL,[Depo01]

10 5 4 1 1 3
MOV

[Depo01],AL

MOV

AX,[Depo02]

14
MOV

[Depo02],AX

         
bulletLa tabella evidenzia che l'istruzione non modifica le flag; le tipologie dei suoi operandi sono:
bullettra registro e registro di segmento, o tra registro di segmento e memoria, o tra memoria e registro di segmento.
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 o accumulatore e memoria.
     
bulletQuesta istruzione ha un rapporto privilegiato con i registri di segmento; la figura seguente mostra che l'unico modo per inizializzarli è tramite registro o memoria, non è possibile, infatti, caricarli direttamente (cioè in modo immediato, con un numero).
bulletDa notare che, quando si carica il registro SS, le interruzioni mascherabili sono disabilitate, sebbene alcune Cpu provvedano a questo servizio anche con gli altri registri di segmento.
          

Addr

Codifica Masm

Sequenza Bytes

Istruzione

0100
0101
55
55AA
55
AA 55
Depo01 
Depo02
DB 55H
DW 55AAH
---- ---------------- ----------------- ------- ----------------------
0103
0105
0107
010B
8C C0
8E C3
8E 06 0101
8C 1E 0101
8C C0
8E C3
8E 06 01 01
8C 1E 01 01
MOV AX,ES
MOV ES,BX
MOV ES,[
Depo02]
MOV [
Depo02],DS
         
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

010F
0111
0113
0117
011B
011F

0123
0126
012C

0132
0134
0137
013A
013D
8B D3           
8A D7
8A 0E 0100
8B 0E 0101
88 1E 0100
89 1E 0101

BE 1234
C7 06 0101 0002
C7 06 0101 1234

B0 02
A0 0100
A2 0100
A1 0101
A3 0101 
8B D3            
8A D7
8A 0E 00 01
8B 0E 01 01
88 1E 00 01
89 1E 01 01

BE 34 12
C7 06 01 01 0002
C7 06 01 01 34 12

B0 02
A0 00 01
A2 00 01
A1 01 01
A3 01 01
        MOV DX,BX             
MOV DL,BH
MOV CL,[Depo01]
MOV CX,[
Depo02]
MOV [Depo01],BL
MOV [
Depo02],BX

MOV SI,1234H
MOV [
Depo02],02H
MOV[
Depo02],1234H

MOV AL,02H
MOV AL,[Depo01]
MOV [Depo01],AL
MOV AX,[
Depo02]
MOV [
Depo02],AX
         
bulletNon va dimenticato il rapporto speciale di questa istruzione con i Registri speciali, tipiche degli ultimi processori, dal 80286; la tabella seguente si limita a farne una significativa raccolta:
          

Addr

Codifica Masm

Sequenza Bytes

Istruzione

0100
0103
0106
0109
010C
010F

0112
0115
0118
011B
011E
0121
0124
0127

012A
012D
0130
0133
0F 20 C3        
0F 20 D3
0F 20 DB
0F 22 C3
0F 22 D3
0F 22 DB

0F 21 C1
0F 21 C9
0F 21 D1
0F 21 D9
0F 23 C1
0F 23 C9
0F 23 D1
0F 23 D9

0F 24 F2
0F 26 F2
0F 24 FA
0F 26 FA
0F 20 C3         
0F 20 D3
0F 20 DB
0F 22 C3
0F 22 D3
0F 22 DB

0F 21 C1
0F 21 C9
0F 21 D1
0F 21 D9
0F 23 C1
0F 23 C9
0F 23 D1
0F 23 D9

0F 24 F2
0F 26 F2
0F 24 FA
0F 26 FA
        MOV EBX,CR0           
MOV EBX,CR2
MOV EBX,CR3
MOV CR0,EBX
MOV CR2,EBX
MOV CR3,EBX

MOV ECX,DR0
MOV ECX,DR1
MOV ECX,DR2
MOV ECX,DR3
MOV DR0,ECX
MOV DR1,ECX
MOV DR2,ECX
MOV DR3,ECX

MOV EDX,TR6
MOV TR6,EDX
MOV EDX,TR7
MOV TR7,EDX

    

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 122 - MOV

    

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