Assembly 8051组件中的JL等效物

Assembly 8051组件中的JL等效物,assembly,8051,Assembly,8051,我正在寻找JL(跳转,如果更少)在8051组装等效。我找到的最接近的解决办法是 CJNE A,#42,DUMMY DUMMY: JC IS_LESS ; jump to IS_LESS if A<42 CJNE A,#42,虚拟 虚拟:JC小于;如果A正确读取后,跳转到IS#LESS,CJNE在本例中的语法是CJNE A,#data,rel,其中rel被引用为 有符号(2的补码)8位偏移字节。由SJMP和所有条件跳转使用。相对于以下指令的第一个字节,范围为-128到+127字节 因此,“

我正在寻找JL(跳转,如果更少)在8051组装等效。我找到的最接近的解决办法是

CJNE A,#42,DUMMY
DUMMY: JC IS_LESS ; jump to IS_LESS if A<42
CJNE A,#42,虚拟
虚拟:JC小于;如果A正确读取后,跳转到IS#LESS,
CJNE
在本例中的语法是
CJNE A,#data,rel
,其中rel被引用为

有符号(2的补码)8位偏移字节。由SJMP和所有条件跳转使用。相对于以下指令的第一个字节,范围为-128到+127字节

因此,“
JL
”指令可以编码为

CJNE A, #42, 0 ; 0 = do not jump
JC IS_LESS     ; jump to IS_LESS if A<42
<代码>CJNE A,#42,0;0=不跳转
JC是"少",;如果在汇编程序中为当前地址使用适当的符号(例如
cjne a,#42,$+3
之类),您可以将其粘贴到一个名为
cmp
的宏中,则跳转到是较少的。这将非常好,但EdSim51模拟器会抱怨语法错误(未知标签$+3)。它在其他编译器中工作吗?其他汇编器使用
而不是
$
也许可以尝试一下或参考手册:)
as31
使用
*
,因此
cjne a、#42、*+3
在那里工作
edsim
似乎也不支持宏,否则您也可以从宏发出指令字节。