MOVC carga el acumulador con un byte del espacio de código, memoria de programa.
Hay dos formas de la instrucción MOVC.
MOVC A, @ A + PC
- ¿Cuál es el alcance de los sistemas integrados y la robótica para un graduado en electrónica?
- ¿Cuál es el sistema operativo integrado más utilizado?
- ¿Dónde empiezo a aprender los microcontroladores ARM y qué software debo usar para programarlos en LINUX?
- En un estabilizador de cardán motorizado de 3 ejes, ¿los 3 ángulos del cardán están controlados por un motor individualmente en 3 bucles de control?
- ¿Existe una relación entre los sistemas integrados y el sistema de energía?
Este es probablemente el uso más común. El número de 8 bits en A se agrega al número de 16 bits en el contador del programa, y el byte en esta dirección se copia en A. Esto es muy útil para las tablas de búsqueda que se ensamblan en su lugar después de esta instrucción. Por ejemplo,
INC A
MOVC A, @ A + PC
JUBILADO
DB ‘0’, ‘1’, ‘2’, ‘3’, ‘4’
Esto toma un número binario 0..4 en A y lo reemplaza con ASCII 0..4 de la tabla en la línea 4. La instrucción inicial “inc” es necesaria para pasar por encima de la instrucción RET; de lo contrario, si A fuera 0x00, el byte devuelto sería el código de operación para RET.
La otra forma es
MOVC A, @ A + DPTR
Esto funciona exactamente de la misma manera que con el contador del programa, excepto que DPTR proporciona la dirección base de 16 bits.
MOVX carga el acumulador con un byte del espacio de datos de la memoria externa, o al revés. También hay dos formas de esta instrucción y, a diferencia de la instrucción MOVC, puede transferir datos en cualquier dirección.
MOVX ,
MOVX A, @ Ri carga el acumulador con el byte de memoria de datos externo direccionado por el número de 8 bits en Ri. ‘Ri’ significa registro de índice, que puede ser R0 o R1.
MOVX A, @ DPTR carga el acumulador con un byte de memoria de datos externo dirigido por el número de 16 bits en DPTR.
MOVX @ Ri, A y
MOVX @ DPTR, A
… hacer exactamente lo mismo a la inversa [matemáticas]
[/matemáticas]
La instrucción MOVX asume que la memoria externa está conectada de una manera particular y cambia las configuraciones del puerto. No debe usar una instrucción MOVX a menos que comprenda completamente la forma en que el 8051 está cableado en el circuito.