Pregunta

Para referencia, el código es para el Motorola 68008.

Decir que tengo un código como el siguiente:

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

move.w #sequenceO, A0
move.w #sequenceN, A1
  1. Estoy en lo correcto al pensar que A0 contendrá el valor 200 A1 y el valor 205?

  2. Una de las preguntas del examen en un documento pasado fue: "¿Cuáles son las direcciones físicas de sequence0 y sequenceN?", La respuesta sería "200 y 205", o sería "200-204 y 205 -209" ?

  3. He visto un par de piezas de código con múltiples directivas organigramas, por ejemplo;

    org 100

    array1: ds.b 4

    org 300

Estoy en lo cierto al pensar que se siguió a la última directiva org, por ejemplo, en este caso, los puntos de Array1 a 300?

¿Fue útil?

Solución

  1. Si, eso suena bien. La dirección de sequenceN es de 5 bytes más allá de sequence0.
  2. "Eso depende", supongo ... Ya que es "direcciones" en plural, supongo que querían toda la gama, en cuyo caso su última respuesta es correcta.
  3. No, yo esperaría a múltiples orgs aplican sólo para el siguiente código ellos, así que en ese caso el array1 sería de $ 100. Dado que ningún código o datos de generación sucede después de que éste org, es básicamente ignorada por el ensamblador.

Otros consejos

Asumo que "ORG" significa "origen" -. La primera dirección para ser asignado al segmento de código o datos que se emite

  1. Sí, 200 y 205

  2. Sequence0 comienza en 200 y se extiende por 5 bytes a 204

  3. No, array1 comienza en 100, cualquier cosa después de la org 300 empezaría a 300

Usted está usando: MOVE.W #sequenceO, A0

Por lo tanto, va a cargar sólo la palabra inferior (16 bits) de la dirección en A0. Que sólo va a trabajar en muy poca memoria (A0 bajo $00010000)

En general el uso de un MOVE.W en un registro de direcciones se complica.

Probar: LEA #sequence0, A0 (carga una dirección de 32 bits en A0)

La mayoría de los ensambladores también lo harán:

MOVEA.L #sequence0, A0

Gracias, Dave Pequeño

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top