こんにちは、I.Tak.です。 >せん。これでプログラムを特定のアドレスに転送するようなプログラム >が簡単にかけます。 NASMだと、org はアドレスのオリジンを設定するだけ、つまり "org hoge" の意味は "$$ = hoge" です。そんでもって、$$ は 最後に(内部のbinリンカで)評価されるようです。たとえば org 0xff dw $ org 0x10 dw $ というコードは org 0x10 dw $ dw $ と全く同じ意味です。 そして、たぶんアセンブラとリンカが完全に別れているからだと 思いますが、 > DB $$ こんなことをすると "error: one-byte relocation attempted" と しかられます。org 0x100 とか出てくるとまずいからでしょう。 この制限は、MASMみたいにトリッキーなことをしてコードを破壊する 危険をさけるため、と説明されています。今のnask仕様でも、上書きする つもりはないのに、前の部分が存外に長くて上書きしてしまったという 問題を招きかねません。戻って上書きすることの意味はなんでしょうか? ファイル中を戻って上書きできるのに、進むことはできないという非対称 も変な感じです。先頭からずらずら書く方が分かりやすいと思います。 I.Tak. <g240845 !Atmark! mail.ecc.u-tokyo.ac.jp> http://user.ecc.u-tokyo.ac.jp/~g240845/