程序的构成
1. 程序和指令
Steamania Joykit V2每一行代码,由5个字节组成。
第一个字节是指令数,后四个字节作为四个8-bit参数使用,这四个参数分别标记为P00,P01,P10和P11。
并非所有参数都参与指令的解析与执行,例如0F表示“程序结束”指令,当操作数为0F时,系统会忽略掉这一行里的所有参数,P00至P11的值可以是任意值,不会影响程序停止的结果。
在某些指令下,P00和P01,P10和P11,可以根据指令解析方式合并看作16-bit参数来使用,例如跳转指令0E,目标行号需要用到P10和P11来表示,此时合并使用的16-bit参数对应地记为P-0和P-1。
2. 程序行
我们可以自由编辑512行程序,从 000 到 1FF 均为有效行号。
我们也可以根据程序运行时需要的功能,通过跳转类指令,直接或者有条件地改变顺序执行逻辑,跳转到其他部分继续运行。
Assembly and machine code
指令和运算元概念在编程器上的使用源自 Solaris x86汇编语言 ,详情请参考Oracle相关文档。
注意
一些指令在执行时并不需要OP作为参数代入。 比如程序结束指令0F,调用返回指令0D等等。 执行这类指令时,OP的值会被忽略。
警告
OP表示的字节在一些情况下,也可能表示非数值类的含义。
延时指令
INST_PROG_DELAY | OPCODE | P-0 | P10 | P11 |
|---|---|---|---|---|
| Delay 1000 ms | 02 | 03E8 | 00 | 00 |
02 03E8 0000
其中03E8对应十进制值1000,而0000则代表延时的单位为毫秒。
LED颜色指令
再以全彩LED灯颜色配置指令E4为例,
E4 00 FF 80 00
语句表示将00号LED设置为RGB颜色代码FF8000所表示的橙色
| R | G | B |
|---|---|---|
FF | 80 | 00 |
所以在本语句中,各参数值如下表:
| P00 | P01 | P10 | P11 |
|---|---|---|---|
00 | FF | 80 | 00 |
提示
本文档中,除非特别标注MCU板上组合键描述中 + 左侧的按钮应先于 + 右侧键按下。