Domanda

Per riferimento, il codice è per il Motorola 68008.

Dire che ho il codice come il seguente:

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

move.w #sequenceO, A0
move.w #sequenceN, A1
  1. Ho ragione di pensare che A0 terrà il valore 200 e A1 il valore 205?

  2. Una delle domande d'esame in un documento passato è stato: "Quali sono gli indirizzi fisici di sequence0 e sequenceN?", La risposta sarebbe "200 e 205", o sarebbe "200-204 e 205 -209" ?

  3. Ho visto un paio di pezzi di codice con molteplici direttive org, per esempio;

    org 100

    array1: ds.b 4

    org 300

Ho ragione di pensare che l'ultima direttiva org è seguito, ad esempio, in questo caso, i punti Array1 a 300?

È stato utile?

Soluzione

  1. Sì, che suona bene. L'indirizzo del sequenceN è di 5 byte di là sequence0.
  2. "Dipende", immagino ... Dal momento che è "indirizzi" al plurale, immagino che volevano l'intera gamma, nel qual caso il vostro quest'ultima risposta è corretta.
  3. No, mi sarei aspettato più orgs da applicare solo per il seguente codice loro, quindi in questo caso la array1 sarebbe a $ 100. Dal momento che nessun codice o di dati di generazione avviene dopo che quest'ultimo org, è fondamentalmente ignorato dal assembler.

Altri suggerimenti

Suppongo che "ORG" significa "origine" -. Il primo indirizzo da assegnare al segmento di codice o di dati emessa

  1. Sì, 200 e 205

  2. Sequence0 inizia a 200 e si estende per 5 byte a 204

  3. No, array1 parte da 100, nulla dopo l'org 300 inizierebbe a 300

Si sta utilizzando: MOVE.W #sequenceO, A0

Quindi, si sta caricando solo la parola inferiore (16 bit) dell'indirizzo in A0. Che sarà funzionano solo in condizioni di scarsa memoria (A0 sotto $00010000)

In generale, utilizzando un MOVE.W su un registro di indirizzi diventa difficile.

Prova: LEA #sequence0, A0 (carica un indirizzo a 32-bit in A0)

La maggior parte delle assemblatori saranno anche fare:

MOVEA.L #sequence0, A0

Grazie, Dave Piccolo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top