[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 2627] About NASM.
こんばんは、川合です。
NASMへの移行のためにnasmcnv2を作っているのですが(そしてどうや
らそれなりに使えそうなところまで来たのですが)、いろいろやってい
るうちに、NASMの「もうちょっとがんばっておくれよ」(笑)という点
を見付けてしまいました。
BITS 32
g000:
l000
jc .l001 ; これを8bitブランチにできない (MASMはできる)
jne .l000 ; これは8bitブランチになっている
MOV DWORD [FS:EBX+4],.l001 ; これはうまくいかない(disp32)
MOV DWORD [FS:EBX+4],.l000 ; これはうまくいくのに(disp8)
l001
end
どうやら、後ろの方で定義しているラベルを参照するときの取り扱い
がかなり下手のようです。MASMやNWSAのように、ラベルの定義位置によ
らず一番コンパクトなコードを自動的に選択してほしいのですが・・・
。
この問題は近い将来のバージョンでクリアされるのでしょうか?NASM
にお詳しいI.Tak.さんやなべちゃんさんや光成さん、何かご存じありま
せんか?
まあ当面は我慢するしかないのかもしれませんが・・・。それともNW
SAにした方がいいのかなあ・・・。
それでは。
--
川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/