Frage

Als Referenz gilt der Code für das Motorola 68008.

Angenommen, ich habe Code wie den folgenden:

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

move.w #sequenceO, A0
move.w #sequenceN, A1
  1. Liege ich richtig, wenn ich denke, dass A0 den Wert 200 und A1 den Wert 205 haben wird?

  2. Eine der Prüfungsfragen in einer früheren Arbeit war:„Wie lauten die physikalischen Adressen von Sequenz0 und SequenzN?“ Wäre die Antwort „200 und 205“ oder „200-204 und 205-209“?

  3. Ich habe ein paar Codeteile mit mehreren Org-Anweisungen gesehen, z. B.;

    org 100

    array1:ds.b 4

    org 300

Habe ich recht, wenn ich denke, dass die letzte org-Anweisung befolgt wird, z. B. zeigt array1 in diesem Fall auf 300?

War es hilfreich?

Lösung

  1. Ja, das klingt richtig.Die Adresse von sequenceN liegt 5 Byte darüber hinaus sequence0.
  2. „Das kommt darauf an“, schätze ich ...Da es sich um „Adressen“ im Plural handelt, wollten sie vermutlich den gesamten Bereich. In diesem Fall ist Ihre letzte Antwort richtig.
  3. Nein, ich würde mehrere erwarten orgs soll nur auf den darauf folgenden Code angewendet werden, also in diesem Fall die array1 würde bei 100 $ liegen.Da danach keine Code- oder Datengenerierung erfolgt org, wird es vom Assembler grundsätzlich ignoriert.

Andere Tipps

Ich gehe davon aus, dass „ORG“ bedeutet „origin.“ - die erste Adresse an dem Code- oder Datensegment zugeordnet wird, emittiert wird

  1. Ja, 200 und 205

  2. Sequence0 beginnt bei 200 und erstreckt sich über 5 bis 204 Byte

  3. Nein, array1 bei 100 beginnt, alles nach dem org 300 würde bei 300 beginnen

Sie verwenden: MOVE.W #sequenceO, A0

Also, Sie laden nur das untere Wort (16 Bit) der Adresse in A0. Das wird nur sehr wenig Speicher arbeitet in (A0 unter $00010000)

In der Regel eine MOVE.W auf einem Adressenregister mit wird schwierig.

Versuchen: LEA #sequence0, A0 (lädt eine 32-Bit-Adresse in A0)

Die meisten Monteure werden auch tun:

MOVEA.L #sequence0, A0

Danke, Dave Klein

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top