64
Rabbit 2000/3000 Microprocessor
Description
These instructions are used to access 20-bit addresses. In all cases, the four most significant bits of the 20-bit
address (bits 19 through 16) are defined as the four least significant bits of the Accumulator (bits 3 though 0).
The LDP instructions bypass the MMU’s address translation unit for direct access to the 20-bit memory
address space. These instructions are implemented for the Rabbit and are not available for the Z180.
•
LDP (mn),HL:
Loads the memory location whose 16 least significant bits of its 20-bit
address are the 16-bit constant mn with the data in the register L, and then loads the following
memory location with the data in the register H.
•
LDP (mn),IX:
Loads the memory location whose 16 least significant bits of its 20-bit
address are the 16-bit constant mn with the low order byte of index register IX, and then loads the
following memory location with the high order byte of index register IX.
•
LDP (mn),IY:
Loads the memory location whose 16 least significant bits of its 20-bit
address are the 16-bit constant mn with the low order byte of index register IY, and then loads the
following memory location with the high order byte of index register IY.
Note that the LDP instructions wrap around on a 64K page boundary. Since the LDP instruction operates on
two-byte values, the second byte will wrap around and be written at the start of the page if you try to read or
write across a page boundary. Thus, if you fetch or store at address 0xn,0xFFFF, you will get the bytes
located at 0xn, 0xFFFF and 0xn,0x0000 instead of 0xn,0xFFFF and 0x(n+1),0x0000 as you might expect.
Therefore, do not use LDP at any physical address ending in 0xFFFF.
LDP (mn),HL
LDP (mn),IX
LDP (mn),IY
Opcode
Instruction
Clocks
Operation
ED 65 n m
LDP (mn),HL
15*
(mn) = L; (mn + 1) = H.
(Addr[19:16] = A[3:0])
DD 65 n m
LDP (mn),IX
15*
(mn) = IX
(low)
; (mn + 1) = IX
(high)
.
(Addr[19:16] = A[3:0])
FD 65 n m
LDP (mn),IY
15*
(mn) = IY
(low)
; (mn + 1) = IY
(high)
.
(Addr[19:16] = A[3:0])
*Clocking: 15 (2,2,2,2,1,3,3)
Flags
ALTD
I/O
S
Z
L/V
C
F
R
SP
S
D
-
-
-
-
Содержание 2000
Страница 2: ...ii Rabbit 2000 3000 Microprocessor...
Страница 4: ...iv Rabbit 2000 Microprocessor...
Страница 16: ...12 Rabbit 2000 3000 Microprocessor...
Страница 112: ...108 Rabbit 2000 3000 Microprocessor...
Страница 120: ...ii Rabbit 2000 3000 Microprocessor...