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


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

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

[第46回]



●INC,DEC(2)テストプログラム

INC、DECのテストプログラムです。
下がアセンブラソースプログラムです。
;w65c02test20 26/8/9
;
;INC,DEC
;
        org $8000
;
;set data
        ldx #$10
        lda #$12
        sta $1000;1000<12,,,a
        lda #$34
        sta $1000,x;1010<34,,,a,x
        lda #$56
        sta $10;10<56,,,zp
        lda #$78
        sta $10,x;20<78
;A<78
;
        sta $30;A,,,<78
        lda $1000
        sta $31
        lda $1000,x
        sta $32
        lda $10
        sta $33
        lda $10,x
        sta $34
        txa
        sta $35
        ldy #$9a
        tya
        sta $36
;
;inc start
        lda $30
        inc
        sta $40
        inc $1000
        lda $1000
        sta $41
        inc $1000,x
        lda $1000,x
        sta $42
        inc $10
        lda $10
        sta $43
        inc $10,x
        lda $10,x
        sta $44
        inx
        txa
        sta $45
        iny
        tya
        sta $46
;
;dec start
        ldx #$10
        lda $30
        dec
        sta $50
        dec $1000
        lda $1000
        sta $51
        dec $1000,x
        lda $1000,x
        sta $52
        dec $10
        lda $10
        sta $53
        dec $10,x
        lda $10,x
        sta $54
        dex
        txa
        sta $55
        dey
        tya
        sta $56
        stp
;end
W65C02アセンブラでアセンブルしました。

下はアセンブルした結果作成されたアセンブルリストです。
0000        ;w65c02test20 26/8/9
0000        ;
0000        ;INC,DEC
0000        ;
8000            org $8000
8000        ;
8000        ;set data
8000 A210       ldx #$10
8002 A912       lda #$12
8004 8D0010     sta $1000;1000<12,,,a
8007 A934       lda #$34
8009 9D0010     sta $1000,x;1010<34,,,a,x
800C A956       lda #$56
800E 8510       sta $10;10<56,,,zp
8010 A978       lda #$78
8012 9510       sta $10,x;20<78
8014        ;A<78
8014        ;
8014 8530       sta $30;A,,,<78
8016 AD0010     lda $1000
8019 8531       sta $31
801B BD0010     lda $1000,x
801E 8532       sta $32
8020 A510       lda $10
8022 8533       sta $33
8024 B510       lda $10,x
8026 8534       sta $34
8028 8A         txa
8029 8535       sta $35
802B A09A       ldy #$9a
802D 98         tya
802E 8536       sta $36
8030        ;
8030        ;inc start
8030 A530       lda $30
8032 1A         inc
8033 8540       sta $40
8035 EE0010     inc $1000
8038 AD0010     lda $1000
803B 8541       sta $41
803D FE0010     inc $1000,x
8040 BD0010     lda $1000,x
8043 8542       sta $42
8045 E610       inc $10
8047 A510       lda $10
8049 8543       sta $43
804B F610       inc $10,x
804D B510       lda $10,x
804F 8544       sta $44
8051 E8         inx
8052 8A         txa
8053 8545       sta $45
8055 C8         iny
8056 98         tya
8057 8546       sta $46
8059        ;
8059        ;dec start
8059 A210       ldx #$10
805B A530       lda $30
805D 3A         dec
805E 8550       sta $50
8060 CE0010     dec $1000
8063 AD0010     lda $1000
8066 8551       sta $51
8068 DE0010     dec $1000,x
806B BD0010     lda $1000,x
806E 8552       sta $52
8070 C610       dec $10
8072 A510       lda $10
8074 8553       sta $53
8076 D610       dec $10,x
8078 B510       lda $10,x
807A 8554       sta $54
807C CA         dex
807D 8A         txa
807E 8555       sta $55
8080 88         dey
8081 98         tya
8082 8556       sta $56
8084 DB         stp
8085        ;end
INC、DECの動作確認をアドレッシングモードを変えながら行なうために適当な初期値をセットしメモリアドレスにもセットしてプログラムを開始します。
INC、DECを実行する前の値をアドレス30〜36にセットします。
INCを実行した後の値を40〜46に入れます。
その後DECを実行した後の値を50〜56に入れます。
ただし50、55、56はDEC、DEX、DEYの実行結果になっています。
今回はフラグのテストまでするのは冗長と考えたのでしないことにしました。

65c02test20.binをロードして実行しました。


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

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