命令セットの一覧と世代 - HobbyOSs/opennask GitHub Wiki

命令セットの一覧と世代

インテルの本は見てられないので、他の人の書き下したページ

naskの中に下記のような定義があるが 上記ページとの対応は下記のようになると思われる。

naskに実装されている範囲

    { "8086",     SUP_8086    } => 8086/8088
    { "80186",    SUP_80186   } => ページに該当なし
    { "80286",    SUP_80286   } => 80286の一般命令
    { "80286P",   SUP_80286P  } => 80286のプロテクト命令
    { "i386",     SUP_i386    } => 80386の一般命令
    { "i386P",    SUP_i386P   } => 80386のプロテクト命令
    { "i486",     SUP_i486    } => 80486の追加命令
  • naskに実装されてなさそうな範囲
    { "i486P",    SUP_i486P   } => i486のプロテクト命令は存在しない?
    { "Pentium",  SUP_Pentium } => Pentiumの追加命令
    { "Pentium2", SUP_Pentium2} => Pentium2の追加命令
    { "Pentium3", SUP_Pentium3} => Pentium3の追加命令
    { "Pentium4", SUP_Pentium4} => Pentium4の追加命令

naskは制御構文としては

[INSTRSET "i386"]

とやると80386の一般命令までが使えるようだ。

下記部分に命令とCPU世代の対応が定義されている https://github.com/hangingman/osask/blob/29d1f0d8cdcd62a0700b4c362705bac025da9a0c/28GO/28GO_K/nask/Nasuka_sub.c#L3171-L3495