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!

¿Fue útil?

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/ ?

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