[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 2904] Re: About NASM



  こんにちは、川合です。


MITSUNARI shigeo さんは 2001/12/09 20:22:03 の「[OSASK 2646] Re:
 About NASM」で書きました:

(MOV EAX,DSなど)
>手持ちのIntelのマニュアルによるとPentiumPro以降のCPUではmov eax, dx
>とするとeaxの上位16bitは0クリアされると書いてあります。
>それ以前のCPUではeaxの上位16bitは未定義です。

  この件についてですが、もう一つ質問していいでしょうか?

    MOV(reg32,sreg);

については、光成さんやなべちゃんさんのおかげでよく分かりました。
では、以下の場合はどうなるんでしょうか?

    MOV([mem],sreg);

  もし0x66が付かなければ、このときのメモリオペランドは32bit扱い
されて、上位ワードがクリアされるんでしょうか?それとも、メモリの
場合はレジスタの場合とは異なり、16bitアクセスになるんでしょうか
?

  僕の予想では32bit扱いで上位ワードがクリアされるんじゃないかと
思っているのですが、仕様ではどうなっているのか教えてください。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/