2026.8.9
前へ
次へ
ホームページトップへ戻る


[新連載開始]W65C02マイコンボードの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
私としてはW65C02をさわるのは全く初めてです。何から何まで未経験です。さてどうなりますでしょうか。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第38回]



●LDA,LDX,LDY

今までは小手調べ的にW65C02をさわってきました。
今回あたりからいよいよ本格的なモードになってきます。
LDAはアキュムレータに8ビットの値を書き込む(ロードする)命令です。
以下の命令があります。
 ニーモニック  マシン語コード  アセンブラ書式 バイト数 クロック数
 LDA a  AD  LDA $1234  3  4
 LDA a,x  BD  LDA $1234,x   3  4
 LDA a,y  B9  LDA $1234,y  3  4
 LDA #  A9  LDA #$12  2  2
 LDA zp  A5  LDA $12  2  3
 LDA (zp,x)  A1  LDA ($12,x)   2  6
 LDA (zp)  B2  LDA ($12)  2  5
 LDA zp,x  B5  LDA $12,x  2  4
 LDA (zp),y  B1  LDA ($12),y  2  5

a a,x a,y # zp (zp,x) (zp) zp,x (zp),y はアドレッシングモードです。
aは絶対アドレスでzpはゼロページです。
,xはxの値で修飾することを示します。
,yはxの値で修飾することを示します。
#は8ビットの即値です。
16ビットの即値はありません。
()は間接アドレス指定です。
()内で指定するアドレスの値が最終的な下位アドレスになりその次のアドレスの値が最終的な上位アドレスになります。
W65C02のアドレッシングモードは[第4回]で説明していますので適宜参照してください。

LDXはXレジスタに8ビットの値を書き込む命令です。
以下の命令があります。
 ニーモニック  マシン語コード  アセンブラ書式 バイト数 クロック数
 LDX a  AE  LDX $1234  3  4
 LDX a,y  BE  LDX $1234,y   3  4
 LDX #  A2  LDX #$12  2  2
 LDX zp  A6  LDX $12  2  3
 LDX zp,y  B6  LDX $12,y   2  4


LDYはYレジスタに8ビットの値を書き込む命令です。
以下の命令があります。
 ニーモニック  マシン語コード  アセンブラ書式 バイト数 クロック数
 LDY a  AC  LDY $1234  3  4
 LDY a,x  BC  LDY $1234,x   3  4
 LDY #  A0  LDY #$12  2  2
 LDY zp  A4  LDY $12  2  3
 LDY zp,x  B4  LDY $12,x   2  4


LDA、LDX、LDYはロードする値によりN、Zフラグが変化します。

W65C02マイコンボードの製作[第38回]
2026.8.9 upload

前へ
次へ
ホームページトップへ戻る