[新連載開始]W65C02マイコンボードの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
私としてはW65C02をさわるのは全く初めてです。何から何まで未経験です。さてどうなりますでしょうか。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第27回]
●BRA(5)ラベル機能(後方へのジャンプ)
今回は後方にジャンプするBRA命令をラベルを使ってプログラムします。
[第25回]で作ったw65c02test7をラベルを使うように書き換えたものです。
;w65c02testa 26.7.25
;
org $8000
;
lda #$00
bra jp2
jp1:
dec
dec
sta $10
stp
jp2:
bra jp1
;end
|
前回も書きましたが特に相対ジャンプ命令ではラベルは威力を発揮します。
もうラベル無しのプログラムはとても書く気になりません。
そのことは相対ジャンプ命令だけではなくて絶対アドレスを指定するJMP命令やJSR命令(80系CPUでのCALL命令)でも同じです。
そういえばいきなり相対ジャンプ命令について書いてしまいましたが本来ならばJMPから書くのが順序でした。
いずれJMPやJSRについても検証するつもりです。
今は相対ジャンプについて書き始めてしまいましたからしばらくこのまま続けます。
W65C02アセンブラでアセンブルしました。

下はアセンブルした結果生成されたリストファイルです。
0000 ;w65c02testa 26.7.25 0000 ; 8000 org $8000 8000 ; 8000 A900 lda #$00 8002 8005 bra jp2 8004 jp1: 8004 3A dec 8005 3A dec 8006 8510 sta $10 8008 DB stp 8009 jp2: 8009 80F9 bra jp1 800B ;end |
前回と同じマシン語コードに翻訳されました。
同じコードですから実行しなくてもよいようなものですが念のために実行して確認をしてみます。

65c02testa.binファイルをロードして/RUNで実行した後で0010の値がFEになったことを確認しました。
W65C02マイコンボードの製作[第27回]
2026.7.29 upload
前へ
次へ
ホームページトップへ戻る