page0104
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* OSECPU-VMのレジスタ
-(by [[K]], 2014.08.04)
** (0)
-rev2になって浮動小数点レジスタが追加されたり、ローカルレ...
** (1) 標準構成のレジスタ
-Rxx : 整数レジスタ (全64本)
--符号付き整数レジスタで、特にビット幅は規定されておらず...
--VMは指定されたビット幅か、もしくはそれを超えるビット幅...
--VMにとってサポートできないビット幅が指定されたときは、...
--なおASKAはあまり頭がよくないので、無条件に32ビットのビ...
--R00~R27 : ローカルレジスタ。関数の中で自由に使えます。...
--R28~R2B : グローバルレジスタ(アプリ用)。全関数を通じ...
--R2C~R2F : グローバルレジスタ(システム用)。全関数を通...
--R30~R3B : テンポラリレジスタ。演算時の一時的な値や、関...
--R3C~R3F : 特殊レジスタ。VMが特別な用途で使うレジスタで...
-Pxx : ポインタレジスタ (全64本)
--メモリを指し示すことができるレジスタで、ビット数などは...
---メモリなどを経由しても、ポインタレジスタの値を読み取る...
--P00~P27 : ローカルレジスタ。
---ただしP00はベースポインタとして使われる予定なので、P01...
--P28~P2B : グローバルレジスタ(アプリ用)。
--P2C~P2F : グローバルレジスタ(システム用)。
--P30~P3B : テンポラリレジスタ。
--P3C~P3F : 特殊レジスタ。
-Fxx : 浮動小数点レジスタ(floatレジスタ) (全64本)
--浮動小数点値を保持できるレジスタで、ビット数は32か64か...
--このレジスタをサポートしないVMもあり得ます。
--F00~F27 : ローカルレジスタ。
--F28~F2B : グローバルレジスタ(アプリ用)。
--F2C~F2F : グローバルレジスタ(システム用)。
--F30~F3B : テンポラリレジスタ。
--F3C~F3F : 特殊レジスタ。
-DRx : デバッグレジスタ (全4本:将来増やすかもしれません)
--アプリはこのレジスタに符号付き整数の定数のみを代入する...
--DR0 : 行番号情報
--DR1 : モジュール番号(DLLなどが入り乱れても区別できるよ...
--DR2 : 未定
--DR3 : 未定
--これらのレジスタもビット数は規定されていません。基本的...
** (2) m32構成のレジスタ
-標準構成との差異のみを記述します。
-Rxxレジスタはすべて32ビットに固定化されます。
-Fxxレジスタはすべて32ビットに固定化されます。
-DRxレジスタはすべて32ビットに固定化されます。
** (3) テクニック的なこと
-R3Fは、直後の命令のimmの代わりに使われます(バックエンド...
--フロントエンドコードでは命令にimmが使えますが、それらは...
-P3Fへの代入は、ジャンプ命令として扱われます。
-関数呼び出しに際して、OSECPU-VMはスタックを使いません。P...
-P2Fには、API関数のポインタが入っています。ここを呼び出す...
* こめんと欄
#comment
終了行:
* OSECPU-VMのレジスタ
-(by [[K]], 2014.08.04)
** (0)
-rev2になって浮動小数点レジスタが追加されたり、ローカルレ...
** (1) 標準構成のレジスタ
-Rxx : 整数レジスタ (全64本)
--符号付き整数レジスタで、特にビット幅は規定されておらず...
--VMは指定されたビット幅か、もしくはそれを超えるビット幅...
--VMにとってサポートできないビット幅が指定されたときは、...
--なおASKAはあまり頭がよくないので、無条件に32ビットのビ...
--R00~R27 : ローカルレジスタ。関数の中で自由に使えます。...
--R28~R2B : グローバルレジスタ(アプリ用)。全関数を通じ...
--R2C~R2F : グローバルレジスタ(システム用)。全関数を通...
--R30~R3B : テンポラリレジスタ。演算時の一時的な値や、関...
--R3C~R3F : 特殊レジスタ。VMが特別な用途で使うレジスタで...
-Pxx : ポインタレジスタ (全64本)
--メモリを指し示すことができるレジスタで、ビット数などは...
---メモリなどを経由しても、ポインタレジスタの値を読み取る...
--P00~P27 : ローカルレジスタ。
---ただしP00はベースポインタとして使われる予定なので、P01...
--P28~P2B : グローバルレジスタ(アプリ用)。
--P2C~P2F : グローバルレジスタ(システム用)。
--P30~P3B : テンポラリレジスタ。
--P3C~P3F : 特殊レジスタ。
-Fxx : 浮動小数点レジスタ(floatレジスタ) (全64本)
--浮動小数点値を保持できるレジスタで、ビット数は32か64か...
--このレジスタをサポートしないVMもあり得ます。
--F00~F27 : ローカルレジスタ。
--F28~F2B : グローバルレジスタ(アプリ用)。
--F2C~F2F : グローバルレジスタ(システム用)。
--F30~F3B : テンポラリレジスタ。
--F3C~F3F : 特殊レジスタ。
-DRx : デバッグレジスタ (全4本:将来増やすかもしれません)
--アプリはこのレジスタに符号付き整数の定数のみを代入する...
--DR0 : 行番号情報
--DR1 : モジュール番号(DLLなどが入り乱れても区別できるよ...
--DR2 : 未定
--DR3 : 未定
--これらのレジスタもビット数は規定されていません。基本的...
** (2) m32構成のレジスタ
-標準構成との差異のみを記述します。
-Rxxレジスタはすべて32ビットに固定化されます。
-Fxxレジスタはすべて32ビットに固定化されます。
-DRxレジスタはすべて32ビットに固定化されます。
** (3) テクニック的なこと
-R3Fは、直後の命令のimmの代わりに使われます(バックエンド...
--フロントエンドコードでは命令にimmが使えますが、それらは...
-P3Fへの代入は、ジャンプ命令として扱われます。
-関数呼び出しに際して、OSECPU-VMはスタックを使いません。P...
-P2Fには、API関数のポインタが入っています。ここを呼び出す...
* こめんと欄
#comment
ページ名: