??? {
int op; // オペコード
signed char preg, mreg, bas, idx, scl;
// pregはmod r/mの真ん中のレジスタ
// mregはmod r/mで表すレジスタ(ここが-1だとレジスタではなくメモリになる)
// basはmod r/mで表すベースレジスタ(使わないのなら-1)
// idxはsibで表すインデックスレジスタ(使わないのなら-1)
// sclはsibで表すスケールファクタ(使わないのなら0)
int dsp; // mod r/mのディスプレースメント
int imm32;
AInt64 imm64;
};| grd.c | mandel.c | maze.c | kcube.c | invader.c | |
| HL-16a | 158 | 622 | 1274 | 3125 | 1958 |
| HLX-001 (2021.07.21版) | 266 | 1004 | 1931 | 4486 | 2901 |
| grd.c | mandel.c | maze.c | kcube.c | invader.c | ||
| HL-16a | 158 | 622 | 1274 | 3125 | 1958 | |
| HL-16a | 230 | 760 | 1542 | 3503 | 2366 | レジスタ変数を一切使わない場合(比較用)。 |
| HLX-001 (2021.07.21版) | 266 | 1004 | 1931 | 4486 | 2901 | 最適化ほとんどなし。 |
| HLX-001 (2021.07.30a版) | 242 | 944 | 1919 | 4390 | 2773 | 中間コードレベルで、不要な演算を削除。 |
| HLX-001 (2021.07.30b版) | 242 | 908 | 1919 | 4198 | 2729 | 中間コードレベルで、不要な一時変数を削除。 |
| HLX-001 (2021.07.31版) | 210 | 740 | 1525 | 3550 | 2293 | 機械語レベルで、不要な演算を削除。 |
| HLX-001 (2021.08.01版) | 210 | 740 | 1511 | 3522 | 2251 |
| コメント | お名前 | NameLink | |