MOVX <dest. byte >, < orig. byte >

Función :

Transferncia Externa.

Descripción :

La instrucción MOVX permite una transferencia entre el acumulador y la memoria externa. Existen dos tipos de instrucciones caracterizadas por un direccionamiento diferente de la memoria externa: direccionamiento indirecto de 8 bits o de 16 bits. En el primer tipo de direccionamiento, el contenido de R0 o de R1, del banco de registros activos, constituye la dirección de 8 bits que es multiplexada con el dato sobre el puerto 0. Si este espacio de direccionamiento de 8 bits fuera insuficiente, siempre es posible utilizar un segundo puerto cuyo estado sería controlado por una instrucción de salida hacia las patillas de este puerto. En el segundo tipo de direccionamiento, el puntero de datos DPTR contiene una dirección de 16 bits. El puerto P2 recibe el contenido de DPH mientras que el puerto P0 multiplexa los 8 bits menos significativos de la dirección ( DPL ) con el dato. El contenido del registro P2 conserva el valor que tenía antes de emplear este tipo de direccionamiento y el " buffer " de salida del puerto 2 es modificado por la parte alta de la dirección sólo durante el tiempo que dura la lectura o la escritura de la memoria externa.

Ejemplo :

Se ha conectado una memoria externa de 256 bytes al puerto P0. Direcciones y datos son multiplexados sobre este puerto. Se emplea uno de los bits del puerto P3 para habilitar el circuito de memoria. los registros R0 y R1 contienen respectivamente los valores 12H y 34H. La posición de memoria externa 34H contiene el valor 56H. La secuencia

MOVX A,@R1

MOVX @R0,A

copia el valor 56H sucesivamente en el acumulador y en la posición de memoria externa 12H.

 

MOVX A, @ Ri

Operación :

(A) ¬ ((Ri))

Código:

1 1 1 0

0 0 1 i

Bytes : 1

Ciclos : 2

 

MOXV A, @ DPTR

Operación :

(A) ¬ ((DPTR))

Código:

1 1 1 0

0 0 0 0

Bytes : 1

Ciclos : 2

 

MOVX @ Ri. A

Operación :

((Ri)) ¬ (A)

Código:

1 1 1 1

0 0 1 i

Bytes : 1

Ciclos : 2

 

MOVX @ DPTR, A

Operación :

((DPTR)) ¬ (A)

Código:

1 1 1 1

0 0 0 0

Bytes : 1

Ciclos : 2