Melakukan pemindahan data dari variabel pada kode operasi kedua dan disimpan di variabel pada kode operasi pertama.

Transfer Data MCS51
MOV A,Rn
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|-------------|-----------|----|----|-----|-----|----|---|---|
| 1 | 1 | Mov A,Rn | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari Rn (R0...R7) menuju ke akumulator A
MOV A,direct
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|-------------|--------------|----|----|-----|-----|----|---|---|
| 1 | 2 | Mov A,direct | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari alamat langsung ke akumulator A.
MOV A,@Ri
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|-------------|-----------|----|----|-----|-----|----|---|---|
| 1 | 1 | Mov A,@Ri | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari alamat yang ditunjuk oleh Register Index (R0 atau R1) menuju ke akumulator A.
MOV A,#data
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|-------------|-------------|----|----|-----|-----|----|---|---|
| 1 | 2 | Mov A,#data | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari immediate menuju ke akumulator A.
Contoh:
Data EQU 05H
Mov A,#Data
Konstanta Data yang dideklarasikan sebagai 05H dipindah ke akumulator A sehingga nilai akumulator A menjadi 05H.
MOV Rn,A
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|-------------|-----------|----|----|-----|-----|----|---|---|
| 1 | 1 | Mov Rn,A | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari akumulator A menuju ke Rn (R0...R7).
MOV Rn,direct
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|---------------|----|----|-----|-----|----|---|---|
| 2 | 2 | Mov Rn,direct | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari alamat langsung menuju ke Rn (R0...R7).
Contoh:
Mov R7,10H
Data di alamat 10H dipindah ke dalam R7.
MOV Rn,#data
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|-------------|--------------|----|----|-----|-----|----|---|---|
| 1 | 2 | Mov Rn,#data | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari immediate menuju ke Rn (R0...R7).
Contoh:
Mov R7,#05H
Data 05H dipindah ke dalam R7.
MOV direct,A
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|-------------|--------------|----|----|-----|-----|----|---|---|
| 1 | 2 | Mov direct,A | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari akumulator A menuju ke alamat langsung.
Contoh:
Mov 10H,A
Data di akumulator A dipindah ke alamat 10H.
MOV direct,Rn
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|-------------|---------------|----|----|-----|-----|----|---|---|
| 2 | 2 | Mov direct,Rn | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari Rn (R0...R7) menuju ke alamat langsung.
MOV direct,direct
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|-------------|-------------------|----|----|-----|-----|----|---|---|
| 2 | 3 | Mov direct,direct | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari alamat langsung menuju ke alamat langsung.
Contoh:
Mov P1,P2
P1 adalah register yang terletak di alamat 90H dan P2 adalah register yang terletak di alamat A0H, oleh karena itu instruksi di atas adalah sama dengan Mov 90H,0A0H. Artinya, data di alamat 90H atau di Port 1, dipindah ke alamat 0A0H atau Port 2.
MOV direct,@Ri
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|-------------|----------------|----|----|-----|-----|----|---|---|
| 2 | 2 | Mov direct,@Ri | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari alamat yang ditunjuk oleh Register Index (R0 atau R1) ke alamat langsung.
Contoh:
Mov 05H,@R0
Bila R0 sebelumnya berisi 20H, maka nilai atau data yang tersimpan di alamat 20H akan dipindah ke alamat 05H.
MOV direct,#data
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|-------------|------------------|----|----|-----|-----|----|---|---|
| 2 | 3 | Mov direct,#data | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari immediate ke alamat langsung.
MOV @Ri,A
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|-----------|----|----|-----|-----|----|---|---|
| 1 | 1 | Mov @Ri,A | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari akumulator A menuju ke alamat yang ditunjuk oleh Register Index (R0 atau R1).
MOV @Ri,direct
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|----------------|----|----|-----|-----|----|---|---|
| 2 | 2 | Mov @Ri,direct | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari alamat langsung menuju ke alamat yang ditunjuk oleh Register Index (R0 atau R1).
MOV @Ri,#data
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|---------------|----|----|-----|-----|----|---|---|
| 1 | 2 | Mov @Ri,#data | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data immediate menuju ke alamat yang ditunjuk oleh Register Index (R0 atau R1).
MOV DPTR,#data16
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|------------------|----|----|-----|-----|----|---|---|
| 2 | 3 | Mov DPTR,#data16 | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data immediate 16 bit menuju ke DPTR.
Contoh:
Mov DPTR,#2000H
Data 2000H dalam bentuk 16 bit dipindah ke alamat Register DPTR yang terdiri dari DPH dan DPL.
MOVC A,@A+DPTR
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|----------------|----|----|-----|-----|----|---|---|
| 2 | 1 | Movc A,@A+DPTR | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari memori program yang ditunjuk oleh DPTR dengan indeks akumulator A menuju ke akumulator A. Pada instruksi ini, mikrokontroler akan membaca memori program, yaitu sebuah memori yang ada dalam Flash PEROM AT89C51 atau pada sebuah komponen memori di luar AT89C51 yang di mana input RD dari memori tersebut terhubung dengan PSEN. Sinyal PSEN aktif pada saat instruksi ini dijalankan.
Contoh:
Mov A,#50H
Mov DPTR,#2000H
Movc A,@A+DPTR
Data yang terletak di komponen memori di luar AT89C51 dan terletak pada alamat 2000H + 50H akan dibaca dan hasilnya disimpan di akumulator A
MOVC A,@A+PC
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|--------------|----|----|-----|-----|----|---|---|
| 2 | 1 | Movc A,@A+PC | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari memori program yang ditunjuk oleh PC (Program Counter) dengan indeks akumulator A menuju ke akumulator A. Pada instruksi ini, mikrokontroler akan membaca memori program, yaitu sebuah memori yang ada dalam Flash PEROM AT89C51 atau pada sebuah komponen memori di luar AT89C51 yang di mana input RD dari memori tersebut terhubung dengan PSEN. Sinyal PSEN aktif pada saat instruksi ini dijalankan.
Contoh:
Mov A,#50H
Movc A,@A+PC
Apabila pada saat itu Program Counter sedang berada di alamat 2100H, maka data yang terletak di komponen memori di luar AT89C51 dan terletak pada alamat 2100H + 50H akan dibaca dan hasilnya disimpan di akumulator A.
MOVX A,@RI
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|------------|----|----|-----|-----|----|---|---|
| 2 | 1 | Movx A,@Ri | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari memori eksternal (komponen memori di luar AT89C51) ke akumulator A. Jalur alamat dan data dari memori tersebut terhubung melalui Port 0 dan proses pengiriman alamat serta pengambilan data dilakukan secara bergantian (multiplex) Alamat dari memori terdiri dari 8 bit sehingga kapasitas maksimal dari memori adalah 256 byte.
Contoh:
Mov R0,#50H
Movx A,@R0
Data di alamat 50H dari memori eksternal dipindah ke akumulator A.
MOVX A,@DPTR
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|--------------|----|----|-----|-----|----|---|---|
| 2 | 1 | Movx A,@DPTR | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari memori eksternal yang ditunjuk oleh DPTR menuju ke akumulator A. Berbeda dengan MOVC, pada saat instruksi ini dijalankan, sinyal yang muncul adalah sinyal RD (bukan PSEN), sehingga memori eksternal di mana input RDnya terhubung dengan RD dari AT89C51 yang terbaca.
Contoh:
Mov DPTR,#2500H
Movx A, @DPTR
Data yang terletak di alamat 2500H dipindah ke akumulator A.
MOVX @RI,A
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|-------------|------------|----|----|-----|-----|----|---|---|
| 2 | 1 | Movx @Ri,A | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari akumulator A ke memori eksternal yang ditunjuk oleh Register Indeks. Jalur alamat dan data dari memori tersebut terhubung melalui Port 0 dan proses pengiriman alamat serta pengiriman data dilakukan secara bergantian (multiplex) Alamat dari memori terdiri dari 8 bit sehingga kapasitas maksimal dari memori adalah 256 byte.
Contoh:
Mov R0,#60H
Movx @R0,A
Data di akumulator A dipindah ke alamat yang ditunjuk oleh R0 pada memori eksternal.
MOVX @DPTR,A
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|-------------|--------------|----|----|-----|-----|----|---|---|
| 2 | 1 | Movx @DPTR,A | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | | | | | | | | |
Melakukan pemindahan data dari akumulator A ke alamat yang ditunjuk oleh DPTR pada memori eksternal.
Contoh:
Mov A,#55H
Mov DPTR,#3000H
Movx @DPTR,A
Data 55H pada akumulator A dipindah ke alamat 3000H yang terletak pada memori eksternal.