индексными регистрами лучше не-пользоваться. программа будет длиннее на байты/такты.

LD A,X

LD HL,ADDR
LD B,0
LD C,A
ADD HL,BC
LD A,(HL)

если возможно ADDR=#XX00
то удобней
LD L,A
LD A,(HL)