page0013
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* OSECPUの仮想CPUの命令セット
-(by [[K]], 2013.03.26)
* リビジョン 0003
** ver.0.07
NOP 00 ...
LABEL im32 01 00 [im32] ...
LOADINT Rxx, im32 02 [Rxx] [im32] ...
LOADLBL Pxx, im32 03 [Pxx] [im32] ...
COND Rxx 04 [Rxx] ...
READINT Rxx, ty32, Pxx, mc 08 [Rxx] [ty32] [Pxx] mc ...
WRITINT Rxx, ty32, Pxx, mc 09 [Rxx] [ty32] [Pxx] mc ...
ADDPTR Pxx, ty32, Pxx, Rxx 0E [Pxx] [ty32] [Pxx] [Rxx] ...
DIFFPTR Rxx, ty32, Pxx, Pxx 0F [Rxx] [ty32] [Pxx] [Pxx] ...
COPYINT Rxx, Rxx 10 [Rxx] [Rxx] FF ...
ORINT Rxx, Rxx, Rxx 10 [Rxx] [Rxx] [Rxx] ...
XORINT Rxx, Rxx, Rxx 11 [Rxx] [Rxx] [Rxx] ...
ANDINT Rxx, Rxx, Rxx 12 [Rxx] [Rxx] [Rxx] ...
ADDINT Rxx, Rxx, Rxx 14 [Rxx] [Rxx] [Rxx] ...
SUBINT Rxx, Rxx, Rxx 15 [Rxx] [Rxx] [Rxx] ...
MULINT Rxx, Rxx, Rxx 16 [Rxx] [Rxx] [Rxx] ...
18 [Rxx] [Rxx] [Rxx] ...
19 [Rxx] [Rxx] [Rxx] ...
1A [Rxx] [Rxx] [Rxx] ...
1B [Rxx] [Rxx] [Rxx] ...
1C [Pxx] [Pxx] ...
1D [Pxx] [Pxx] ...
COPYPTR Pxx, Pxx 1E [Pxx] [Pxx] ...
1F [Pxx] [Pxx] [ty32] [ty32]...
COMPE Rxx, Rxx, Rxx 20 [Rxx] [Rxx] [Rxx] ...
COMPNE Rxx, Rxx, Rxx 21 [Rxx] [Rxx] [Rxx] ...
COMPL Rxx, Rxx, Rxx 22 [Rxx] [Rxx] [Rxx] ...
COMPGE Rxx, Rxx, Rxx 23 [Rxx] [Rxx] [Rxx] ...
COMPLE Rxx, Rxx, Rxx 24 [Rxx] [Rxx] [Rxx] ...
COMPG Rxx, Rxx, Rxx 25 [Rxx] [Rxx] [Rxx] ...
TESTZ Rxx, Rxx, Rxx 26 [Rxx] [Rxx] [Rxx] ...
TESTNZ Rxx, Rxx, Rxx 27 [Rxx] [Rxx] [Rxx] ...
COMPPE Rxx, Pxx, Pxx 28 [Rxx] [Pxx] [Pxx] ...
COMPPEN Rxx, Pxx 28 [Rxx] [Pxx] FF ...
COMPPNE Rxx, Pxx, Pxx 29 [Rxx] [Pxx] [Pxx] ...
COMPPNEN Rxx, Pxx 29 [Rxx] [Pxx] FF ...
COMPPL Rxx, Pxx, Pxx 2A [Rxx] [Pxx] [Pxx] ...
COMPPGE Rxx, Pxx, Pxx 2B [Rxx] [Pxx] [Pxx] ...
COMPPLE Rxx, Pxx, Pxx 2C [Rxx] [Pxx] [Pxx] ...
COMPPG Rxx, Pxx, Pxx 2D [Rxx] [Pxx] [Pxx] ...
-整数レジスタ番号Rxxはすべて1バイトで記述(ただし0~63ま...
-im32はビッグエンディアンで書きます(x86とは逆になって、...
** ver.0.08以降
-05: ?
-06: ?
-07: ?
-0A: READPTR Pxx, typ32, Pxx, membchain
-0B: WRITPTR Pxx, typ32, Pxx, membchain
-0C: LOADEA Pxx, typ32, Pxx, membchain
-0D: 0D [imm8] アサートレベル指定
-18: SHL, SAR, DIV, MOD
-1C: LMTPTR0 Pxx, Pxx
-1D: LMTPTR1 Pxx, Pxx
-1F: CASTPTR Pxx, Pxx, typ32, typ32
** 特別なレジスタ
-R30~R3F : 定数が入っていることが期待される。これらのレ...
-R3C~R3F : 一時定数レジスタ
--このレジスタの値は短期間で使う。つまり関数内で保存とか...
--JITCがこの代入コードを生成しないこともありうる。
-R2F : COMPcc命令の際に結果を格納することだけできるレジス...
--COMPcc(R2F,R??,R??); COND(R2F); LOADLBL(P00, ????????);...
--R2Fは他の使い方を許されていない。実際にはR2Fに値は格納...
---この場合CMP+Jccに変換されている。
-P00 : プログラムカウンタ
--ここへラベル値を代入するとそれがジャンプ命令となる。
-P01 : スタックフレームのポインタ
** こめんと欄
-このページにこめんと欄はありません。このページの内容にコ...
終了行:
* OSECPUの仮想CPUの命令セット
-(by [[K]], 2013.03.26)
* リビジョン 0003
** ver.0.07
NOP 00 ...
LABEL im32 01 00 [im32] ...
LOADINT Rxx, im32 02 [Rxx] [im32] ...
LOADLBL Pxx, im32 03 [Pxx] [im32] ...
COND Rxx 04 [Rxx] ...
READINT Rxx, ty32, Pxx, mc 08 [Rxx] [ty32] [Pxx] mc ...
WRITINT Rxx, ty32, Pxx, mc 09 [Rxx] [ty32] [Pxx] mc ...
ADDPTR Pxx, ty32, Pxx, Rxx 0E [Pxx] [ty32] [Pxx] [Rxx] ...
DIFFPTR Rxx, ty32, Pxx, Pxx 0F [Rxx] [ty32] [Pxx] [Pxx] ...
COPYINT Rxx, Rxx 10 [Rxx] [Rxx] FF ...
ORINT Rxx, Rxx, Rxx 10 [Rxx] [Rxx] [Rxx] ...
XORINT Rxx, Rxx, Rxx 11 [Rxx] [Rxx] [Rxx] ...
ANDINT Rxx, Rxx, Rxx 12 [Rxx] [Rxx] [Rxx] ...
ADDINT Rxx, Rxx, Rxx 14 [Rxx] [Rxx] [Rxx] ...
SUBINT Rxx, Rxx, Rxx 15 [Rxx] [Rxx] [Rxx] ...
MULINT Rxx, Rxx, Rxx 16 [Rxx] [Rxx] [Rxx] ...
18 [Rxx] [Rxx] [Rxx] ...
19 [Rxx] [Rxx] [Rxx] ...
1A [Rxx] [Rxx] [Rxx] ...
1B [Rxx] [Rxx] [Rxx] ...
1C [Pxx] [Pxx] ...
1D [Pxx] [Pxx] ...
COPYPTR Pxx, Pxx 1E [Pxx] [Pxx] ...
1F [Pxx] [Pxx] [ty32] [ty32]...
COMPE Rxx, Rxx, Rxx 20 [Rxx] [Rxx] [Rxx] ...
COMPNE Rxx, Rxx, Rxx 21 [Rxx] [Rxx] [Rxx] ...
COMPL Rxx, Rxx, Rxx 22 [Rxx] [Rxx] [Rxx] ...
COMPGE Rxx, Rxx, Rxx 23 [Rxx] [Rxx] [Rxx] ...
COMPLE Rxx, Rxx, Rxx 24 [Rxx] [Rxx] [Rxx] ...
COMPG Rxx, Rxx, Rxx 25 [Rxx] [Rxx] [Rxx] ...
TESTZ Rxx, Rxx, Rxx 26 [Rxx] [Rxx] [Rxx] ...
TESTNZ Rxx, Rxx, Rxx 27 [Rxx] [Rxx] [Rxx] ...
COMPPE Rxx, Pxx, Pxx 28 [Rxx] [Pxx] [Pxx] ...
COMPPEN Rxx, Pxx 28 [Rxx] [Pxx] FF ...
COMPPNE Rxx, Pxx, Pxx 29 [Rxx] [Pxx] [Pxx] ...
COMPPNEN Rxx, Pxx 29 [Rxx] [Pxx] FF ...
COMPPL Rxx, Pxx, Pxx 2A [Rxx] [Pxx] [Pxx] ...
COMPPGE Rxx, Pxx, Pxx 2B [Rxx] [Pxx] [Pxx] ...
COMPPLE Rxx, Pxx, Pxx 2C [Rxx] [Pxx] [Pxx] ...
COMPPG Rxx, Pxx, Pxx 2D [Rxx] [Pxx] [Pxx] ...
-整数レジスタ番号Rxxはすべて1バイトで記述(ただし0~63ま...
-im32はビッグエンディアンで書きます(x86とは逆になって、...
** ver.0.08以降
-05: ?
-06: ?
-07: ?
-0A: READPTR Pxx, typ32, Pxx, membchain
-0B: WRITPTR Pxx, typ32, Pxx, membchain
-0C: LOADEA Pxx, typ32, Pxx, membchain
-0D: 0D [imm8] アサートレベル指定
-18: SHL, SAR, DIV, MOD
-1C: LMTPTR0 Pxx, Pxx
-1D: LMTPTR1 Pxx, Pxx
-1F: CASTPTR Pxx, Pxx, typ32, typ32
** 特別なレジスタ
-R30~R3F : 定数が入っていることが期待される。これらのレ...
-R3C~R3F : 一時定数レジスタ
--このレジスタの値は短期間で使う。つまり関数内で保存とか...
--JITCがこの代入コードを生成しないこともありうる。
-R2F : COMPcc命令の際に結果を格納することだけできるレジス...
--COMPcc(R2F,R??,R??); COND(R2F); LOADLBL(P00, ????????);...
--R2Fは他の使い方を許されていない。実際にはR2Fに値は格納...
---この場合CMP+Jccに変換されている。
-P00 : プログラムカウンタ
--ここへラベル値を代入するとそれがジャンプ命令となる。
-P01 : スタックフレームのポインタ
** こめんと欄
-このページにこめんと欄はありません。このページの内容にコ...
ページ名: