HobbyOSs / opennask

nask clone assembly, it can boot tiny OS with Linux
https://github.com/HobbyOSs/opennask/wiki/%E5%8B%95%E4%BD%9C%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF
GNU General Public License v3.0
20 stars 3 forks source link

INSTRSETの実装 #18

Closed hangingman closed 7 years ago

hangingman commented 7 years ago

ちょっと面倒くさい

  また、INSTRSETなどの追加命令があるので、NASMとの互換ソースを書く際に問題にな
るかもしれません。そのために、「;%NASK」という記述をすることができます。これはN
ASMでは当然注釈になりますが、NASKではスペース扱いになります。NASK専用ソースとい
うことでしたら、この記述はいりません。

  INSTRSETはCPU名を指定します。今のところ以下のCPU名が指定できます。

  "8086", "80186", "80286", "80286p", "i386", "i386p", "i486", "i486p"

  8086モードでは、FSやEBXなどが予約語になりません。デフォルトは8086です。末尾
にpが付くのはプロテクトモード用の命令群を使えるようにする意味です。なお8086を
選択しているからといって、8086に実行できないコードを出力する可能性がないわけで
はありません。単に予約語をラベル定義用に開放しているだけです。ですから、Jccな
どでNEARにされてしまうこともありえます。不安な場合は、SHORTを明示しましょう。
hangingman commented 7 years ago

とりあえず仮実装をした