我正在从头开始用VHDL实现整套8051指令。大多数事情进展顺利,但偶然发现了这两条指令:

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指令的一个很好的解释。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top