直接跳到内容
本页目录

指令表语言(IL)

指令列表(IL)是一种汇编语言风格的编程语言,程序不易阅读,但执行速度最快。IL语言包含一系列的指令,每条指令占据一行,包含一个运算符和一个或多个用逗号隔开的操作数。操作数之间用逗号分隔。每行开始可以有标签,标签后要有冒号。每行结束可以有注释,注释用“(* *)”括起来。每行指令之间可以插入空行。IL 编辑器与ST编辑器的使用方式完全一致,本章节就不再赘述,相关操作请参见结构化文本语言(ST)

IL指令

指令表由一系列指令组成。每条指令应在新的一行开始,应包含一个操作符,带有可选编辑器,对于特殊操作还有用逗号分隔的一个或多个操作数。操作数可以是常量、枚举值和变量。

指令前可以添加标识标号和紧随其后的冒号“:”开头,指令之间可以插入空行。

例如:

LABELOPERATOROPERANDCOMMENT
START:LD%IX1.0(* PUSH BUTTON *)
ANDN%MX5.0(* NOT INHIBITED *)
ST%QX2.0(* FAN ON *)

IL 语言支持两种修饰符C 和N。C 表示条件执行,只有当前一个表达式的值为真(TRUE)时,指令才被执行。N 与JMP、CAL 和RET 连用时表示条件非执行,只有当前一个表达式的值为假(FALSE)时,指令才被执行;其它情况下,表示操作数取负。下表中列出了IL的所有运算符以及它们的修饰符和相应意义。

运算符修饰符意义
LDN设置当前结果等于操作数
STN把当前结果存储到操作数位置
S若当前结果是TRUE,将操作数置位为1
R若当前结果是FALSE,将操作数复位为0
ANDN,(逻辑与
&N,(逻辑与
ORN,(逻辑或
XORN,(逻辑异或
NOT逻辑取反
ADD(
SUB(
MUL(
DIV(
MOD(取余
GT(比较 >
GE(比较 >=
EQ(比较 =
NE(比较 <>
LE(比较 <=
LT(比较 <
JMPC,N跳转到标号
CALC,N调用
RETC,N从被调的函数、功能块或程序返回
)递延的求值操作

IL语言简单应用实例如下图所示。

img

指令表语言(IL)已经加载完毕