在UNITY中用IL语句表编程的菜鸟问题,求解。 点击:431 | 回复:4



最速风神

    
发表于:2009-08-28 11:51:32
楼主
有问题的程序如下:
ld pump01_h     (*pump01_h为远程*)
andn pump01_csa      (*pump01_csa为切到自动状态*)
jmpc mask01
mask01: ld pump01_cset     (*pump01_cset为计算机状态的频率设定*)
MOVE
st pump01_ctrl      (*pump01_ctrl为最终输出频率*)

ld pump01_h
and pump01_csa
jmpc mask02
mask02: ld pump01_aset     (*pump01_aset为自动状态的频率设定*)
MOVE
st pump01_ctrl
程序的构想是当pump01_h 为1,pump01_csa为0,那么就把pump01_cset赋给pump01_ctrl。如果当pump01_h 为1,pump01_csa也为1时候,就把pump01_aset赋给pump01_ctrl。
这段程序在自检时没有错误提示,但是在实际运行时发现最后的语句“ld pump01_aset MOVE st pump01_ctrl”是无条件执行的,也就是说不管pump01_csa是否为1,pump01_ctrl始终等于pump01_aset,并没有受JMPC的跳转限制,请问在语法上是因为哪里的漏洞造成的。要实现我的这个构想,正确的程序应该是怎么样写的呢?? 刚刚采用语句表,很多东西不明白,希望能够得到解答,谢谢。


楼主最近还看过

SSI ļʱ