本文总结一下,BF系列语言的指令、指针宽度、编码模型、输入输出宽度
目录
3,BF7
1,Brainfuck
指令:
字符 | 含义 |
> | 指针加一 |
< | 指针减一 |
+ | 指针指向的字节的值加一 |
- | 指针指向的字节的值减一 |
. | 输出指针指向的单元内容(ASCⅡ码) |
, | 输入内容到指针指向的单元(ASCⅡ码) |
[ | 如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处 |
] | 如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处 |
指针宽度:8位
编码模型:每8位表示一个字符,使用的字母表大小是256个字母的
输入输出宽度:8位
2,Boolfuck
字符 | 含义 |
> | 指针加一 |
< | 指针减一 |
+ | 指针指向的字节的值加一 |
. | 输入内容到指针指向的单元(ASCⅡ码) |
; | 输出指针指向的单元内容(ASCⅡ码) |
[ | 如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处 |
] | 如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处 |
指针宽度:1位
编码模型:每8位表示一个字符,小端模式,即初始指针指向第一个字母的最低位
输入输出宽度:1位
3,BF7
字符 | 含义 |
> | 指针加一 |
< | 指针减一 |
@ | 指针指向的字节的值加一 |
. | 输出指针指向的单元内容(ASCⅡ码) |
, | 输入内容到指针指向的单元(ASCⅡ码) |
[ | 如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处 |
] | 如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处 |
指针宽度:1位
编码模型:每9位表示一个字符,其中最低位是缓冲位,高8位用来表示一个字符,大端模式。
输入输出宽度:8位
4,BitChanger
字符 | 含义 |
< | 指针减一 |
} | 指针加一,然后指向的字节的值加一 |
. | 输出指针指向的单元内容(ASCⅡ码) |
, | 输入内容到指针指向的单元(ASCⅡ码) |
[ | 如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处 |
] | 如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处 |
指针宽度、编码模型、输入输出宽度:同BF7