Motorola 68000

Hola perla!
Soy un estudiante de electrónica, y estoy preparando un examen de programación con el motorola 68000.
He encontrado una cuestión y no doy con la solución.
***************************************
Suponiendo q inicialmente A7=$800 y q a continuacion se ejecuta el siguiente fragmento.¿cual sera el contenido de la pila y el puntero de la misma? Queremos saber tambien lo q tenemos en las direcciones $7FE,$800 y $802.
ORG $800
DATO EQU $800
DC.B 1,2,3,4
ORG $400
MOVE.W #DATO,-(A7)
MOVE.L DATO,-(A7)
MOVE.W (A7)+,DO
****************************************
Muchas gracias por las molestias.
Saludos
mi e-mail es [email protected]
Por si tienes alguna duda

1 respuesta

Respuesta
1
No se si podrá ayudarte, el ensamblador del 68000 hace tiempo que elo tengo olvidado pero creo que puedo ayudarte en algo. No me fio mucho de lo que se así que verifica lo que yo te digo documentandote.
Suponiendo q inicialmente A7=$800 y q a continuacion se ejecuta el siguiente fragmento.¿cual sera el contenido de la pila y el puntero de la misma? queremos saber tambien lo q tenemos en las direcciones $7FE,$800 y $802.
Bien, empezamos.
ORG $800
; Origen del programa, posicion de memoria $800.
DATO EQU $800
;Constante creada a la hora de
compilar DATO = $800.
DC.B 1,2,3,4
;Reservamos 4 bytes a partir
de la posición $800.
;1er byte en $800 = 1
;2º byte en $801=2
;3º en $802=3
;4º en $803=4
ORG $400
;origen de codigo.
MOVE.W #DATO,-(A7)
;movemos un word de valor
;$800 (dato) a la posicion
;de la pila con predecremento.
;Si la pila es A7=$800
;almacenara en $7FE=$800
;quedando apuntando a A7=$7FE
MOVE.L DATO,-(A7)
;direcionamiento absoluto.
;mueve lo que haya en la
;posicion DATO = $800
;a la pila con predecremento.
;como es a partir de $800 y es un long-word debemos de
almacenar:
; $04030201 (32 bits)
; como es predecremento:
; $A7=$7FA
; y en $7FA =$04
$7fB=$03
$7FC=$02
$7FD=$01
MOVE.W (A7)+,DO
;Postincremento.
;D0 = $0201
;A7=$7FB
Confírmalo antes, pero creo que este seria el resultado.
Tu mismo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas