memo0001
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* Essen開発メモ(1)
-(by [[K]], 2018.03.05)
** 2018.03.05(月) #00 JITBで遊ぶ
-JITBというのは、即興で考えた造語。JITコンパイラはJITC。...
-そのJITBを作って、コンソールから入力した16進数がすぐに実...
-やっぱりJITAくらいじゃないと、結構大変である。16進数を全...
** 2018.03.06(火) #00 次はどうしようか
-とりあえず[[page0002]]でJITBについては遊びつくしたので、...
** 2018.03.08(木) #00 JITA
-ひとまずJITAを作り始めた。オペコードのみの命令ならアセン...
-今は238行で5.0KB。
** 2018.03.19(月) #00
-もはやのんびりと作って壊してまた作って・・・をやっている...
** 2018.04.01(日) #00
-さて、年度も変わったことだし、明日からちょっとずつ再開し...
** 2018.04.11(水) #00
-EssenRev4のJITコンパイルでは、浮動小数点演算でFP命令を使...
-ということで、参考になりそうなサイトを探しておいたので、...
--SSE2による浮動小数演算の仕組みと検証 https://codezine....
--x86/x64 SIMD命令一覧表 (SSE~AVX2) http://www.offic...
--PAND (Logical AND) https://cmpsb.net/asm/x86/instr/vie...
** 2018.04.17(火) #00
-昨日C言語でちょっとしたプログラムを書いていて、まあこん...
-もちろんプログラムはその後あっさりと直ったわけだけど、ど...
-まあ「どこまでテストするかはプログラマの自由です」としか...
-ユニットテストがしたいのかというと、まあそれでもいいかも...
** 2018.04.17(火) #01
-とりあえず、230行くらいはできた。といってもメモリ管理部...
-いやその、セキュアな言語を作るためには、まず言語を作りや...
-そしてC言語はメモリ管理が大変なので、まずはメモリ管理を...
** 2018.04.23(月) #00
-とりあえず、以下の程度なら実行できた。
>exec asm386 { PUSH 13 POP EAX }
6a 0d 58 // これはデバッグ用の表示
sz=3 ec=0 // これはデバッグ用の表示
>regs
<regs> eax:0000000d ecx:00000000 edx:00000000 ebx:00...
<stack>
>
-さらにちょっとだけ頑張って、
>exec asm386 { PUSH 1+2*3-4 }
-こういうのもできるようにした。・・・あんまり使わないかも...
-ここまでやって実行ファイルの大きさは9.0KB(ソースコード...
** 2018.04.24(火) #00
-ADD, OR, ADC, SBB, AND, SUB, XOR, CMPをちょっとだけ実装。
>exec asm386 { ADD AL,2; SUB EAX,1; AND EAX,0xffff}
04 02 83 e8 01 25 ff ff 00 00 // これはデバッグ用の表示
sz=10 ec=0 // これはデバッグ用の表示
-よしよし、ちゃんと動いているな。
-実行ファイルの大きさは10.0KBになりました。
-この調子で4月中に高級言語に行けるかどうかは分からないけ...
-まあこの調子ならもうすぐアセンブラは終わるので、そしたら...
** 2018.04.27(金) #00
-油断していると大規模な開発になりそうになる。落ち着け川合。
-できるだけシンプルに最短で目的を達成する方法を考えるのだ...
-そしてMOV命令もできた。まあ難しくないからできて当たり前...
-メモリ関係の命令はまだ全然できていないけれど。
-次は何にしようか。お、Jccを作ればレジスタだけで簡単なル...
** 2018.05.01(火) #00
-セキュリティチェックのためのコードをどうしようかと検討中...
** 2018.05.01(火) #01
-セキュリティだけを考えたら、なんでもチェックすればいいの...
-まず初期化されていない変数へのアクセスは検出できるべきだ...
-ポインタがおかしくなって予期せぬ場所を上書きするケースも...
-逆に、以下のケースはそれほど深刻ではないと思われる。ポイ...
-プログラムは、ポインタのアクセス域などを自由に設定できる...
-当初、オーバーフローの検出も積極的に考えていたけど、オー...
** 2018.05.02(水) #00
-なんかさっき、一瞬だけ全体が見えたぞ。これは行けるという...
-構造体:
--メンバのオフセットと構造体のサイズを内部で計算しておけ...
-配列:
--とりあえず1次元配列だけを考える。要素のサイズをsとすれ...
-配列と構造体さえなんとかなれば、それ以外はOSECPU-VMのと...
** 2018.05.10(木) #00
-今日はEssenで使う[[blaライブラリ>page0010]]のMacOS版の開...
-そしてなんと移植に成功してしまいました。おお、なんて運が...
** 2018.06.08(金) #00
-[[page0013]]に書いたjck0ライブラリの実力(というか限界)...
** 2018.07.01(日) #00
-TJ08が「こんな簡単な仕組みでもここまでできる」的な意味で...
* こめんと欄
#comment
終了行:
* Essen開発メモ(1)
-(by [[K]], 2018.03.05)
** 2018.03.05(月) #00 JITBで遊ぶ
-JITBというのは、即興で考えた造語。JITコンパイラはJITC。...
-そのJITBを作って、コンソールから入力した16進数がすぐに実...
-やっぱりJITAくらいじゃないと、結構大変である。16進数を全...
** 2018.03.06(火) #00 次はどうしようか
-とりあえず[[page0002]]でJITBについては遊びつくしたので、...
** 2018.03.08(木) #00 JITA
-ひとまずJITAを作り始めた。オペコードのみの命令ならアセン...
-今は238行で5.0KB。
** 2018.03.19(月) #00
-もはやのんびりと作って壊してまた作って・・・をやっている...
** 2018.04.01(日) #00
-さて、年度も変わったことだし、明日からちょっとずつ再開し...
** 2018.04.11(水) #00
-EssenRev4のJITコンパイルでは、浮動小数点演算でFP命令を使...
-ということで、参考になりそうなサイトを探しておいたので、...
--SSE2による浮動小数演算の仕組みと検証 https://codezine....
--x86/x64 SIMD命令一覧表 (SSE~AVX2) http://www.offic...
--PAND (Logical AND) https://cmpsb.net/asm/x86/instr/vie...
** 2018.04.17(火) #00
-昨日C言語でちょっとしたプログラムを書いていて、まあこん...
-もちろんプログラムはその後あっさりと直ったわけだけど、ど...
-まあ「どこまでテストするかはプログラマの自由です」としか...
-ユニットテストがしたいのかというと、まあそれでもいいかも...
** 2018.04.17(火) #01
-とりあえず、230行くらいはできた。といってもメモリ管理部...
-いやその、セキュアな言語を作るためには、まず言語を作りや...
-そしてC言語はメモリ管理が大変なので、まずはメモリ管理を...
** 2018.04.23(月) #00
-とりあえず、以下の程度なら実行できた。
>exec asm386 { PUSH 13 POP EAX }
6a 0d 58 // これはデバッグ用の表示
sz=3 ec=0 // これはデバッグ用の表示
>regs
<regs> eax:0000000d ecx:00000000 edx:00000000 ebx:00...
<stack>
>
-さらにちょっとだけ頑張って、
>exec asm386 { PUSH 1+2*3-4 }
-こういうのもできるようにした。・・・あんまり使わないかも...
-ここまでやって実行ファイルの大きさは9.0KB(ソースコード...
** 2018.04.24(火) #00
-ADD, OR, ADC, SBB, AND, SUB, XOR, CMPをちょっとだけ実装。
>exec asm386 { ADD AL,2; SUB EAX,1; AND EAX,0xffff}
04 02 83 e8 01 25 ff ff 00 00 // これはデバッグ用の表示
sz=10 ec=0 // これはデバッグ用の表示
-よしよし、ちゃんと動いているな。
-実行ファイルの大きさは10.0KBになりました。
-この調子で4月中に高級言語に行けるかどうかは分からないけ...
-まあこの調子ならもうすぐアセンブラは終わるので、そしたら...
** 2018.04.27(金) #00
-油断していると大規模な開発になりそうになる。落ち着け川合。
-できるだけシンプルに最短で目的を達成する方法を考えるのだ...
-そしてMOV命令もできた。まあ難しくないからできて当たり前...
-メモリ関係の命令はまだ全然できていないけれど。
-次は何にしようか。お、Jccを作ればレジスタだけで簡単なル...
** 2018.05.01(火) #00
-セキュリティチェックのためのコードをどうしようかと検討中...
** 2018.05.01(火) #01
-セキュリティだけを考えたら、なんでもチェックすればいいの...
-まず初期化されていない変数へのアクセスは検出できるべきだ...
-ポインタがおかしくなって予期せぬ場所を上書きするケースも...
-逆に、以下のケースはそれほど深刻ではないと思われる。ポイ...
-プログラムは、ポインタのアクセス域などを自由に設定できる...
-当初、オーバーフローの検出も積極的に考えていたけど、オー...
** 2018.05.02(水) #00
-なんかさっき、一瞬だけ全体が見えたぞ。これは行けるという...
-構造体:
--メンバのオフセットと構造体のサイズを内部で計算しておけ...
-配列:
--とりあえず1次元配列だけを考える。要素のサイズをsとすれ...
-配列と構造体さえなんとかなれば、それ以外はOSECPU-VMのと...
** 2018.05.10(木) #00
-今日はEssenで使う[[blaライブラリ>page0010]]のMacOS版の開...
-そしてなんと移植に成功してしまいました。おお、なんて運が...
** 2018.06.08(金) #00
-[[page0013]]に書いたjck0ライブラリの実力(というか限界)...
** 2018.07.01(日) #00
-TJ08が「こんな簡単な仕組みでもここまでできる」的な意味で...
* こめんと欄
#comment
ページ名: