2009-10-27 107 views
2

我从零开始在VHDL中实现了全套8051指令。大多数事情进展顺利,但偶然发现了这两条指令:微控制器8051:如何获取JB&CJNE指令的输入地址?

JB bit,rel 
00100000 bit_address rel_address 

CJNE A,#data,rel 
10110100 immediate_data rel_address 

任何帮助或提示,非常感谢。先谢谢你!

+0

什么问题,如何在VHDL中编写这两个指令? – csl 2009-10-27 14:33:48

+0

嗯,我只需要获得输入值,但如果你足够慷慨地给我代码,我会很高兴。谢谢。 – Viet 2009-10-27 14:37:52

回答

2

相对地址由程序员提供。这通常由汇编程序从标签计算得出。

你的汇编文件将包含:

...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指令。

Here是对8051指令的很好的解释。

+0

非常感谢您的帮助。我正在研究它。 – Viet 2009-10-30 11:16:43