(toppers-users 451) i386 に関して質問いたします。

石川 栄喜 i4kwhdk380101 @ nifty.com
2002年 7月 16日 (火) 23:40:23 JST


i386のホルダ内のCPU_INITALYZEの処理を参照しました。
これは、要するにITRONのstartup起動時に386のプロテクトモードになってお
りi386固有の命令が有効な状態に成っ
ていると考えてよろしいでしょうか?
仮に、CPU_INITALYZEでGDTへCS、DS、SSの設定が行えても上記位置で
8086モードからI386プロテクトモードへ
遷移したのでは、命令に矛盾が発生すると考えます。このことより上記処理はi
386の32ビットのプログラムで生成され
ねば成らないと考えます。
後、割り込み処理でレジスタの退避とCLD(クリアディレディレクション)を
行われているでしょうか?
長年INTELのCPU相手に開発を行なって来た経緯からINTEL系の80
86以降CPUでC言語を利用する場合、最重要
項目として位置付けます。
IC286、MS−C等では、割り込み処理設計時にCLDが挿入されていない
為に、MEMSET,MEMCPYなどの組み込
み関数でMOVS、STOS等の命令が逆噴射を起こす障害に昔苦しめられまし
た。
++++++++++++++++++++++++++++++++++++++++++++++++++++
おやっとさぁです。
石川 栄喜
i4kwhdk380101 @ nifty.com
+++++++++++++++++++++++++++++++++++++++++++++++++++++