AssemblerFuck++
Jump to navigation
Jump to search
Creator and Name
AssemblerFuck++ is an esoteric language created by the User:Esolang1. This language is heavily based on AssemblerFuck, with if statements and more loops. So, you can expect to see some similarities with the language AssemblerFuck in this page. (E1-0003)
Code
Syntax
The syntax is simply
INSTRUCTION PARAMETER(S)
Instructions
ADD <VALUE> Adds <VALUE> to current cell SUB <VALUE> Subtracts <VALUE> from current cell MOV <TARGET>, <OBJECT> Moves <OBJECT> to <TARGET> UNTIL <VALUE> Executes code until cell value is equal to <VALUE> DO <VALUE> Executes code <VALUE> times IF <VALUE> Executes code if current cell value is equal to <VALUE> END Marks the end of the code of a loop, or an if statement
Value can be any natural number, or 0. -1 can be used to create infinite do loops.
Valid <OBJECT> Content and usage
P Pointer, move pointer IN Input, save input
Valid <TARGET> Content and usage
P Pointer, save input LEFT Left, move pointer RIGHT Right, move poiner OUT Output, print value
Variables
Like brainfuck, this language is cell-based. There are no instructions related to declaring variables.
I/O
Inputs and outputs are controlable with the MOV instruction. Getting a single characer input and saving to current cell:
MOV P, IN
Printing current cell value:
MOV OUT, P
Directly printing the input is also possible, but it won't save the input to the cell:
MOV OUT, IN
Examples
Truth-machine
MOV P, IN IF 48 MOV OUT, P END IF 49 DO -1 MOV OUT, P END END
Infinite cat
DO -1 MOV OUT, IN END