2

参考までに、コードはモトローラ 68008 用です。

次のようなコードがあるとします。

org 200
sequenceO: ds.b 5
sequenceN: ds.b 5

move.w #sequenceO, A0
move.w #sequenceN, A1
  1. A0 が 200 の値を保持し、A1 が 205 の値を保持すると考えるのは正しいですか?

  2. 過去の論文の試験問題の 1 つに、「sequence0 と sequenceN の物理アドレスは?」というものがありますが、答えは「200 と 205」でしょうか、それとも「200-204 と 205-209」でしょうか?

  3. 複数の org ディレクティブを含むいくつかのコードを見てきました。

    組織 100

    array1: ds.b 4

    組織 300

最後の org ディレクティブに従っていると考えるのは正しいですか? たとえば、この場合、array1 は 300 を指していますか?

4

4 に答える 4

2
  1. はい、そうです。のアドレスsequenceNは の 5 バイト先ですsequence0
  2. 「場合による」と思います... 複数の「アドレス」なので、範囲全体が必要だったと思います。その場合、後者の答えが正しいです。
  3. orgいいえ、複数の がそれに続くコードに適用されると予想されるため、その場合はarray1$100 になります。後者の後にコードやデータの生成が行われないためorg、基本的にアセンブラによって無視されます。
于 2009-05-26T13:32:07.573 に答える
2

「ORG」は「オリジン」を意味すると思います。これは、発行されるコードまたはデータセグメントに割り当てられる最初のアドレスです。

于 2009-05-26T13:24:30.067 に答える
1
  1. はい、200 と 205

  2. Sequence0 は 200 から始まり、5 バイトから 204 まで拡張されます

  3. いいえ、array1 は 100 から始まります。org 300 より後のものはすべて 300 から始まります

于 2009-05-26T13:34:52.200 に答える