Skip to main content

准备编辑

开始编辑我们的第一个程序前,先来了解一些规则。

编辑区

编辑模式下,主屏幕第2行一共有以下两个编辑区。

行号区

行号区包括(0,1)(1,1)(2,1)这3个字符位。
当光标停留在行号区时,我们可以用方向键修改行号来浏览每行程序。

caution

无论是否确认修改,按下️或者键时,光标都会返回行号区。

程序区

行号区进入到程序区,只要在光标移动到(2,1)位置时,再次按下️️键。
进入程序区后,光标将暂时被锁定在程序区内,只能在(4,1)~(15,1)间的位置区域移动。

这时,我们可以用 键移动光标,并用 ️键更改指令或着运算元的十六进制值。

tip

在程序区完成编辑后,须通过按钮确认更改以保存当前行,或通过按钮放弃修改。

单双字节切换

在输入程序时,操作组合键+️,可以切换屏幕第1行显示。
我们可以选择显示2个双字节运算元对应的十六进制值:

主屏幕
Ю  01000┐ 00000┐
000 02 03E8 0000

或者显示4个单字节子运算元对应的十六进制值:

主屏幕
Ю002&255 000&128
000 E4 02FF 0080

具体的对应换算可以配合下表理解:

十进制二进制
00202
255FF
00000
12880

直接输入十进制数

大部分情况下,使用十进制数字输入更符合我们的思维习惯。

比如,我们想要在程序执行过程中使用延时指令02加入2500毫秒的延时。
比起对应的十六进制值9C4,显然直接输入十进制值2500要直观便捷得多。

主屏幕
Ю  02500┐ 00000┐
000 02 09C4 0000

按下组合键+,我们可以直接编辑运算元或者子运算元所对应的十进制值。
编辑时,用 键移动光标, ️️键改变选中的十进制数值的数字。

编辑完成后按下键,主屏幕第2行程序区的两个运算元OP-0OP-1将自动更新为对应的十六进制值。

按组合键+可以重新回到主屏幕第2行程序区

寄存器溢出

danger

当要输入数值的二进制值表示所需要的bit数,超过存储寄存器允许的最大bit数时,超出的bit部分将被自动忽略。

在指令编程器中,允许最大16-bit数值的十进制值是:

(FFFF)16=2161=65535(FFFF)_{16}=2^{16}-1=65535

允许最大8-bit数值的十进制值是:

(FF)16=281=255(FF)_{16}=2^{8}-1=255

如果输入的数值超出以上范围,按下️键时将发生溢出。

OP溢出

要将以下数字从十进制转换成二进制表示,然后储存在单独的16-bit OP中。

500
70000

高于16-bit数位上的值将被自动舍去:

70000216=446470000-2^{16}=4464

第2行输入的十进制值70000,被保存的结果是0001 0001 0111 0000
所以按下键️时将被自动更正为十进制值4464

sOP溢出

要将以下数字从十进制转换成二进制表示,并尝试储存在两个独立的8-bit sOP中。

5
255
999

注意第3行数字999的二进制值表示需要10个bit。
如果直接储存在8-bit子运算元,只有较低8个bit上的数值会被寄存器保存。
更高数位上的值则被舍去:

9992928=231999-2^{9}-2^{8}=231

所以被保存的结果是1110 0111,也就是十进制数231