English
Language : 

DS80C320-MCG Datasheet, PDF (86/175 Pages) Dallas Semiconductor – High-Speed Microcontroller User Guide
High-Speed Microcontroller User’s Guide
64 BYTE BLOCK MOVE WITH DUAL DATA POINTER
; SH and SL are high and low byte source address.
; DH and DL are high and low byte of destination address.
; DPS is the data pointer select. Reset condition DPTR0.
# CYCLES
DPS
EQU 86h
; TELL ASSEMBLER ABOUT DPS
MOV
R5, #64
; NUMBER OF BYTES TO MOVE
2
MOV
DPTR, #DHDL ; LOAD DESTINATION ADDRESS
3
INC
DPS
; CHANGE ACTIVE DPTR
2
MOV
DPTR, #SHSL ; LOAD SOURCE ADDRESS
2
MOVE:
; THIS LOOP IS PERFORMED R5 TIMES, IN THIS EXAMPLE 64
MOVX
A, @DPTR
; READ SOURCE DATA BYTE
INC
DPS
; CHANGE DPTR TO DESTINATION
MOVX
@DPTR, A
; WRITE DATA TO DESTINATION
INC
DPTR
; NEXT DESTINATION ADDRESS
INC
DPS
; CHANGE DATA POINTER TO SOURCE
INC
DPTR
; NEXT SOURCE ADDRESS
DJNZ
R5, MOVE
; FINISHED WITH TABLE?
64 BYTE BLOCK MOVE WITHOUT DUAL DATA POINTER
; SH and SL are high and low byte source address.
; DH and DL are high and low byte of destination address.
MOV
R5, #64d
; NUMBER OF BYTES TO MOVE
MOV
DPTR, #SHSL ; LOAD SOURCE ADDRESS
MOV
R1, #SL
; SAVE LOW BYTE OF SOURCE
MOV
R2, #SH
; SAVE HIGH BYTE OF SOURCE
MOV
R3, #DL
; SAVE LOW BYTE OF DESTINATION
MOV
R4, #DH
; SAVE HIGH BYTE OF DESTINATION
2
2
2
3
2
3
3
# CYCLES
2
3
2
2
2
2
MOVE:
; THIS LOOP IS PERFORMED R5 TIMES, IN THIS EXAMPLE 64
MOVX
A, @DPTR
; READ SOURCE DATA BYTE
MOV
R1, DPL
; SAVE NEW SOURCE POINTER
MOV
R2, DPH
;
MOV
DPL, R3
; LOAD NEW DESTINATION
MOV
DPH, R4
;
MOVX
@DPTR, A
; WRITE DATA TO DESTINATION
INC
DPTR
; NEXT DESTINATION ADDRESS
MOV
R3, DPL
; SAVE NEW DESTINATION POINTER
MOV
R4, DPH
;
MOV
DPL, R1
; GET NEW SOURCE POINTER
MOV
DPH, R2
;
INC
DPTR
; NEXT SOURCE ADDRESS
DJNZ
R5, MOVE
; FINISHED WITH TABLE?
2
2
2
2
2
2
3
2
2
2
2
3
3
86 of 175