VHDL で 8051 命令のセット全体をゼロから実装しています。ほとんどのことはうまくいきましたが、次の 2 つの指示につまずきました。
JB bit,rel
00100000 bit_address rel_address
CJNE A,#data,rel
10110100 immediate_data rel_address
どんな助けやヒントも大歓迎です。前もって感謝します!
VHDL で 8051 命令のセット全体をゼロから実装しています。ほとんどのことはうまくいきましたが、次の 2 つの指示につまずきました。
JB bit,rel
00100000 bit_address rel_address
CJNE A,#data,rel
10110100 immediate_data rel_address
どんな助けやヒントも大歓迎です。前もって感謝します!
相対アドレスは、プログラマによって提供されます。これは通常、ラベルからアセンブラーによって計算されます。
asm ファイルには以下が含まれます。
...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
アセンブラは、JB 命令とラベルの間のコードを分析し、ラベルに到達するために必要なオフセットのバイト数を計算します。これは、JB 命令に供給する数です。
これは、 8051命令の適切な説明です。
http://www.cs.ucr.edu/~dalton/i8051/i8051syn/からヒントを得ることができるかもしれません。