From Esolang
Jump to navigation Jump to search

ShiftbB (meaning "Shift bit Byte") is a cell-based esoteric programming language that uses 2 data units without explicit types: bits and bytes. The move pointer instructions are bit-sized and most of the other instructions are byte sized. The current byte is from your_position to your_position+8. Because there are no proper increment/decrement operators, setting a value involves manually setting the bits, and an "overflow region" where any extra data is destroyed.


Instruction Scope Action
, Bit Decrement instruction pointer
. Bit Increment instruction pointer
1 Byte Sets the current byte to 0x00
2 Byte Sets the current byte to 0xff
_ Byte*2 Print operator. Prints previous byte as ASCII char if current byte is 0x00, prints previous byte as hex value if current byte is 0xff
/ N/A Ends the program. Programs without this as the last instruction are undefined, and will segfault on the reference implementation
@ Byte Sets the current position as the return, and sets the current byte as the left operand for a comparison
= Byte If current left operand == current byte, return to return
? Byte Sets current byte to user input


Hello World



This implementation only allows 1 char at a time.


Truth Machine

If input is 1, loop. Else, halt.



Reference implementation is at