Domanda

Sto implementando da zero l'intero set di 8051 istruzioni in VHDL. Gran parte delle cose sono andate bene ma sono inciampate in queste 2 istruzioni:

JB bit,rel
00100000 bit_address rel_address

CJNE A,#data,rel
10110100 immediate_data rel_address

Qualsiasi aiuto o suggerimento è molto apprezzato. Grazie in anticipo!

È stato utile?

Soluzione

L'indirizzo relativo è fornito dal programmatore. Questo è in genere calcolato dall'assemblatore dalle etichette.

Il tuo file asm conterrà:

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

L'assemblatore analizzerà il codice tra l'istruzione JB e l'etichetta e calcolerà il numero di byte di offset necessari per raggiungere l'etichetta, questo è il numero che invia all'istruzione JB.

Qui è una buona spiegazione delle istruzioni 8051.

Altri suggerimenti

Forse potresti ricevere alcuni suggerimenti da http: //www.cs. ucr.edu/~dalton/i8051/i8051syn/ ?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top