[Search] [Contact Us]
8052.it - Il sito web italiano dei microcontrollori 8051/52 e derivati  
 Istr. Set 
Move

Sponsor di 8052.it
PRECMA S.r.l.

Tutorial
µC Family
FAQ
Strumenti di Sviluppo
Libri
Bookmarks
Mailing List Forum
Download Area

Prodotti


Il sito 8052.it e' in continua evoluzione: se avete suggerimenti o richieste contattateci




L'autore

 Math   Logic   Flags   Jump 

Corso 8051

SET D'ISTRUZIONI: TRASFERIMENTO DATI

MOV
Istruzione: MOV
Funzione: Trasferisci un byte di Memoria
Sintassi: MOV Operando1,Operando2

Istruzione OpCode N.Byte N.Cicli Flag
MOV @R0,#data 0x76 2 1 Inv
MOV @R1,#data 0x77 2 1 Inv
MOV @R0,A 0xF6 1 1 Inv
MOV @R1,A 0xF7 1 1 Inv
MOV @R0,iram addr 0xA6 2 2 Inv
MOV @R1,iram addr 0xA7 2 2 Inv
MOV A,#data 0x74 2 1 Inv
MOV A,@R0 0xE6 1 1 Inv
MOV A,@R1 0xE7 1 1 Inv
MOV A,R0 0xE8 1 1 Inv
MOV A,R1 0xE9 1 1 Inv
MOV A,R2 0xEA 1 1 Inv
MOV A,R3 0xEB 1 1 Inv
MOV A,R4 0xEC 1 1 Inv
MOV A,R5 0xED 1 1 Inv
MOV A,R6 0xEE 1 1 Inv
MOV A,R7 0xEF 1 1 Inv
MOV A,iram addr 0xE5 2 1 Inv
MOV DPTR,#data16 0x90 3 2 Inv
MOV R0,#data 0x78 2 1 Inv
MOV R1,#data 0x79 2 1 Inv
MOV R2,#data 0x7A 2 1 Inv
MOV R3,#data 0x7B 2 1 Inv
MOV R4,#data 0x7C 2 1 Inv
MOV R5,#data 0x7D 2 1 Inv
MOV R6,#data 0x7E 2 1 Inv
MOV R7,#data 0x7F 2 1 Inv
MOV R0,A 0xF8 1 1 Inv
MOV R1,A 0xF9 1 1 Inv
MOV R2,A 0xFA 1 1 Inv
MOV R3,A 0xFB 1 1 Inv
MOV R4,A 0xFC 1 1 Inv
MOV R5,A 0xFD 1 1 Inv
MOV R6,A 0xFE 1 1 Inv
MOV R7,A 0xFF 1 1 Inv
MOV R0,iram addr 0xA8 2 2 Inv
MOV R1,iram addr 0xA9 2 2 Inv
MOV R2,iram addr 0xAA 2 2 Inv
MOV R3,iram addr 0xAB 2 2 Inv
MOV R4,iram addr 0xAC 2 2 Inv
MOV R5,iram addr 0xAD 2 2 Inv
MOV R6,iram addr 0xAE 2 2 Inv
MOV R7,iram addr 0xAF 2 2 Inv
MOV bit addr,C 0x92 2 2 Inv
MOV iram addr,#data 0x75 3 2 Inv
MOV iram addr,@R0 0x86 2 2 Inv
MOV iram addr,@R1 0x87 2 2 Inv
MOV iram addr,R0 0x88 2 2 Inv
MOV iram addr,R1 0x89 2 2 Inv
MOV iram addr,R2 0x8A 2 2 Inv
MOV iram addr,R3 0x8B 2 2 Inv
MOV iram addr,R4 0x8C 2 2 Inv
MOV iram addr,R5 0x8D 2 2 Inv
MOV iram addr,R6 0x8E 2 2 Inv
MOV iram addr,R7 0x8F 2 2 Inv
MOV iram addr,A 0xF5 2 1 Inv
MOV iram addr,iram addr 0x85 3 1 Inv

Descrizione: MOV copia il valore dell'Operando 2 nell'Operando 1. Il valore dell'Operando 2 rimane inalterato. Ambedue gli operandi devono risiedere nella RAM interna. Nessun flag viene modificato a meno che l'istruzione non trasferisce il valore nel registro PSW (che contiene esso stesso i flag).

** Nota: Nel caso di "MOV iram addr,iram addr" il trasferimento viene effettuato all'inverso delle altre operazioni di mov. Per esempio l'istruzione 0x85, 0x20, 0x20 va interpretata come:
"Carica il contenuto della locazione 0x20 nella locazione 0x50" e non il viceversa come si e' portati a presumere.

Vedi anche: MOVC, MOVX, XCH, XCHD, PUSH, POP, Set d'istruzioni


MOVC
Istruzione: MOVC
Funzione: Trasferisci il byte di codice nell'Accumulatore
Sintassi: MOVC A,@A+Registro

Istruzione OpCode N.Byte N.Cicli Flag
MOVC A,@A+DPTR 0x93 1 2 Inv
MOVC A,@A+PC 0x83 1 1 Inv

