Maxim-integrated High-Speed Microcontroller Uživatelský manuál Strana 83

  • Stažení
  • Přidat do mých příruček
  • Tisk
  • Strana
    / 176
  • Tabulka s obsahem
  • ŘEŠENÍ PROBLÉMŮ
  • KNIHY
  • Hodnocené. / 5. Na základě hodnocení zákazníků
Zobrazit stránku 82
High-Speed Microcontroller User’s Guide
Rev: 062210 83 of 176
6.5.2 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.
# CYCLES
MOV R5, #64d ; NUMBER OF BYTES TO MOVE 2
MOV DPTR, #SHSL ; LOAD SOURCE ADDRESS 3
MOV R1, #SL ; SAVE LOW BYTE OF SOURCE 2
MOV R2, #SH ; SAVE HIGH BYTE OF SOURCE 2
MOV R3, #DL ; SAVE LOW BYTE OF DESTINATION 2
MOV R4, #DH ; SAVE HIGH BYTE OF DESTINATION 2
MOVE:
; THIS LOOP IS PERFORMED R5 TIMES, IN THIS EXAMPLE 64
MOVX A, @DPTR ; READ SOURCE DATA BYTE 2
MOV R1, DPL ; SAVE NEW SOURCE POINTER 2
MOV R2, DPH ; 2
MOV DPL, R3 ; LOAD NEW DESTINATION 2
MOV DPH, R4 ; 2
MOVX @DPTR, A ; WRITE DATA TO DESTINATION 2
INC DPTR ; NEXT DESTINATION ADDRESS 3
MOV R3, DPL ; SAVE NEW DESTINATION POINTER 2
MOV R4, DPH ; 2
MOV DPL, R1 ; GET NEW SOURCE POINTER 2
MOV DPH, R2 ; 2
INC DPTR ; NEXT SOURCE ADDRESS 3
DJNZ R5, MOVE ; FINISHED WITH TABLE? 3
Zobrazit stránku 82
1 2 ... 78 79 80 81 82 83 84 85 86 87 88 ... 175 176

Komentáře k této Příručce

Žádné komentáře