#99 Article 810 Posted at 1993/12/14 22:45:48 by 夢中ゆわ (MAP2717) [ASM]
Subject: Re:*12 メモリのいつでもあいてる場所。 /809 ..... /798 /797
> mov eax,8000h+8000h ;ここからグリーン。*これがさっきのブルーの所に > mov edi,eax ;上書きされてるような気がするんです。 ううむ(^^;) 確かに、ediレジスタには10000hが入っているのですが、 > stosd こいつが、ediの下位16bit分しか見ていなかったとしたら……(^^;) そうですね。見事に、青の所(di=0000h)から塗り潰しますね(^^;) stosdのアドレスサイズは、デフォルトのアドレスサイズ属性に依ります。 (もしくは一時的な変更=オーバーライドプレフィックス) デフォルトのアドレスサイズは、保護モード(^^;)かつセグメントディスクリプタ(^^;) のDビットを"1"にすればよいのですが、言ってる自分でもよくわかりません(^^;) では、プレフィックスですが、恐らくアセンブルリストを見ると = 66 AB STOSD になってるかと思います。この部分を = 67 66 AB xx xx STOSD にするような、ソースを記述すればいいわけです(^^;)(なんて邪道な) TASMのマニュアルを会社に置きっぱなしにしているので、どういうふうに記述すれば いいのかわかりません。すいません/^^ xx xxは、ModR/M や SIB らしいのですが これまた言ってる自分もよくわかりませんので…(^^;) (ひょっとしたら要らないのかもしれない) と、このようにややこしいので、おとなしくセグメントの方を変更しましょう(^^;) デバグも楽ですし(^^;) オフセットで10000Hはセグメントで1000Hだから、esに加算して下さい。 #MAP2717 夢中ゆわ PS おぉ、(^^;)マークの大安売り