page0009
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* CPU非依存アセンブラ
-(by [[K]], 2018.05.01)
** (1) 位置づけ
-Essenでは、いきなりx86の機械語を出力してJITコンパイルす...
--(註:2013年に作っていたOSECPU-VMでは直接x86の機械語を...
-Essenのプログラムはまず「CPU非依存アセンブラ」に変換され...
-多段式にすることでおそらくトータルでの変換速度は落ちるが...
** (2) 基本文法
-どうせこのレイヤで人間が直接プログラムを書くことはほとん...
-[1] 語の区切りはスペースかタブか改行(複数でもいい)。
-[2] C言語っぽい見た目。
-[3] しょせんはアセンブラなので、 d = a + b + c みたいに...
-[4] I32型の変数をいくつでも作れる。これらはメモリやレジ...
-[5] このレイヤではポインタのチェックや演算のオーバーフロ...
-[6] このレイヤでは構造体はサポートしない。
-[7] このレイヤでは配列アクセスはリード・ライトしかサポー...
-ということで、例。
I32 a , b , c ; // コメントが書ける。 I32はInt32のこと。
// プログラム中で使われる変数の数が少ない場合、ロー...
// 宣言順に EAX, ECX, EDX, EBX, ESI, EDI になる。
a = 10 ; // MOV EAX,10 になる。
c = 1 ; // MOV EDX,1 になる。
b = a + c ; // MOV ECX,EAX; ADD ECX,EDXになる。
* こめんと欄
#comment
終了行:
* CPU非依存アセンブラ
-(by [[K]], 2018.05.01)
** (1) 位置づけ
-Essenでは、いきなりx86の機械語を出力してJITコンパイルす...
--(註:2013年に作っていたOSECPU-VMでは直接x86の機械語を...
-Essenのプログラムはまず「CPU非依存アセンブラ」に変換され...
-多段式にすることでおそらくトータルでの変換速度は落ちるが...
** (2) 基本文法
-どうせこのレイヤで人間が直接プログラムを書くことはほとん...
-[1] 語の区切りはスペースかタブか改行(複数でもいい)。
-[2] C言語っぽい見た目。
-[3] しょせんはアセンブラなので、 d = a + b + c みたいに...
-[4] I32型の変数をいくつでも作れる。これらはメモリやレジ...
-[5] このレイヤではポインタのチェックや演算のオーバーフロ...
-[6] このレイヤでは構造体はサポートしない。
-[7] このレイヤでは配列アクセスはリード・ライトしかサポー...
-ということで、例。
I32 a , b , c ; // コメントが書ける。 I32はInt32のこと。
// プログラム中で使われる変数の数が少ない場合、ロー...
// 宣言順に EAX, ECX, EDX, EBX, ESI, EDI になる。
a = 10 ; // MOV EAX,10 になる。
c = 1 ; // MOV EDX,1 になる。
b = a + c ; // MOV ECX,EAX; ADD ECX,EDXになる。
* こめんと欄
#comment
ページ名: