- bochsでtrace-mem onしてアクセスしたメモリアドレスの確認
- 自作x86エミュレータでもアクセスしたメモリアドレスの確認(bochsと一致)
- Twitterクライアントを少し進める
- 『ふつうのコンパイラをつくろう』を少し読む
- 後輩の卒論のβ版をチェック
x86エミュレータにバグがあるのだが、カーネルに入った所ではレジスタやメモリが同じ内容になっている。しかし、その後いろいろ差がでてきた。まず考えたのが32bitモードによるModRMの処理の変化。まぁ、Prefixでも変えられるが、32bitモードになったことにより、ほとんどの場合が32bitアドレスの処理になった。それに伴って、32bitアドレス版のModRMにアクセスする回数が増え、眠っていたバグが起きたのかと思っていたが、そこは問題なさそうだった。次はレジスタでもチェックしようかと思ったが、"trace-reg on"だと"s 1000"とかやっても、1000回分レジスタをダンプしてくれるわけではないようだ。命令の度にsを入力すればいいのだが、140万命令とかやってられないので、何らかの方法で自動化しようか?というところ。さて、どの命令がバグってるのやら…。あとはTwitterクライアントを進めて、後輩の論文チェックして、『ふつうのコンパイラをつくろう』を少し読んだ。考えていることが多い1日だった
ふつうのコンパイラをつくろう 言語処理系をつくりながら学ぶコンパイルと実行環境の仕組み
- 作者: 青木峰郎
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2009/07/24
- メディア: 単行本
- 購入: 25人 クリック: 398回
- この商品を含むブログ (48件) を見る