本文总结一下,BF系列语言的指令、指针宽度、编码模型、输入输出宽度

目录

​1,Brainfuck​

​2,Boolfuck​

​3,BF7​

​4,BitChanger​

​5,BitChanger5 语言​


1,Brainfuck

​javascript:void(0)​

指令:


字符



含义



>



指针加一



<



指针减一



+



指针指向的字节的值加一



-



指针指向的字节的值减一



.



输出指针指向的单元内容(ASCⅡ码)



,



输入内容到指针指向的单元(ASCⅡ码)



[



如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处



]



如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处


指针宽度:8位

编码模型:每8位表示一个字符,使用的字母表大小是256个字母的

输入输出宽度:8位


2,Boolfuck

​javascript:void(0)​


字符



含义



>



指针加一



<



指针减一



+



指针指向的字节的值加一



.



输入内容到指针指向的单元(ASCⅡ码)



;



输出指针指向的单元内容(ASCⅡ码)



[



如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处



]



如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处


指针宽度:1位

编码模型:每8位表示一个字符,小端模式,即初始指针指向第一个字母的最低位

输入输出宽度:1位


3,BF7

​javascript:void(0)​


字符



含义



>



指针加一



<



指针减一



@



指针指向的字节的值加一



.



输出指针指向的单元内容(ASCⅡ码)



,



输入内容到指针指向的单元(ASCⅡ码)



[



如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处



]



如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处


指针宽度:1位

编码模型:每9位表示一个字符,其中最低位是缓冲位,高8位用来表示一个字符,大端模式。

输入输出宽度:8位


4,BitChanger

​javascript:void(0)​


字符



含义



<



指针减一



}



指针加一,然后指向的字节的值加一



.



输出指针指向的单元内容(ASCⅡ码)



,



输入内容到指针指向的单元(ASCⅡ码)



[



如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处



]



如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处


指针宽度、编码模型、输入输出宽度:同BF7


5,BitChanger5 语言

​javascript:void(0)​