【发布时间】:2015-09-15 21:42:02
【问题描述】:
我正在寻找 8051 组件中的等效 JL(如果更少则跳转)。我想出的最接近的解决方案是
CJNE A,#42,DUMMY
DUMMY: JC IS_LESS ; jump to IS_LESS if A<42
还有更优雅的方式吗?我的意思是没有那个 DUMMY 标签。我想执行类似 CMP 指令的操作。我可以简单地 SUB,但我只想对值进行非破坏性测试。
【问题讨论】:
-
如果您在汇编程序中为当前地址使用适当的符号,则可以去掉标签,即。
cjne a,#42,$+3之类的东西,您可以将其粘贴到名为cmp的宏中。 -
那太好了,但是 EdSim51 模拟器会抱怨语法错误(未知标签 $+3)。它在其他编译器中是否有效?
-
其他汇编器使用
.而不是$也许可以试试看或查阅手册:) -
as31使用*,所以cjne a, #42, *+3在那里工作。edsim似乎也不支持宏,否则你也可以从宏中发出指令字节。