|
Microcontroller Kits
Programmer
and Target 89s51
Simple
Mikrokontroller 89s51 Trainer

Standart
Mikrokontroller 89s51 Trainer

Super Mikrokontroller
Trainer 89s51
+
All Item Include
Programmer
Via USB
|
|
BACK
Data Transfer
Internal RAM
Table 3 shows the menu of instructions that are available for moving
data around within the internal memory spaces, and the addressing modes
that can be used with each one. With a 12MHz clock, all of these instructions
execute in either 1 or 2ms. The MOV <dest>, <src> instruction
allows data to be transferred between any two internal RAM or SFR locations
without going through the Accumulator. Remember, the Upper 128 bytes
of data RAM can be accessed only by indirect addressing, and SFR space
only by direct addressing.The Data Transfer instructions include a 16-bit
MOV that can be used to initialize the Data Pointer (DPTR) for look-up
tables in Program Memory, or for 16-bit external Data Memory accesses.
Table 1.4.3. MCS-51 Data Transfer Instruction
Mnemonic
|
Operation
|
Addressing Mode |
Exect. |
Dir |
Ind |
Reg |
Imm |
Timer uS |
| Mov A,<src> |
A=<src> |
V |
V |
V |
V |
1 |
| Mov <dest>,A |
<dest>=A |
V |
V |
V |
V |
1 |
| Mov <dest>, <src> |
<dest>=<src> |
V |
V |
V |
V |
1 |
| Mov DPTR,#data16 |
DPTR=16 bit immediate const |
Accumulator Only |
1 |
| Push <src> |
Inc SP |
V |
V |
V |
|
1 |
| Pop <src> |
Dec SP |
Data Pointer Only |
2 |
| Xch A,<byte> |
Acc and <byte> exchange data |
Accumulator Only |
1 |
| Xchd A,@Ri |
Acc and @Ri exchange low nibbles |
V |
V |
V |
|
1 |
;Lesson 1.4.1.
Org 0h
Start:Mov A,#1 ; put 1 into the accumulator
ADD A,#2 ; add the constant 2 to Accumulator (1+2)
Mov 78h,#3 ; put 3 into internal RAM 78h ADD A, 78h ; add Acc and RAM 78h content Mov R0, #79h; put 79 into R0
Mov @R0, #4 ; put 4 into RAM 79h
ADD A,@R0 ; add Acc and RAM 79h content
Mov R5, #5 ; put 5 into R5
ADD A,R5 ; add Acc and R5
end
;Lesson 1.4.2.
Org 0h
Start:Mov 78h,#34h ; [ 78h ] = 34h
Mov 79h,#12h ; [ 79h ] =12h
Mov 7Ah,#0EFh; [ 7Ah ] = EFh
Mov 7Bh,#12h ; [ 7Bh ] = 12h
Mov A,78h ; A = [ 78h ]
Add A,7Ah ; A = A + [ 78h ]
Mov 78h,A ; [ 78h ] = A
Mov A,79h ; A = [ 79h ]
ADDC A,7Bh ; A = A + [ 7Bh ] + C
Mov 79h,A ; [ 79h ] = A
end
Comments,
questions and discussion about this topic
|
|
|
|