最初に:これがだまされたらごめんなさい!少し検索しましたが、これを十分に説明しているリソースが見つかりませんでした。
n00bish質問はこちら!
.byte
ディレクティブが何をするのか理解しようとしています。さまざまな情報源がさまざまなことを言っていますが、その要点は次のようなものです。
.db、DB、.byte などは、指示としてではなくデータとして、指定した正確なバイトを配置します ( http://forum.6502.org/viewtopic.php?f=2&t=2374 )
cc65 マニュアルも同様にあいまいです:
.byte: バイト サイズのデータを定義します。(バイト範囲の) 式または文字列のシーケンスが続く必要があります。
例:
.byte "Hello " .byt "world", $0D, $00
それが何を意味するのかわかりません。データの定義に関連するすべての操作は、メモリ アドレスの読み取りと書き込みのバリエーションであると考えていました。このようなものです(NES開発に関するつぶやきから)
; Number of PRG-ROM blocks
.byte $01
; Number of CHR-ROM blocks
.byte $01
; ROM control bytes: Horizontal mirroring, no SRAM
; or trainer, Mapper #0
.byte $00, $00
正確には何をしているのですか?オペコードの観点からすべてを説明できますか、それとももっと凝ったことをしているのでしょうか? 私には、次のようなゼロページから始まるシーケンシャルデータを書き込んでいるように見えますか??:
LDA #$01
STA $00
LDA #$01
STA $01
LDA #$00
STA $02
LDA #$00
STA $03
私はここから離れていますか?Leo Scanlon による 6502 Software Design を読んでいますが、その (または) ディレクティブへの言及は見当たりません。私は NES 開発の目的で 6502 を学んでおり、すべてのサンプル コードは.byte
、.ascii
、および他のいくつかのディレクティブでいっぱいです。ユーザーが投稿した NES チュートリアルの世界をナビゲートしようとする前に、Scanlon の本のようなアカデミックなテキストから 6502 の強固な基礎を取得したかったのですが、これが NES 6502 を理解する上で障害になっています。