<< Previous | Next >>

LDP (mn),HL
LDP (mn),IX
LDP (mn),IY
    Load Physical
    Rabbit 2000/3000/4000 Instruction
Opcode
Instruction
Clocks
Operation

ED 65 n m

LDP (mn),HL

15 (2,2,2,2,1,3,3)

(mn) = L
(mn+1) = H
(Addr[19:16] = A[3:0])

DD 65 n m

LDP (mn),IX

15 (2,2,2,2,1,3,3)

(mn) = IXlow
(mn+1) = IXhigh
(Addr[19:16] = A[3:0])

FD 65 n m

LDP (mn),IY

15 (2,2,2,2,1,3,3)

(mn) = IYlow
(mn+1) = IYhigh
(Addr[19:16] = A[3:0])


Flags ALTD IOI/IOE
S
Z
L/V
C
F
R
SP
S
D
-
-
-
-

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 A (bits 3 though 0). The LDP instructions bypass the MMU's address translation unit for direct access to the 20-bit memory address space.

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.


<< Previous | Next >>