オペコードテーブル

オペコードテーブルオペコードマトリックスとも呼ばれる)は、命令セット内のすべてのオペコードを視覚的に表現したものです。テーブルの各軸は上位ニブルまたは下位ニブルを表し、これらを組み合わせることでオペコードの完全なバイトが形成されます。オペコードプレフィックスを使用して作成された追加の命令については、追加のオペコードテーブルが存在する場合があります

表の値

オペコード テーブルの構造と配置は次のようになります。

0123456789BCDEF
0000102030405060708090A0B0℃0D0E0F
1101112131415161718191A1B1C1D1E1階
2202122232425262728292A2B2C2D2E2階
3303132333435363738393A3B3C3D3E3階
4404142434445464748494A4B4C4D4E4階
5505152535455565758595A5B5C5D5E5階
6606162636465666768696A6B6C6D6E6階
7707172737475767778797A7B7C7D7E7階
8808182838485868788898A8B8C8D8E8階
9909192939495969798999A9B9C9D9E9階
A0A1A2A3A4A5A6A7A8A9AAAB交流広告AEAF
BB0B1B2B3B4B5B6B7B8B9学士BB紀元前BDなれボーイフレンド
CC0C1C2C3C4C5C6C7C8C9カリフォルニア州CBCCCDCECF
DD0D1D2D3D4D5D6D7D8D9DBDCDDドイツDF
EE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
FF0F1F2F3F4F5F6F7F8F9FAフェイスブックFCFDFEFF

00~FF の各セルには、オペコードに対応する同等のアセンブリ命令、パラメーター、CPU サイクル数などの操作に関する情報が含まれています。

オペコードテーブルの例

これは1975年のMOSテクノロジー6502マイクロプロセッサのオペコード表です。6502は8ビットのオペコードを使用します。8ビットパターンで利用可能な256種類のオペコードのうち、オリジナルの6502では151種類のみが使用され、56個の命令と(おそらく)複数のアドレッシングモードが使用されていました。[1] 256種類のオペコードすべてが使用されるわけではないため、一部のオペコード空間は空白になっており、下位ニブルの列3、7、B、Fは表に含まれていません。

6502命令セットのオペコードマトリックス
アドレッシングモード: A – アキュムレータ、# – 即値、zpg – ゼロページ、abs – 絶対、ind – 間接、X – Xレジスタによるインデックス、Y – Yレジスタによるインデックス、rel – 相対
ハイニブル低いニブル
01245689CDE
0BRKORA ( ind ,X)ORA zpgASL zpgPHPオラ #アメリカ手話AORA腹筋ASL腹筋
1BPL relORA ( ind ),YORA zpg、XASL zpg、XCLCORA abs、YORA abs、XASL腹筋、X
2JSR腹筋AND ( ind ,X)ビットzpgそしてzpgROL zpgPLPそして #ロールABIT腹筋そして腹筋ROL腹筋
3BMI相対AND ( ind ),Yそしてzpg、XROL zpg、XSECAND abs、Yそして腹筋、XROL腹筋、X
4RTIEOR ( ind ,X)EOR zpgLSR zpgPHAEOR #LSR AJMP絶対値EOR絶対値LSR腹筋
5BVC relEOR ( ind ),YEOR zpg、XLSR zpg、XコマンドラインEOR絶対、YEOR絶対、XLSRアブス、X
6RTSADC ( ind ,X)ADC zpgROR zpg人民解放軍ADC番号ROR AJMP (インディ)ADC絶対値ROR腹筋
7BVS relADC ( ind ),YADC zpg、XROR zpg、XセイADC絶対値、YADC絶対値、XROR腹筋、X
8STA ( ind ,X)STY zpgSTA zpgSTX zpgデイTXASTY腹筋STA腹筋STX腹筋
9BCC relSTA ( ind ),YSTY zpg、XSTA zpg、XSTX zpg、YありがとうSTA絶対値、YTXSSTA腹筋、X
LDY番号LDA ( ind ,X)LDX #LDY zpgLDA zpgLDX zpgテイLDA番号LDY腹筋LDA腹筋LDX腹筋
BBCS relLDA ( ind ),YLDY zpg、XLDA zpg、XLDX zpg、YCLVLDA絶対値、YTSXLDY abs、XLDAアブス、XLDX絶対値、Y
CCPY #CMP (インデックス,X)CPY zpgCMP zpg12 月zpgINYCMP #デックスCPY絶対値CMP腹筋DEC絶対値
DBNE relCMP ( ind ),YCMP zpg、XDEC zpg、XCLDCMP絶対値、YCMP絶対値、X小数点 X
ECPX番号SBC ( ind ,X)CPX zpgSBC zpgINC zpgインクスSBC番号いいえCPX腹筋SBC腹筋INC腹筋
FBEQ relSBC ( ind ),YSBC zpg、XINC zpg、XSEDSBC絶対値、YSBC腹筋、XINC abs、X

参考文献

  1. ^ パーカー、ニール. 「6502/65C02/65C816命令セットの解読」ニール・パーカーのApple IIページ. 2019年7月16日時点のオリジナルよりアーカイブ。 2019年7月16日閲覧
  • ゲームボーイ LR35902 オペコード表
  • Z80 オペコードテーブル
  • Intel x86 オペコードテーブル
  • 6502/6510/8500/8502 オペコード表
「https://en.wikipedia.org/w/index.php?title=Opcode_table&oldid=1319440220」から取得