*06åì&èíìçîëéîêë
åïëý3URJUDPý0HPRU\
+\QL[
0ꢃꢈꢌꢙꢚꢑꢛꢃ)ꢝꢞ+ꢝꢓꢜꢃꢗꢞ*ꢔꢛꢂꢝꢃꢑꢒꢃꢗꢓ)ꢓꢚ ꢂꢃꢞ$ꢃꢓꢕꢕꢝꢂꢒꢒꢑꢔ+ꢃ*)ꢃꢛꢞ
ꢌꢏ"ꢃꢚ#ꢛꢂꢒ/ꢃꢚ*ꢛꢃꢛꢁꢑꢒꢃꢕꢂꢖꢑꢗꢂꢃꢁꢓꢒꢃꢈꢌ"ꢍꢎꢏ"ꢍꢐꢎ"ꢃꢚ#ꢛꢂꢒꢃ)ꢝꢞꢙ
+ꢝꢓꢜꢃꢜꢂꢜꢞꢝ#ꢃꢒ)ꢓꢗꢂꢃꢞꢔ #ꢃ)ꢁ#ꢒꢑꢗꢓ #ꢃꢑꢜ) ꢂꢜꢂꢔꢛꢂꢕ&ꢃ0ꢗꢙ
ꢗꢂꢒꢒꢑꢔ+ꢃꢓꢃ ꢞꢗꢓꢛꢑꢞꢔꢃꢓꢚꢞꢖꢂꢃ5555ꢃꢃ!ꢑ ꢃꢗꢓ*ꢒꢂꢃꢓꢃ!ꢝꢓ)ꢙꢓꢝꢞ*ꢔꢕ
ꢛꢞꢃꢋꢋꢋꢋꢃ&
3(ꢓꢜ) ꢂ.ꢃ,ꢒꢓ+ꢂꢃꢞ$ꢃꢀꢉ0FF
LDA
#5
TCALL 0FH
;
;
;
ì%<7(ý,16758&7,21
:
:
,167($'ý2)ýëý%<7(6
1250$/ý&$//
;
;TABLE CALL ROUTINE
;
5ꢑ+*ꢝꢂꢃꢇꢙꢊꢃ/ꢃꢒꢁꢞ!ꢒꢃꢓꢃꢜꢓ)ꢃꢞ$ꢃ7ꢝꢞ+ꢝꢓꢜꢃꢅꢂꢜꢞꢝ#&ꢃ0$ꢛꢂꢝꢃꢝꢂꢒꢂꢛ/
ꢛꢁꢂꢃꢉ7,ꢃꢚꢂ+ꢑꢔꢒꢃꢂ(ꢂꢗ*ꢛꢑꢞꢔꢃ$ꢝꢞꢜꢃꢝꢂꢒꢂꢛꢃꢖꢂꢗꢛꢞꢝꢃ!ꢁꢑꢗꢁꢃꢑꢒꢃꢒꢛꢞꢝꢂꢕ
ꢑꢔꢃꢓꢕꢕꢝꢂꢒꢒꢃ5553ꢃꢃꢓꢔꢕꢃ5555ꢃꢃꢓꢒꢃꢒꢁꢞ!ꢔꢃꢑꢔꢃ5ꢑ+*ꢝꢂꢃꢇꢙꢌꢃ&
FUNC_A: LDA
LRG0
RET
;
0ꢒꢃꢒꢁꢞ!ꢔꢃꢑꢔꢃ5ꢑ+*ꢝꢂꢃꢇꢙꢊꢃ/ꢃꢂꢓꢗꢁꢃꢓꢝꢂꢓꢃꢑꢒꢃꢓꢒꢒꢑ+ꢔꢂꢕꢃꢓꢃ$ꢑ(ꢂꢕꢃ ꢞꢙ
ꢗꢓꢛꢑꢞꢔꢃꢑꢔꢃ7ꢝꢞ+ꢝꢓꢜꢃꢅꢂꢜꢞꢝ#&ꢃ7ꢝꢞ+ꢝꢓꢜꢃꢅꢂꢜꢞꢝ#ꢃꢓꢝꢂꢓꢃꢗꢞꢔꢙ
ꢛꢓꢑꢔꢒꢃꢛꢁꢂꢃ*ꢒꢂꢝꢃ)ꢝꢞ+ꢝꢓꢜ&
FUNC_B: LDA
LRG1
2
1
RET
;
;TABLE CALL ADD. AREA
;
ORG
DW
0FFC0H
FUNC_A
FUNC_B
;
7&$//ý$''5(66ý$5($
åííí+
DW
êë.%\WH
5DQJH
$ííí+
ëé.%\WH
5DQJH
ꢀꢁꢂꢃꢑꢔꢛꢂꢝꢝ*)ꢛꢃꢗꢓ*ꢒꢂꢒꢃꢛꢁꢂꢃꢉ7,ꢃꢛꢞꢃ=*ꢜ)ꢃꢛꢞꢃꢒ)ꢂꢗꢑ$ꢑꢗꢃ ꢞꢗꢓꢛꢑꢞꢔ/
!ꢁꢂꢝꢂꢃꢑꢛꢃꢗꢞꢜꢜꢂꢔꢗꢂꢒꢃꢛꢁꢂꢃꢂ(ꢂꢗ*ꢛꢑꢞꢔꢃꢞ$ꢃꢛꢁꢂꢃꢒꢂꢝꢖꢑꢗꢂꢃꢝꢞ*ꢛꢑꢔꢂ&
ꢀꢁꢂꢃ3(ꢛꢂꢝꢔꢓ ꢃꢑꢔꢛꢂꢝꢝ*)ꢛꢃꢋ/ꢃ$ꢞꢝꢃꢂ(ꢓꢜ) ꢂ/ꢃꢑꢒꢃꢓꢒꢒꢑ+ꢔꢂꢕꢃꢛꢞꢃ ꢞꢗꢓꢙ
ꢛꢑꢞꢔꢃꢋ5550ꢃ&ꢃꢀꢁꢂꢃꢑꢔꢛꢂꢝꢝ*)ꢛꢃꢒꢂꢝꢖꢑꢗꢂꢃ ꢞꢗꢓꢛꢑꢞꢔꢒꢃꢒ)ꢓꢗꢂꢒꢃꢎꢙꢚ#ꢛꢂ
ꢑꢔꢛꢂꢝꢖꢓ .ꢃꢋ555ꢇꢃꢃꢓꢔꢕꢃꢋ555Jꢃꢃ$ꢞꢝꢃ3(ꢛꢂꢝꢔꢓ ꢃ2ꢔꢛꢂꢝꢝ*)ꢛꢃꢈ/
ꢋ5550ꢃꢃꢓꢔꢕꢃꢋ555Bꢃꢃ$ꢞꢝꢃ3(ꢛꢂꢝꢔꢓ ꢃ2ꢔꢛꢂꢝꢝ*)ꢛꢃꢋ/ꢃꢂꢛꢗ&
&ííí+
352*5$0
ìç.%\WH
0(025<
5DQJH
))íí+
3&$//
$5($
))&í+
7&$//
8ð3$*(
$5($
0ꢔ#ꢃꢓꢝꢂꢓꢃ$ꢝꢞꢜꢃꢋ55ꢋꢋꢃꢃꢛꢞꢃꢋ5555ꢃ/ꢃꢑ$ꢃꢑꢛꢃꢑꢒꢃꢔꢞꢛꢃ+ꢞꢑꢔ+ꢃꢛꢞꢃꢚꢂ
*ꢒꢂꢕ/ꢃꢑꢛꢒꢃꢒꢂꢝꢖꢑꢗꢂꢃ ꢞꢗꢓꢛꢑꢞꢔꢃꢑꢒꢃꢓꢖꢓꢑ ꢓꢚ ꢂꢃꢓꢒꢃ+ꢂꢔꢂꢝꢓ ꢃ)*ꢝ)ꢞꢒꢂ
7ꢝꢞ+ꢝꢓꢜꢃꢅꢂꢜꢞꢝ#&
))(í+
,17(55837
9(&725ý$5($
))))+
$GGUHVV
9HFWRUý$UHDý0HPRU\
)LJXUHýåðèý3URJUDPý0HPRU\ý0DS
í))'(+
(í
6î:ý,QWHUUXSWý9HFWRUý$UHD
ý
ð
ð
ð
7ꢓ+ꢂꢃꢉꢓ ꢃ87ꢉ0FF9ꢃꢓꢝꢂꢓꢃꢗꢞꢔꢛꢓꢑꢔꢒꢃꢒ*ꢚꢝꢞ*ꢛꢑꢔꢂꢃ)ꢝꢞ+ꢝꢓꢜꢃꢛꢞ
ꢝꢂꢕ*ꢗꢂꢃ)ꢝꢞ+ꢝꢓꢜꢃꢚ#ꢛꢂꢃ ꢂꢔ+ꢛꢁꢃꢚ#ꢃ*ꢒꢑꢔ+ꢃꢎꢃꢚ#ꢛꢂꢒꢃ7ꢉ0FFꢃꢑꢔꢙ
ꢒꢛꢂꢓꢕꢃꢞ$ꢃꢃꢐꢃꢚ#ꢛꢂꢒꢃꢉ0FFꢃꢑꢔꢒꢛꢝ*ꢗꢛꢑꢞꢔ&ꢃ2$ꢃꢑꢛꢃꢑꢒꢃ$ꢝꢂA*ꢂꢔꢛ #
ꢗꢓ ꢂꢕ/ꢃꢑꢛꢃꢑꢒꢃꢜꢞꢝꢂꢃ*ꢒꢂ$* ꢃꢛꢞꢃꢒꢓꢖꢂꢃ)ꢝꢞ+ꢝꢓꢜꢃꢚ#ꢛꢂꢃ ꢂꢔ+ꢛꢁ&
(ë
(é
(ç
%DVLFý,QWHUYDOý7LPHUý,QWHUUXSWý9HFWRUý$UHD
:DWFKý'RJý7LPHUý,QWHUUXSWý9HFWRUý$UHD
(å
($
ð
ꢀꢓꢚ ꢂꢃꢉꢓ ꢃ8ꢀꢉ0FF9ꢃꢗꢓ*ꢒꢂꢒꢃꢛꢁꢂꢃꢉ7,ꢃꢛꢞꢃ=*ꢜ)ꢃꢛꢞꢃꢂꢓꢗꢁ
ꢀꢉ0FFꢃꢓꢕꢕꢝꢂꢒꢒ/ꢃ!ꢁꢂꢝꢂꢃꢑꢛꢃꢗꢞꢜꢜꢂꢔꢗꢂꢒꢃꢛꢁꢂꢃꢂ(ꢂꢗ*ꢛꢑꢞꢔꢃꢞ$ꢃꢛꢁꢂ
ꢒꢂꢝꢖꢑꢗꢂꢃꢝꢞ*ꢛꢑꢔꢂ&ꢃꢀꢁꢂꢃꢀꢓꢚ ꢂꢃꢉꢓ ꢃꢒꢂꢝꢖꢑꢗꢂꢃꢓꢝꢂꢓꢃꢒ)ꢓꢗꢂꢒꢃꢎꢙꢚ#ꢛꢂ
$ꢞꢝꢃꢂꢖꢂꢝ#ꢃꢀꢉ0FF.ꢃꢋ55ꢉꢋꢃꢃ$ꢞꢝꢃꢀꢉ0FFꢈꢊ/ꢃꢋ55ꢉꢎꢃꢃ$ꢞꢝ
ꢀꢉ0FFꢈꢏ/ꢃꢂꢛꢗ&/ꢃꢓꢒꢃꢒꢁꢞ!ꢔꢃꢑꢔꢃ5ꢑ+*ꢝꢂꢃꢇꢙIꢃ&ꢃ
(&
((
ð
7LPHUëý,QWHUUXSWý9HFWRUý$UHD
7LPHUìý,QWHUUXSWý9HFWRUý$UHD
)í
)ë
)é
)ç
)å
)$
)&
)(
7LPHUíý,QWHUUXSWý9HFWRUý$UHD
ð
([WHUQDOý,QWHUUXSWýëý9HFWRUý$UHD
([WHUQDOý,QWHUUXSWýìý9HFWRUý$UHD
.H\ý6FDQý,QWHUUXSWý9HFWRUý$UHD
ð
5(6(7ý9HFWRUý$UHD
127(ã
ûðûýPHDQVýUHVHUYHGýDUHDï
)LJXUHýåðçý,QWHUUXSWý9HFWRUý$UHD
ðýëéýð
9HUýêïíë