tarosukeの日記: [talos] AMD64の初期化完了
データセグメントセレクタに何食わせても値が異常になったりすると思ったら...どんな設定になっててもいいし、ヌルセレクタ食わせてもいいようだ。少なくともQEMUにおいては。
...でーことで、AMD64でアセンブラのソースと格闘するのはだいたい終わり。AMD64版のプロセッサ依存モジュール作んなきゃならんけどな。
--
AMD64なgccだと可変引数の扱いがia32とかなり違うのな。
レジスタ渡しになってるらしくてスタック漁っても何も出やしねぇw
LSI-Cあたりだと可変引数だけスタック渡しだったりしたもんだが...。
--
AMD64だと64bits用データセグメントデスクリプタはそれを読み込むときにチェックはするけど実際のメモリアクセスでは内容を無視するというものらしい。ただ、命令によって読み込むときにチェックしたりしなかったりするようだ。少なくともqemuにおいては。