[新連載開始]W65C02マイコンボードの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
私としてはW65C02をさわるのは全く初めてです。何から何まで未経験です。さてどうなりますでしょうか。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第73回]
●82C55が動きました!(4)
今までの82C55テストプログラムは82C55のポートに対して出力または入力を1回行なっただけでした。
今回は出力を連続して行なうプログラムを作ってテストしてみました。
下がテストプログラム(ソースプログラム)65C02TEST49.LSTです。
;w65c02test47 26/9/11 <test49に変更するのを忘れた!
;
;DMA test
;
org $8000
;
lda #$80
sta $0283
loop:
sta $0280
sta $0281
sta $0282
ldx #$00
loop1:
ldy #$00
loop2:
dey
bne loop2
dex
bne loop1
ror
bra loop
;end
|
W65C02アセンブラでアセンブルしました。

下はアセンブルした結果作成されたアセンブルリストです。
0000 ;w65c02test47 26/9/11 <test49変更忘れ 0000 ; 0000 ;DMA test 0000 ; 8000 org $8000 8000 ; 8000 A980 lda #$80 8002 8D8302 sta $0283 8005 loop: 8005 8D8002 sta $0280 8008 8D8102 sta $0281 800B 8D8202 sta $0282 800E A200 ldx #$00 8010 loop1: 8010 A000 ldy #$00 8012 loop2: 8012 88 dey 8013 D0FD bne loop2 8015 CA dex 8016 D0F8 bne loop1 8018 6A ror 8019 80EA bra loop 801B ;end |
Aポート、Bポート、Cポートの各8ビットのうち1ビットのみを1にして出力します。
次に間にダミーループを置いて一定時間出力を維持したのち1を出力したビットを右に1ビットローテイトして出力しそれを繰り返します。
それによってビット出力がローテイトする様子を目視することができるようになります。
65C02TEST49.BINをロードして実行しました。

出力の様子です。

ダミーループを置いても出力がローテイトされる速度はかなり高速で辛うじてローテイトしていることがわかる程度です。
写真に撮ることでやっと静止しているように見えます。

W65C02マイコンボードの製作[第73回]
2026.9.15 upload
前へ
次へ
ホームページトップへ戻る