Microcontrolador 8051: Cómo obtener direcciones de entradas a JB & amp; Instrucciones CJNE?
-
06-07-2019 - |
Pregunta
Estoy implementando un conjunto completo de instrucciones 8051 en VHDL desde cero. La mayoría de las cosas salieron bien, pero tropecé con estas 2 instrucciones:
JB bit,rel
00100000 bit_address rel_address
CJNE A,#data,rel
10110100 immediate_data rel_address
Cualquier ayuda o sugerencia es muy apreciada. ¡Gracias de antemano!
Solución
La dirección relativa la proporciona el programador. El ensamblador suele calcular esto a partir de las etiquetas.
Su archivo asm contendrá:
...asm code
...asm code
JB some_bit, some_label
...more asm code
...more asm code
...more asm code
some_label:
...more asm code
...more asm code
El ensamblador analizará el código entre la instrucción JB y la etiqueta y calculará el número de bytes de desplazamiento necesarios para llegar a la etiqueta, este es el número que alimenta a la instrucción JB.
Aquí hay una buena explicación de las instrucciones 8051.
Otros consejos
Tal vez podría obtener algunas sugerencias de http: //www.cs. ucr.edu/~dalton/i8051/i8051syn/ ?