メニュー2

SNES Spec内検索 / 「メニュー2」で検索した結果

検索 :
  • メニュー
    ...イン紹介 メニュー メニュー2 @wiki @wikiご利用ガイド 更新履歴 取得中です。 - ここを編集
  • プラグイン/ニュース
    ニュース @wikiのwikiモードでは #news(興味のある単語) と入力することで、あるキーワードに関連するニュース一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //www1.atwiki.jp/guide/pages/266.html#id_542badf7 たとえば、#news(ゲーム)と入力すると以下のように表示されます。 世界を席巻する『イカゲーム』はなぜヒットした? 紐解くカギはゲーム参加者の“人間ドラマ”にあり - auone.jp 横浜流星&佐野勇斗、映画『嘘喰い』デス・ゲームに興じるヤバいやつら - 中日新聞 『カレイジアスペルセウス』(MSX版)がレトロゲーム遊び放題アプリ“PicoPico”に追加。12月15日正午まで体験プレイも可能 - ファミ通.com ゲームの中から出てきたみたい! 粘土...
  • 右メニュー
    更新履歴 取得中です。 ここを編集
  • トップページ
    SNES Spec メニュー ハードウェア CPUレジスタ アドレッシングモード 命令セット一覧 (アルファベット順) 命令セット一覧 (機能別) 命令セット一覧 (オペコード順) PPUBG (背景) スプライト ウインドウ 画面のレンダリング APUレジスタ SPC700 のアドレッシングモード SPC700 の命令セット一覧 (機能別) SPC700 の命令セット一覧 (オペコード順) IPL (Initial Program Loader) ブート ROM APU IO 音声ブロックフォーマット バス メモリマップ IO ポート (メイン) IO ポート (サウンド) 割り込み DMAとHDMA カートリッジカートリッジヘッダ 埋め込みカートリッジ情報 HiROM と LoROM の見分け方 ROM プロテクションスキーム チートデバイス コントローラ ファイルフォーマットSPC...
  • プラグイン
    @wikiにはいくつかの便利なプラグインがあります。 RSS アーカイブ インスタグラム コメント ニュース 動画(Youtube) 編集履歴 これ以外のプラグインについては@wikiガイドをご覧ください = http //atwiki.jp/guide/
  • IO ポート (サウンド)
    SPC SPC-700 のメモリ空間にマップされているレジスタ。 アドレス 名前 内容 0x00F0 TEST テスト機能 0x00F1 CONTROL I/Oとタイマーの調整 0x00F2 DSPADDR DSP通信アドレス 0x00F3 DSPDATA DSP通信データ 0x00F4 CPUI0/CPUO0 CPU入力/出力 0 0x00F5 CPUI1/CPUO1 CPU入力/出力 1 0x00F6 CPUI2/CPUO2 CPU入力/出力 2 0x00F7 CPUI3/CPUO3 CPU入力/出力 3 0...
  • IO ポート (サウンド)/SPC
    0x00F0 - TEST (テスト機能) [書き込み] D7 D6 D5 D4 D3 D2 D1 D0 s s s s T R r t ssss CPU スピード調整 (タイマー速度には影響しない) 0 = 通常 CPU 速度 1 = 3/5 通常速度 2 = 3/9 通常速度 3 = 3/17 通常速度 4 = 3/4 通常速度 5 = 3/6 通常速度 6 = 3/10 通常速度 7 = 3/18 通常速度 8 = 3/6 通常速度 9 = 3/8 通常速度 A = 3/12 通常速度 B = 3/20 通常速度 ...
  • IO ポート (サウンド)/DSP(2)
    0x0C - MVOLL (左チャネルマスターボリューム) D7 D6 D5 D4 D3 D2 D1 D0 符号 各チャンネルのメイン・ボリューム(エコー・ボリューム)は エコー・ボリューム(メイン・ボリューム)と加算され出力されます。 0x1C - MVOLR (右チャネルマスターボリューム) D7 D6 D5 D4 D3 D2 D1 D0 符号 各チャンネルのメイン・ボリューム(エコー・ボリューム)は エコー・ボリューム(メイン・...
  • CPU/命令セット/TCD
    TCD (Transfer Accumulator to Direct Page Register) [アキュームレータからダイレクトページレジスタへ転送] 65816 で追加された命令。 アキュームレータとダイレクトページレジスタの間で値をやり取りする。 TCD はアキュームレータからダイレクトページレジスタ (ゼロページポインタ) へ値を転送する。 アキュームレータの 16/8 ビットの設定 (m) の状態に関わらず、 常に 16 ビットの値を転送する。 TCD の 3 文字に含まれる "C" は、アキュームレータが 16 ビット幅で参照されることを意味する (アキュームレータの下位バイトは A、上位バイトは B)。 TDC はダイレクトページレジスタからアキュームレータへ アキュームレータの 16/8 ビットの設定 ...
  • CPU/命令セット/TDC
    TDC (Transfer Direct Page Register to Accumulator) [ダイレクトページレジスタからアキュームレータへ転送] 65816 で追加された命令。 アキュームレータとダイレクトページレジスタの間で値をやり取りする。 TCD はアキュームレータからダイレクトページレジスタ (ゼロページポインタ) へ値を転送する。 アキュームレータの 16/8 ビットの設定 (m) の状態に関わらず、 常に 16 ビットの値を転送する。 TCD の 3 文字に含まれる "C" は、アキュームレータが 16 ビット幅で参照されることを意味する (アキュームレータの下位バイトは A、上位バイトは B)。 TDC はダイレクトページレジスタからアキュームレータへ アキュームレータの 16/8 ビットの設定 ...
  • CPU/命令セット
    命令セット ニーモニック 内容 ADC キャリー付き加算 AND アキュームレータとメモリの論理積 ASL 算術左シフト BCC キャリークリア時分岐 BCS キャリーセット時分岐 BEQ 等しい時分岐 BGE BCS のエイリアス BIT メモリビットのテスト BLT BCC のエイリアス BMI マイナス時分岐 BNE 等しくない時分岐 BPL プラス時分岐 BRA 常に分岐 BRK ソフトウェアBreak BRL 常に分岐ロング ...
  • CPU/命令セット/CMP
    CMP (Compare Accumulator with Memory) [アキュームレータとメモリ比較] アキュームレータとメモリを比較し、 その結果に応じてステータスレジスタの内容を変更する。 アキュームレータとメモリの内容は変更されない。 比較には減算が利用される (アキュームレータ - メモリの値)。 16 ビットアキュームレータモードの時 (m=0)、 16 ビット幅でデータを扱う。 下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。 フラグ変化 n-----zc n 結果の最上位ビットの値 z 結果が 0 の時セット c ボロー (桁下がり) が必要無い時セット (アキュームレータ = メモリ) ボローが必要な時はセットしない (アキュームレータ メモリ) コード一覧 ...
  • CPU/命令セット/一覧 (機能別)
    目次 ロード/ストア レジスタ間移動 算術演算 論理演算 インクリメント/デクリメント ビットテスト/比較 シフト/回転シフト ジャンプ リターン 条件分岐 ステータスフラグ操作 スタック操作 ブロック移動 その他 ロード/ストア ニーモニック 内容 LDA アキュームレータに値をロード LDX Xレジスタに値をロード LDY Yレジスタに値をロード STA アキュームレータの内容をメモリにストア STX Xレジスタの内容をメモリにストア STY Yレジスタの内容をメモリにストア STZ ...
  • CPU/命令セット/TRB
    TRB (Test and Reset Memory Bits) [メモリビットのテストとリセット] アキュームレータの逆数と実効アドレスで AND を行う。 データは、指定されたアドレスに書き戻される。 メモリのビットと一致する位置にあるアキュームレータのビットが セットされている場合、それをクリアする。 他のビットは変更されない。 簡単に言うと、TRB はアキュームレータの値を反転させた値と オペランドに指定されたメモリで AND を行い、 その結果をアドレスに書き戻す。 16 ビットアキュームレータモードの時 (m=0)、 16 ビット幅でデータを扱う。 下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。 フラグ変化 ------z- z メモリの値とアキュームレータを AND した結果が 0 の時セ...
  • CPU/命令セット/TSB
    TSB (Test and Set Memory Bits) [メモリビットのテストとセット] TSB はアキュームレータと実効アドレスのデータで OR 演算を行う。 結果はメモリの場所に書き戻される。 ステータスレジスタのゼロフラグは、アキュームレータとメモリ値を AND 演算した結果が入る (BIT 命令と同じ)。 16 ビットアキュームレータモードの時 (m=0)、 16 ビット幅でデータを扱う。 下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。 フラグ変化 ------z- z アキュームレータとメモリを AND した結果が 0 の時セット コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル 注 ...
  • CPU/命令セット/XBA
    XBA (Exchange B and A Accumulators) [アキュームレータのAとBを交換] XBA は、ステータスフラグの m の設定に関わらず、 アキュームレータの下位 8 ビット (A) と 上位 8 ビット (B) を交換する。 この命令は 6502 エミュレーションモードでも動作する。 XBA は、下位バイトを上位バイトに一時的にコピーする目的に使うことができる。 16 ビットモードでは、下位バイトと上位バイトを反転させるのにも 効果的に使うことができる。 エミュレーションモードの時は、XBA 命令だけが アキュームレータの上位 8 ビットにアクセスすることができる。 いくつかのアセンブラでは SWA をニーモニックとして使うことができる。 フラグ変化 n-----z- n アキュームレータの下位...
  • CPU/命令セット/PHA
    PHA (Push Accumulator on Stack) [アキュームレータの内容をプッシュ] アキュームレータの内容をスタックにプッシュする。 6502 の命令と同じだが、16 ビットメモリ/アキュームレータモード (m=0) の時は 16 ビットの値を積むことだけが異なる。 フラグ変化 なし コード一覧 アドレッシングモード フラグ 文法 オペコード バイト数 命令サイクル 注 Stack (Push) -------- PHA 48 1 3 1 1 m=0 (16-bit メモリ/アキュームレータ) の時 1 サイクル増加
  • CPU/命令セット/PLA
    PLA (Pull Accumulator from Stack) [アキュームレータへポップ] スタックからアキュームレータへ値をポップする。 6502 の命令と同じだが、16 ビットメモリ/アキュームレータモード (m=0) の時は 16 ビットの値を扱うことだけが異なる。 フラグ変化 n-----z- n ポップしたデータの最上位ビットの値 z ポップしたデータが 0 の時セット コード一覧 アドレッシングモード フラグ 文法 オペコード バイト数 命令サイクル 注 Stack (Pull) n-----z- PLA 68 1 4 1 1 m=0 (16-bit メモリ/アキ...
  • CPU/命令セット/BIT
    BIT (Test Memory Bits against Accumulator) [メモリビットのテスト] アキュームレータとメモリで AND 演算を行い、 ステータスフラグだけを変更する。 アキュームレータとメモリの値は変更されない。 プロセッサが 8 ビットモードの時は、 6 ビット目と 7 ビット目がステータスフラグにセットされ、 16 ビットモードの時は、14 ビット目と 15 ビット目がセットされる。 フラグ変化 nv----z- (アドレッシングモードが Immediate でない時) ------z- (アドレッシングモードが Immediate の時のみ) n メモリデータの最上位ビットの値 v メモリデータの 6 ビット目か 14 ビット目の値 z メモリとアキュームレータを AND した結果が 0 の時セ...
  • CPU/命令セット/TSC
    TSC (Transfer Stack Pointer to Accumulator) [スタックポインタからアキュームレータへ転送] TCS 命令は、ステータスビットの m の状態を無視して 16 ビットのデータを、スタックポインタから アキュームレータに転送する。 TCD と TDC と同じように、TSC の 3 文字の中に含まれる、"C" は、 アキュームレータの 16 ビット全体 (C) を指している。 TSA はいくつかのアセンブラで使われている。 6502 エミュレーションモードの時のみ、 アキュームレータの上位 8 ビット分 (B) にだけ転送される。 これは、6502 のスタックが常にページ 1 に存在しているため。 TCS と TXS の 2 つの命令だけがスタックポインタを変更できる。 フラグ変...
  • CPU/命令セット/BRA
    BRA (Branch Always) [常に分岐] BRA は、ステータスフラグの内容に関係なく、 符号付きバイト分だけジャンプする。 分岐先のアドレスは、-128 ~ 127 の範囲で指定する。 BRA と BRL 命令は、 再配置可能なコードを書くことを容易にするために使われる。 フラグ変化 なし コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル 注 Program Counter Relative BRA near 80 2 3 1 1 6502 エミュレーションモード (e=1) の時、 1 サイクル追加 ? TODO マニュアルの内容がおかしい (658...
  • CPU/命令セット/レジスタ間転送命令について
    アキュームレータとインデックスレジスタはそれぞれ独立して 8 ビット幅と 16 ビット幅に設定できる。 転送するデータの幅は、転送先レジスタによって決定される。 可能な組み合わせを次の表に示す。 転送元 転送先 設定 転送幅 注 8 ビット A 8 ビット Index m=1,x=1 8 ビット 8 ビット A 16 ビット Index m=1, x=0 16 ビット *1 16 ビット Index 8 ビット A m=1, x=0 8 ビット *2 8 ビット Index 16 ビット A m=0, x=1 16 ビット *3 16 ビット A 8 ビット In...
  • CPU/命令セット/AND
    AND (And Accumulator with Memory) [アキュームレータとメモリの論理積] オペランドで指定した実効アドレスのデータと アキュームレータを使って論理積を実行する。 16 ビットアキュームレータモードの時 (m=0)、 16 ビット幅でデータを取得する。 下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。 フラグ変化 n-----z- n 結果の最上位ビットがセットされている時、セットする z 結果が 0 の時セット コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル 注 Immediate AND #const 29 2* 2 1 Abso...
  • CPU/命令セット/EOR
    EOR (Exclusive-OR Accumulator with Memory) [アキュームレータとメモリの排他的論理和] オペランドで指定した実効アドレスのデータと アキュームレータを使って排他的論理和を実行する。 16 ビットアキュームレータモードの時 (m=0)、 16 ビット幅でデータを取得する。 下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。 フラグ変化 n-----z- n 結果の最上位ビットがセットされている時、セットする z 結果が 0 の時セット コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル 注 Immediate EOR #const 49 2* 2 ...
  • CPU/命令セット/SBC
    SBC (Subtract from Accumulator) [アキュームレータから減算] SBC は 6502 のものと同じように動作する。 違いは、新しいアドレッシングモードと、16 ビットアキュームレータ、 16 ビットメモリ位置が使えるようになったことだけである。 SBC と ADC の16ビットメモリ/アキュームレータモードは、 65816 の使い勝手を大幅に向上させる。 プログラマは、8 ビットモードの代わりに 16 ビットモードを使用したとき、 どれほど加算・減算が速くなったかを簡単に知ることができる。 フラグ変化 nv----zc n 結果の最上位ビットの値 v サインドオーバーフローがあった時セット z 結果が 0 の時セット c 符号無しボロー (桁下がり) が必要ない時セット 注 サインドオー...
  • CPU/命令セット/LDA
    LDA (Load the Accumulator with Memory) [アキュームレータに値をロード] LDA 命令は 6502 の LDA 命令とほぼ同一です。 新しいアドレッシングモードが新機能として追加されています。 ステータスレジスタが 16 ビットメモリ/アキュームレータモード (m=0) にセットされている時、16 ビット幅でデータがロードされ、 下位バイトは指定されたアドレスから、 上位バイトは指定されたアドレス + 1 からアキュームレータにロードされます。 フラグ変化 n-----z- n メモリデータの最上位ビット z ロードしたデータが 0 の時セット コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル 注 ...
  • CPU/命令セット/ADC
    ADC (Add with carry) [キャリー付き加算] 16 ビットアキュームレータモードの時、 キャリーは操作によって生成された時、 7 ビット目から 8 ビット目へ 適切に移動されるだろう (すなわち、$FF+4 = $0103 の $01 は アキュームレータの上位バイトへ、$03 は下位バイトへ入る)。 なので、キャリーは下位バイトが加算された時にクリアされる必要がある。 8 ビットアキュームレータモードと同様に、手動で 15 ビット目の上にキャリーがないかチェックする必要がある。 16 ビットモードの時、下位バイトが実効アドレスに置かれる。 上位バイトは、実行アドレス + 1 に置かれる。 フラグ変化 nv----zc n 結果の最上位ビット v サインドオーバーフローがあった時 1 z 結果が 0 の時 1 ...
  • CPU/命令セット/TCS
    TCS (Transfer Accumulator to Stack Pointer) [アキュームレータからスタックポインタへ転送] TCS 命令は、ステータスビットの m の状態を無視して 16 ビットのデータをスタックポインタに転送する。 TCD と TDC と同じように、TCS の 3 文字の中に含まれる、"C" は、 アキュームレータの 16 ビット全体 (C) を指している。 TAS はいくつかのアセンブラで使われている。 6502 エミュレーションモードの時のみ、 アキュームレータの 8 ビット分 (A) だけが転送される。 これは、6502 のスタックが常にページ 1 に存在しているため。 TCS と TXS の 2 つの命令だけがスタックポインタを変更できる。 TCS 命令では、ステータスレジスタ...
  • CPU/命令セット/DEC
    DEC (Decrement Memory) [デクリメント] 指定されたアドレスのデータもしくはアキュームレータを デクリメント (-1) する。 16 ビットアキュームレータモードの時 (m=0)、 16 ビット幅でデータを扱う。 下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。 フラグ変化 n-----z- n 結果の最上位ビットがセットされている時、セットする z 結果が 0 の時セット コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル 注 Accumulator DEC AAlias DEA 3A 1 2 Absolute DEC addr ...
  • CPU/命令セット/INC
    INC (Increment Data) [インクリメント] 指定されたアドレスのデータもしくはアキュームレータを インクリメント (+1) する。 16 ビットアキュームレータモードの時 (m=0)、 16 ビット幅でデータを扱う。 下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。 フラグ変化 n-----z- n 結果の最上位ビットがセットされている時、セットする z 結果が 0 の時セット コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル 注 Accumulator INC aAlias INA 1A 1 2 Absolute INC addr ...
  • CPU/命令セット/STZ
    STZ (Store Zero byte to Memory) [ゼロバイトをメモリにストア] 65816 で追加された命令。 STZ は、指定されたアドレスに 0 を書き込む。 8 ビット アキュームレータ/メモリモード (m=1) の時、 実効アドレスに 1 バイトを書き込む。 16 ビット アキュームレータ/メモリモード (m=0) の時、 実効アドレスと実効アドレス + 1 に書き込む。 フラグ変化は無し。 この命令は、次のような 6502 コードに置き換えることができるだろう。 lda #0 sta $xxxx しかし、STZ の場合はアキュームレータとステータスレジスタが 変更されない。 コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル 注 ...
  • CPU/命令セット/ORA
    ORA (OR Accumulator with Memory) [アキュームレータとメモリの論理和] 6502 の ORA と同じ動作で、新しいアドレッシングモードが使えるようになっている。 16 ビットメモリ/アキュームレータモードの時 (m=0)、データを 16 ビット幅で扱うことができる。 下位バイトは実効アドレスに入り、上位バイトは実効アドレス + 1 に入る。 フラグ変化 n-----z- n 結果の最上位ビットがセットされている時、セットする z 結果が 0 の時セット コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル 注 Immediate ORA #const 09 2* 2 1 ...
  • CPU/命令セット/ASL
    ASL (Arithmetic Shift Left) [算術左シフト] 全てのビットを左に 1 ビットシフトし、 シフト前の最上位ビットをキャリーに入れる。 16 ビットアキュームレータモード (m=0) の時、 16 ビット全てが 1 ビット左にシフトされる。 フラグ変化 n-----zc n 結果の最上位ビットの値 z 結果の値が 0 の時セット c シフトする前のメモリの値の、最上位ビット (7 ビット目 か 15 ビット目) の値 コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル 注 Accumulator ASL a 0A 1 2 Absolute ASL ...
  • CPU/命令セット/LSR
    LSR (Logical Shift Right) [論理右シフト] 全てのビットを右に 1 ビットシフトし、 シフト前の 0 ビット目をキャリーに入れる。 16 ビットアキュームレータモード (m=0) の時、 16 ビット全てが 1 ビット右にシフトされる。 フラグ変化 n-----zc n クリアされる z 結果が 0 の時セット c ビット 0 の値 コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル 注 Accumulator LSR a 4A 1 2 Absolute LSR addr 4E 3 6 1 Direct Pa...
  • CPU/命令セット/ROL
    ROL (Rotate Memory or Accumulator Left) [左回転シフト] 指定されたアドレスの値を左に回転シフトする。 最上位ビットはキャリーとして押し出され、 既に入っていたキャリーの値が右から現れる。 16 ビットアキュームレータモードの時 (m=0)、 16 ビット幅でデータを扱う。 下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。 フラグ変化 n-----zc n 結果の最上位ビットの値 z 結果が 0 の時セット c シフトする前のメモリの値の、最上位ビット (7 ビット目 か 15 ビット目) の値 コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル 注 Accu...
  • CPU/命令セット/ROR
    ROR (Rotate Memory or Accumulator Right) [右回転シフト] 指定されたアドレスの値を右に回転シフトする。 最下位ビットはキャリーとして押し出され、 既に入っていたキャリーの値が左から現れる。 16 ビットアキュームレータモードの時 (m=0)、 16 ビット幅でデータを扱う。 下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。 フラグ変化 n-----zc n 結果の最上位ビットの値 z 結果が 0 の時セット c シフトする前のメモリの値の、最下位ビット (0 ビット目) の値 コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル 注 Accumulator ...
  • CPU/レジスタ
    レジスタ一覧 レジスタ 名前 幅 アキュームレータ (A) 下位 8 bit が A, 上位 8 bit が B, 16bit 全体は C インデックスレジスタ (X) 8 bit または 16 bit インデックスレジスタ (Y) 8 bit または 16 bit ダイレクトページレジスタ (D) 16 bit スタックポインタ (S) 16 bit プログラムバンクレジスタ (PBR) 8 bit データバンクレジスタ (DBR) 8 bit プログラムカウンタ (PC) 16 bit プロセッサステータスレジスタ (P) 8 bit ...
  • CPU/命令セット/MVP
    MVP (Move Positive destination source) [プラス方向へブロック移動] MVP と MVN 命令は、ユーザが調整することなく メモリ位置からメモリ位置へデータを移動する。 これら 2 つの命令は、負の方向へデータを移動する時には それ自身は上書きされない。 転送元アドレスは X レジスタから、 転送先アドレスは Y レジスタから取得する。 転送するデータの長さは、ステータスフラグの m の 設定に関わらず、アキュームレータから 16 ビット分取得する。 この値は、実際に転送する量より 1 バイト少ない値を指定する (a=$0000 だと、 1 バイト転送する)。 2 つのオペランドは、転送元 64K バンクと、 転送先 64K バンクを指定する。 アセンブラでは、転送元, 転送先の順でオペランドを書くが...
  • CPU/命令セット/MVN
    MVN (Move Negative destination source) [マイナス方向へブロック移動] MVP と MVN 命令は、ユーザが調整することなく メモリ位置からメモリ位置へデータを移動する。 これら 2 つの命令は、負の方向へデータを移動する時には それ自身は上書きされない。 転送元アドレスは X レジスタから、 転送先アドレスは Y レジスタから取得する。 転送するデータの長さは、ステータスフラグの m の 設定に関わらず、アキュームレータから 16 ビット分取得する。 この値は、実際に転送する量より 1 バイト少ない値を指定する (a=$0000 だと、 1 バイト転送する)。 2 つのオペランドは、転送元 64K バンクと、 転送先 64K バンクを指定する。 アセンブラでは、転送元, 転送先の順でオペランドを書く...
  • CPU/アドレッシングモード/Accumulator
    Accumulator (アキュームレータ) オペランドとしてAレジスタを指定する。 例 LSR AAを左に1bitシフト
  • CPU/アドレッシングモード/Absolute Indexed Indirect
    Absolute Indexed Indirect (絶対アドレス間接インデックス指定) 絶対間接インデックスモードの命令は 3 バイト長の命令で、 オペランドに指定されたアドレスにインデックスレジスタの値を加算することで 実アドレスを得る。 6502 のプログラマは次に示すコードに見覚えがあるだろう。 (訳者注 下のコードは、数字を 1 桁分画面に表示するための サブルーチンのアドレスを引く処理だと思います。) SEC SBC "0" ; アスキーコードのゼロをアキュームレータから引く ASL ; テーブルの値を 2 倍する TAX ; ワードテーブルのオフセットを X レジスタに入れる LDA TABLE,X ; コマンドアドレスの下位バイトを取得 STA PTR ...
  • CPU/アドレッシングモード/Absolute Indexed,X
    Absolute Indexed,X () 24bitフルアドレスのうち下位16bitをアブソリュートに、 インデックスとしてXレジスタを使用して指定します。 上位8bitにはDBRを使用します。 例 ADC addr,X
  • CPU/アドレッシングモード/Absolute Indexed,Y
    Absolute Indexed,Y () 24bitフルアドレスのうち下位16bitをアブソリュートに、 インデックスとしてYレジスタを使用して指定します。 上位8ビットはDBRを使用します。 例 ADC addr,Y
  • CPU/アドレッシングモード/Absolute Indirect
    Absolute Indirect (絶対アドレス間接指定) 24bitフルアドレスのうち下位16bitにアブソリュート、 上位8bitを0に固定して指定された内容を使用します。 上位8bitはPBRを使用します。 例 JMP (addr)
  • CPU/命令セット/TYA
    TYA (Transfer Y index register to the accumulator) [Yレジスタからアキュームレータへ転送] レジスタ間転送命令について フラグ変化 n-----z- n 転送された値の最上位ビットの値 z 転送された値が 0 の時セット コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル Implied TYA 98 1 2
  • CPU/命令セット/TXA
    TXA (Transfer X index register to the accumulator) [Xレジスタからアキュームレータへ転送] レジスタ間転送命令について フラグ変化 n-----z- n 転送された値の最上位ビットの値 z 転送された値が 0 の時セット コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル Implied TXA 8A 1 2
  • CPU/命令セット/TAX
    TAX (Transfer accumulator to X index register) [アキュームレータからXレジスタへ転送] レジスタ間転送命令について フラグ変化 n-----z- n 転送された値の最上位ビットの値 z 転送された値が 0 の時セット コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル Implied TAX AA 1 2
  • CPU/命令セット/TAY
    TAY (Transfer accumulator to Y index register) [アキュームレータからYレジスタへ転送] レジスタ間転送命令について フラグ変化 n-----z- n 転送された値の最上位ビットの値 z 転送された値が 0 の時セット コード一覧 アドレッシングモード 文法 オペコード バイト数 命令サイクル Implied TAY A8 1 2
  • CPU/アドレッシングモード/Block Move
    Block Move (ブロック移動) このモードは、65816 で追加された 2 つの命令で使用する。 (Block Move Positive と Block Move Negative) これらの命令は、64KB のデータを別の場所に移動させる時に使われる。 移動命令の実行準備として、まずアキュームレータに移動させる データのサイズを入れる。 次に X レジスタに移動するデータの転送元アドレスを、 Y レジスタに転送先アドレスを入れる。 最後にブロック移動命令を呼び出すことで、データを移動することができる。 移動には、1 バイトにつき 7 サイクルを要する。 例 MVP 0,0
  • IO ポート (サウンド)/DSP
    0xX0 - VxVOLL (音声xの左ボリューム) D7 D6 D5 D4 D3 D2 D1 D0 符号 VOL L チャネルに乗算されるボリューム。 2 の補数形式で値を入れる。 負の数を入れると、位相が反転する。 アドレス値の X には 0 ~ 7 が入る。 0xX1 - VxVOLR (音声xの右ボリューム) D7 D6 D5 D4 D3 D2 D1 D0 符号 VOL R チャネルに乗算されるボリューム。 2 の補数形式で値を入れる。 負の数を入れると、位相が反転する。 アドレス値の X には 0 ~ 7 が入る。 ...
  • @wiki全体から「メニュー2」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索