Pergunta

Estou implementando conjunto de 8051 instruções em VHDL a partir do zero. A maioria das coisas correram bem, mas tropeçou sobre essas 2 instruções:

JB bit,rel
00100000 bit_address rel_address

CJNE A,#data,rel
10110100 immediate_data rel_address

Qualquer ajuda ou dica é muito apreciada. Agradecemos antecipadamente!

Foi útil?

Solução

O endereço relativo é fornecido pelo programador. Isso normalmente é calculado pela montadora de rótulos.

Seu arquivo asm irá conter:

   ...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

A montadora irá analisar o código entre a instrução JB eo rótulo e calcular o número de bytes de deslocamento necessários para chegar ao rótulo, este é o número que alimenta a instrução JB.

Aqui é uma boa explicação dos 8051 instruções.

Outras dicas

Talvez você poderia obter algumas dicas de http: //www.cs. ucr.edu/~dalton/i8051/i8051syn/ ?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top