Descrizione: MOVC trasferisce un byte di memoria programma nell'Accumulatore. L'indirizzo del byte da trasferire e' calcolato sommando il valore dell'Accumulatore o con DPTR o con il PC (Program Counter). Nel secondo caso il valore del Program Counter viene incrementato di uno prima di essere usato.

Vedi anche: MOV, MOVX, Set d'istruzioni


MOVX
Istruzione: MOVX
Funzione: Trasferisci i dati alla/dalla memoria esterna (XRAM)
Sintassi: MOVX Operando1,Operando2

Istruzione OpCode N.Byte N.Cicli Flag
MOVX @DPTR,A 0xF0 1 2 Inv
MOVX @R0,A 0xF2 1 2 Inv
MOVX @R1,A 0xF3 1 2 Inv
MOVX A,@DPTR 0xE0 1 2 Inv
MOVX A,@R0 0xE2 1 2 Inv
MOVX A,@R1 0xE3 1 2 Inv

Descrizione: MOVX trasferisce un byte alla o dalla memoria esterna dal o all'Accumulatore.

Se l'Operando 1 e' @DPTR, l'Accumulatore e' trasferito nell'indirizzo a 16-bit della memoria esterna indicato da DPTR. Questa istruzione usa entrambe le porte P0 e P2 per trasferire l'indirizzo a 16-bit ed il dato verso l'esterno. Se l'operando 2 e' @DPTR il trasferimento viene eseguito dalla memoria esterna all'Accumulatore.

Se l'Operando 1 e' @R0 o @R1, l'Accumulatore e' trasferito nell'indirizzo a 8-bit della memoria esterna indicata dal registro corrispondente. Questa istruzione usa soltanto la porta P0 per trasferire l'indirizzo a 8-bit ed il dato verso l'esterno. La porta P2 non viene modificata. Se l'operando 2 e' @R0 o @R1 allora il byte viene trasferito dalla memoria esterna all'Accumulatore.

Vedi anche: MOV, MOVC, Set d'istruzioni


POP
Istruzione: POP
Funzione: Prendi il valore dallo Stack
Sintassi: POP

Istruzione OpCode N.Byte N.Cicli Flag
POP iram addr 0xD0 2 2 Inv

Descrizione: POP effettua il "pop" dallo stack all'indirizzo iram addr specificato. L'istruzione POP prende il valore contenuto nella RAM interna puntato dallo stack pointer e lo carica nell'indirizzo iram addr. Lo stack pointer viene poi decrementato di uno.

Vedi anche: PUSH, Set d'istruzioni


PUSH
Istruzione: PUSH
Funzione: Metti il valore nello Stack
Sintassi: PUSH

Istruzione OpCode N.Byte N.Cicli Flag
PUSH iram addr 0xC0 2 2 Inv

Descrizione: PUSH effettua l'operazione di "push" del valore specificato da iram addr nello stack. L'istruzione PUSH, prima incrementa il valore dello stack pointer di uno, poi prende il valore contenuto nell'indirizzo iram addr e lo memorizza nella RAM interna all'indirizzo puntato dallo Stack Poiter.

Vedi anche: POP, Instruction Set


XCH
Istruzione: XCH
Funzione: Scambia i byte
Sintassi: XCH A,Registro

Istruzione OpCode N.Byte N.Cicli Flag
XCH A,@R0 0xC6 1 1 Inv
XCH A,@R1 0xC7 1 1 Inv
XCH A,R0 0xC8 1 1 Inv
XCH A,R1 0xC9 1 1 Inv
XCH A,R2 0xCA 1 1 Inv
XCH A,R3 0xCB 1 1 Inv
XCH A,R4 0xCC 1 1 Inv
XCH A,R5 0xCD 1 1 Inv
XCH A,R6 0xCE 1 1 Inv
XCH A,R7 0xCF 1 1 Inv
XCH A,iram addr 0xC5 2 1 Inv

Descrizione: L'istruzione scambia il valore dell'Accumulatore con il valore del registro indicato nell'istruzione.

Vedi anche: MOV, Instruction Set


XCHD
Istruzione: XCHD
Funzione: Scambia i digit
Sintassi: XCHD A,[@R0/@R1]

Istruzione OpCode N.Byte N.Cicli Flag
XCHD A,@R0 0xD6 1 1 Inv
XCHD A,@R1 0xD7 1 1 Inv

Descrizione: Scambia il nibble meno significato dell'Accumulatore con il nibble meno significativo della locazione di RAM interna indirizzata da R0 o R1. Il nibble piu' significativo dei registri non viene modificato.

Vedi anche: DA, Instruction Set


< SET D'ISTRUZIONI

(C)Copyright 1997, 1998 by Vault Information Services. All Rights Reserved.
Le informazioni sono fornite senza alcuna garanzia (vedi dettagli)
Contattate l'autore Craig Steiner (presso 8052.com) per l'uso e/o il permesso di divulgazione di questo corso.
Traduzione italiana di: Sergio Salvitti

8052.it
Move
 Math   Logic   Flags   Jump 


Site made with Sworg - Simple Web Organizer
 
©Copyright 2001-Today PRECMA S.r.l.
Tutti i diritti riservati