問題タブ [6502]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1176 参照

assembly - 6502 アセンブリ シフト ビット

address に格納されている数値があり、1faddress00に格納されている別の数値があり1eます01。ここで、と1fを作り、それらを足して を取得します。どうすればいいですか?私は手順を知っており、これに対処していますが、私は 6502 の初心者なので、誰かがそれを効率的に行う方法を教えてくれることを本当に感謝しています (サイクルの最小量)。1f001e001e1f1easllsr

0 投票する
5 に答える
2479 参照

assembly - 6502 asm で 16 ビット数を 2 で割る方法は?

16ビットの数値を2で割りたいです。問題に対する私の解決策は以下の通りでした

すべてのPHA/PLAトリックは、私のprintDecimalマクロが A から MSB を読み取り、X から LSB を読み取るためです。

オンラインで代替案を確認したところ、私のささやかな除算ルーチンに代わる命令が 4 つ見つかりました。しかし、私は理解していませんでした。

これはどのように機能しますか?

0 投票する
1 に答える
398 参照

assembly - 6502 XASM 定義データ

DTA(データの定義)のことを理解しようとしています。残念ながら、私はこのような問題に遭遇しました:

私はそれが何を意味し、何をするのかを本当に見つけることができません。また、上記のサイトの例は私にはわかりません。XASM と dta についてさらに詳しく知るには、他に良い場所はありますか? どんな助けにも感謝します。

0 投票する
2 に答える
313 参照

6502 - 逆アセンブルされたコード 6502 を実行するには?

6502 のアセンブリでプログラムを作成する必要がありました。エミュレーター Vice 128 を使用することを余儀なくされました。Commodore 128 は 6502 の命令と互換性があると言われました。コマンドで渡される 80 列のインターフェイスがありました (どれですか?)。機械語またはアセンブリ (プログラム) の命令は、この 80 列のマトリックスに直接入力されました。また、データはこのマトリックスに入力されます。では、この行列は記憶ですか? 各行は何を表していますか? これは逆アセンブルコード 6502 だと言われました。しかし、それが何を意味するのかわかりません。非常に混乱しています。

2 つの数値の合計を実行するこの単純なプログラムを実行したいと考えています。2 つの数値は、最初のページのワード 0 とワード 1 に格納されます。結果を最初のページの 2 番目の単語に格納したいと考えています。最初の行には 80 語が含まれていると想像しました。そうですか?ここでは、データを 16 進数 (3 と 2) にします。

しかし、構文エラーがあります。物事がどのように機能するか分からないので、誰かが私を助けてくれることを願っています。前もって感謝します

0 投票する
2 に答える
3501 参照

assembly - バイト ディレクティブは 6502 アセンブラで何をしますか?

最初に:これがだまされたらごめんなさい!少し検索しましたが、これを十分に説明しているリソースが見つかりませんでした。

n00bish質問はこちら!

.byteディレクティブが何をするのか理解しようとしています。さまざまな情報源がさまざまなことを言っていますが、その要点は次のようなものです。

.db、DB、.byte などは、指示としてではなくデータとして、指定した正確なバイトを配置します ( http://forum.6502.org/viewtopic.php?f=2&t=2374 )

cc65 マニュアルも同様にあいまいです:

.byte: バイト サイズのデータ​​を定義します。(バイト範囲の) 式または文字列のシーケンスが続く必要があります。

例:

( http://www.cc65.org/doc/ca65-11.html )

それが何を意味するのかわかりません。データの定義に関連するすべての操作は、メモリ アドレスの読み取りと書き込みのバリエーションであると考えていました。このようなものです(NES開発に関するつぶやきから)

正確には何をしているのですか?オペコードの観点からすべてを説明できますか、それとももっと凝ったことをしているのでしょうか? 私には、次のようなゼロページから始まるシーケンシャルデータを書き込んでいるように見えますか??:

私はここから離れていますか?Leo Scanlon による 6502 Software Design を読んでいますが、その (または) ディレクティブへの言及は見当たりません。私は NES 開発の目的で 6502 を学んでおり、すべてのサンプル コードは.byte.ascii、および他のいくつかのディレクティブでいっぱいです。ユーザーが投稿した NES チュートリアルの世界をナビゲートしようとする前に、Scanlon の本のようなアカデミックなテキストから 6502 の強固な基礎を取得したかったのですが、これが NES 6502 を理解する上で障害になっています。