MC80F0704/0708/0804/0808
D500FA LDA !0FA00H+Y
1625
ADC [25H+X]
0F100H
D5
0F101H
00
0F102H
FA
~~
0FA55H
data
þ
0FA00H+55H=0FA55H
~~
À
data → A
Ã
Indirect Addressing
Direct page indirect → [dp]
Assigns data address to use for accomplishing command which
sets memory data (or pair memory) by Operand.
Also index can be used with Index register X,Y.
JMP, CALL
Example; G=0
3F35
JMP [35H]
35H
05
36H
E0
~~
0E005H
data
~~
0FA00H
16
25
~~ À 0E005H
þ 25 + X(10) = 35H
~~
à A + data + C → A
Y indexed indirect → [dp]+Y
Processes memory data as Data, assigned by the data [dp+1][dp]
of 16-bit pair memory paired by Operand in Direct page plus Y-
register data.
ADC, AND, CMP, EOR, LDA, OR, SBC, STA
Example; G=0, Y=10H
1725
ADC [25H]+Y
35H
36H
~~
0E30AH
~~
0FA00H
0A
E3
NEXT
3F
35
~~ À
þ
jump to
address 0E30AH
~~
X indexed indirect → [dp+X]
Processes memory data as Data, assigned by 16-bit pair memory
which is determined by pair data [dp+X+1][dp+X] Operand plus
X-register data in Direct page.
ADC, AND, CMP, EOR, LDA, OR, SBC, STA
Example; G=0, X=10H
25H
05
26H
E0
~~
0E015H
data
~~
0FA00H
17
25
~~
À
þ
0E005H + Y(10)
= 0E015H
~~
Ã
A + data + C → A
Absolute indirect → [!abs]
The program jumps to address specified by 16-bit absolute ad-
dress.
JMP
Example; G=0
36
October 31, 2011 Ver 1.03