fdpl_memo0003
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* KH-FDPL に関するメモ-0003
-(by [[K]], 2015.01.19)
** 基本方針
-どうせメモなので、気にせずどんどん書く。後で整理すればい...
** いろいろと整理
-基本オブジェクト:
--0: nullオブジェクト
--1: 32ビット整数オブジェクト
--2: 倍精度浮動小数点オブジェクト
--3: 可変長バイト列オブジェクト
--4: DB型オブジェクト
--5: 単純一次元配列オブジェクト(可変長)
--6: 実行可能バイトコードオブジェクト(実体は2に準ずる)
---中身の生データを自由にはアクセスできない。専用の関数な...
//--6: 各種ハンドル・ポインタ類(分岐先アドレスなど)
//---中身の生データを自由にはアクセスできない。専用の関数...
** 上位言語の仕様のメモ
-明示しない限り整数オブジェクトは生成されない。基本的に倍...
-通常の代入は、同じ型の実体を作った後に内容をcopyする。
--もしすでに実体があって、それに上書きするときは、同型の...
** 最下部バイトコード仕様
-基本的にレジスタマシン。スタックマシンはもうやめた(バイ...
-レジスタはまあ32本もあれば十分だろう。本当は16本でも十分...
-レジスタは原則としてオブジェクトを指す。差していたオブジ...
-用途が固定されているレジスタ
--エラー報告用整数オブジェクト
--アクセス権管理オブジェクト
--名前解決用のスコープオブジェクト
-00: NOP
-01: オブジェクトの生成: [01 typ reg]: typに80をORすると...
--typ=0xffでnullのロードもできる。
-02: オブジェクトのretain: [02 reg mod]: modが1だと子供も...
-03: オブジェクトのrelease: [03 reg mod]: modが1だと子供...
-04: 定数のロード:[04 reg typ imm]
-05: 要素検索: [05 reg(obj) mod reg(key) reg(out:value)]
-06: 要素の追加: [06 reg(obj) mod reg(key) reg(value)]: m...
-07: 要素の削除: [07 reg(obj) mod reg(key)]: modが1だとke...
-08: 値のコピー: [08 reg(in) mod reg(out)]: modが80だと子...
--コピーとは、inをいじってもoutが改変されない状態であるこ...
-09: 値のリンク: [09 reg(in) mod reg(out)]
--リンクとは、inをいじった時にoutにも影響される状態である。
-0a: ラベル設定: [0a label mod]: ラベルオブジェクトが作ら...
-0b: ラベル定数のロード: [0b label reg] (これいらない、0...
-0c: 条件分岐: [0c reg(cond) label]: reg==0は無条件分岐に...
-0d: 条件分岐: [0d reg(cond) reg]
-0e: releasePoolのopen
-0f: releasePoolのclose
-10: or: [10 reg(in) reg(in) reg(out)]
-11: xor
-12: and
-13:
-14: add
-15: sub
-16: mul
-17: shl
-18: sar
-19: shr
-1a: div
-1b: mod
-20: cmpe
-21: cmpne
-22: cmpl (a<b)
-23: cmpge (a>=b)
-24: cmple (a<=b)
-25: cmpg (a>b)
-残り:
--0d: エラーレジスタへの定数設定: [0d index imm]
--各種の演算
--名前設定
--名前削除
--名前解決: [0c reg(name)
* こめんと欄
#comment
終了行:
* KH-FDPL に関するメモ-0003
-(by [[K]], 2015.01.19)
** 基本方針
-どうせメモなので、気にせずどんどん書く。後で整理すればい...
** いろいろと整理
-基本オブジェクト:
--0: nullオブジェクト
--1: 32ビット整数オブジェクト
--2: 倍精度浮動小数点オブジェクト
--3: 可変長バイト列オブジェクト
--4: DB型オブジェクト
--5: 単純一次元配列オブジェクト(可変長)
--6: 実行可能バイトコードオブジェクト(実体は2に準ずる)
---中身の生データを自由にはアクセスできない。専用の関数な...
//--6: 各種ハンドル・ポインタ類(分岐先アドレスなど)
//---中身の生データを自由にはアクセスできない。専用の関数...
** 上位言語の仕様のメモ
-明示しない限り整数オブジェクトは生成されない。基本的に倍...
-通常の代入は、同じ型の実体を作った後に内容をcopyする。
--もしすでに実体があって、それに上書きするときは、同型の...
** 最下部バイトコード仕様
-基本的にレジスタマシン。スタックマシンはもうやめた(バイ...
-レジスタはまあ32本もあれば十分だろう。本当は16本でも十分...
-レジスタは原則としてオブジェクトを指す。差していたオブジ...
-用途が固定されているレジスタ
--エラー報告用整数オブジェクト
--アクセス権管理オブジェクト
--名前解決用のスコープオブジェクト
-00: NOP
-01: オブジェクトの生成: [01 typ reg]: typに80をORすると...
--typ=0xffでnullのロードもできる。
-02: オブジェクトのretain: [02 reg mod]: modが1だと子供も...
-03: オブジェクトのrelease: [03 reg mod]: modが1だと子供...
-04: 定数のロード:[04 reg typ imm]
-05: 要素検索: [05 reg(obj) mod reg(key) reg(out:value)]
-06: 要素の追加: [06 reg(obj) mod reg(key) reg(value)]: m...
-07: 要素の削除: [07 reg(obj) mod reg(key)]: modが1だとke...
-08: 値のコピー: [08 reg(in) mod reg(out)]: modが80だと子...
--コピーとは、inをいじってもoutが改変されない状態であるこ...
-09: 値のリンク: [09 reg(in) mod reg(out)]
--リンクとは、inをいじった時にoutにも影響される状態である。
-0a: ラベル設定: [0a label mod]: ラベルオブジェクトが作ら...
-0b: ラベル定数のロード: [0b label reg] (これいらない、0...
-0c: 条件分岐: [0c reg(cond) label]: reg==0は無条件分岐に...
-0d: 条件分岐: [0d reg(cond) reg]
-0e: releasePoolのopen
-0f: releasePoolのclose
-10: or: [10 reg(in) reg(in) reg(out)]
-11: xor
-12: and
-13:
-14: add
-15: sub
-16: mul
-17: shl
-18: sar
-19: shr
-1a: div
-1b: mod
-20: cmpe
-21: cmpne
-22: cmpl (a<b)
-23: cmpge (a>=b)
-24: cmple (a<=b)
-25: cmpg (a>b)
-残り:
--0d: エラーレジスタへの定数設定: [0d index imm]
--各種の演算
--名前設定
--名前削除
--名前解決: [0c reg(name)
* こめんと欄
#comment
ページ名: