CPUID命令を調べる

さて、あれやこれやと、紆余曲折・試行錯誤の末、
一次ローダから二次ローダを読み込む事が出来るようになった。
この過程で、実は、意味もなく、32bitレジスタ(EAXとかEBXとか)を使ってみた。
当然だけど、8086には、32bit長レジスタなんてないわけだから、
[INSTRSET "8086"]を指定(もしくはデフォルト状態に)している場合、
そんな命令はありませんと怒られてしまうわけだ。


PC(IBM PC)のブートシーケンスやBIOSの仕様では、
リアルモードが前提とされているので、
ブートしてBIOSサービスをコールするだけなら、
基本的に16ビットで事足りる。
でも、386以上のCPUでは、リアルモードでも、
EAXとかEBXとか、使おうと思えば使えてしまう。
使える物は使いたいとも思うけれど、
意味もなく使うのも微妙な気はする...


とりあえずは、使えるから使うというよりは、
必要だから使うという方向を基本と考えたいが、
必要な物があるかどうかの確認も大事だよなぁ... とか思い、
急にCPUの判別方法が気になりだした。
そこで、CPUID命令を、少し調べる事にした。