[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[WitchTech 00578] Re: TC++1 の setargv のこと



なるなるです。

# なぜか私の投稿 [WitchTech 00574] で error mail が戻ってきています。投稿
をアーカイブするスクリプトに問題があるのではないでしょうか ? > 管理者殿

 > <3A38D65E.D1C3075E@pluto.dti.ne.jp>
 > From: ueken@pluto.dti.ne.jp
 > Date: Thu, 14 December 2000 23:17:02 +0900

 > 別のメールでもふれていますが、「型がある」は正しくなく、
 > 「型があるように見える」が正しいです。

言葉が足りなくてすいません。*アセンブラ*で型があるという場合 C 言語的な意
味で型があるということではありません。(だって、フロントエンドは C じゃなく
てもいいんだし ...)

# 単純に型がないと思いこんでいると、あとではまるかなと思ったので書いてみた
のですが、混乱させるだけだったかもしれませんね。


ここ何年も masm/tasm を使っていないので下記の例は念の為に TASM Ver.3 のマ
ニュアルで確認しました。(持ってるけど、実は一度も使ったことがない ...)

masm ではシンボルに型があるので以下のように間接参照の [] を省略できますが、
逆にアドレスの取得に offset 演算子が必要です。

	foo	dw	0
	mov	ax, foo
	mov	ax, offset foo	

r86 ではシンボルは基本的にラベル(アドレス)なので [] は省略できません。

	foo:	dw	0
	; foo 	dw	0	とは書けない
		mov	ax, [foo]
		mov	ax, foo

gas (i386) だとこんな感じでしょう。

	foo:	.word	0
		movw	foo(,1), %ax
		movw	foo, %ax

という話です。



ML Archives