指令构成
在操作编程器时,我们需要在编辑模式下以程序行的形式来输入。
当程序进入运行模式,系统默认从第000行开始,按行号递增顺序逐行执行。
tip
我们也可以根据程序运行时需要的功能,通过跳转类指令,直接或者有条件地改变顺序执行逻辑,跳转到其他部分继续运行。
主程序的编辑模式界面长这样:
在编辑模式下,所有元素都按十六进制格式输入。
info
指令和运算元概念在编程器上的使用源自Solaris x86汇编语言,详情请参考Oracle相关文档。
行号
我们可以自由编辑512行程序,从000到1FF均为有效行号。尝试编辑200或以上的行号时,屏幕上会给出以下提示:
主屏幕
MAX Line Exceeded
指令
指令的长度是1字节,按照功能指令集可以分成
等几个类型。指令集列表、功能和范例程序可以参考相关页面。
运算元和子运算元
两个运算元(OP)均为双字节长度,即16-bit。
每个OP由两个单字节,也就是8-bit长度的子运算元(sOP)构成
OP-0 | OP-1 |
---|---|
sOP00 | sOP10 |
sOP01 | sOP11 |
在程序运行过程中,系统会根据指令以OP或者sOP的方式进行处理。
依据指令的类型与功能定义,OP所代表的含义可能不同。
一些指令在执行时并不需要OP作为参数代入。
比如程序结束指令0F
,显示背景指令54
等等。
执行这类指令时,OP的值会被忽略。
caution
OP表示的字节在一些情况下,也可能表示非数值类的含义。
延时指令
比如在使用延时指令02
时,OP-0和OP-1就分别代表延时的数值和单位。
INST_PROG_DELAY | 编号 | OP-0 | sOP10 | sOP11 |
---|---|---|---|---|
延时 1000 毫秒 | 02 | 03E8 | 00 | 00 |
02 03E8 0000
其中03E8
对应十进制值1000,而0000
则代表延时的单位为毫秒。
LED颜色指令
再以全彩LED灯颜色配置指令E4
为例,
E4 02FF 8000
语句表示将02
号LED设置为RGB颜色代码FF8000
所表示的橙色
R | G | B |
---|---|---|
FF | 80 | 00 |
所以在本语句中,各sOP值如下表:
sOP00 | sOP01 | sOP10 | sOP11 |
---|---|---|---|
02 | FF | 80 | 00 |
在输入程序时,我们可以通过组合键→
+↺
️操作,进行单双字节切换。
tip
本文档中,除非特别标注,组合键描述中+左侧的按钮应先于+右侧键按下。