INSTRUCTION SET S3C8245/P8245/C8249/P8249
6-56
LDCI/LDEI Load Memory and Increment
LDCI/LDEI dst,src
Operation: dst src
rr rr + 1
These instructions are used for user stacks or block transfers of data from program or data memory
to the register file. The address of the memory location is specified by a working register pair. The
contents of the source location are loaded into the destination location. The memory address is
then incremented automatically. The contents of the source are unaffected.
LDCI refers to program memory and LDEI refers to external data memory. The assembler makes 'Irr'
even for program memory and odd for data memory.
Flags: No flags are affected.
Format:
Bytes Cycles Opcode
(Hex) Addr Mode
dst src
opc dst | src 2 10 E3 rIrr
Examples: Given: R6 = 10H, R7 = 33H, R8 = 12H, program memory locations 1033H = 0CDH and
1034H = 0C5H; external data memory locations 1033H = 0DDH and 1034H = 0D5H:
LDCI R8,@RR6 ;0CDH (contents of program memory location 1033H) is loaded
;into R8 and RR6 is incremented by one (RR6 RR6 + 1)
;R8 = 0CDH, R6 = 10H, R7 = 34H
LDEI R8,@RR6 ;0DDH (contents of data memory location 1033H) is loaded
;into R8 and RR6 is incremented by one (RR6 RR6 + 1)
;R8 = 0DDH, R6 = 10H, R7 = 34H