BF-ASM:8

From Esolang
Jump to navigation Jump to search
This is still a work in progress. It may be changed in the future.

BF-ASM:8 is an esolang made to be translated to Brainfuck, manually or by a compiler. Made by the user: DmilkaSTD.

Rules

Rule 1

Every program should start with: ->>>>

Rule 2

The compilter should allow you to change the maximum number that every cell can store (8 bits, 16 bits, 32 bits, 64 bits, signed numbers)

Rule 3

The x of every instruction, can't be equal to the maximum number that a cell can store (Example, if a cell can only store 8 bits, then the x value can't be 255)

Rule 4

The x of every instruction should be a number

Rule 5

Also, there are five special registers (5 cells), which can be modified directly by code.

Rule 6

If in some part of this wiki there is something that starts with 'r' and have a number next to it, it means that refers to a register. r1=Register1, r2=Register2,r3=Register3...

Instructions

Instruction Description Note Translated to Brainfuck
halt Halts the program Even the halt program uses flow control. WIP
add x Increments by x the current cell's value +...
sub x Decrements by x the current cell's value -... -...
set x Sets the current cell's value to x [-]+... [-]+...
mov x Increments by x the pointer's value I originally wanted to put the name of the instruction set as mov >...
ret x Decrements by x the pointer's value <... <...

Final rules

Rule 1

Every program should starts executing in the tag 0, if not exists in the code, then it halts.

Rule 2

Is the same rule that I said before in the rule 3 but applied to tags.

Examples

Hello world

Truth machine

Tic tac toe

Interpreter

There are two types of interpreter, the Expected interpreter and the Senseless interpreter

Expected interpreter

The expected interpter, is an interpreter which reads directly the assembly code.

Senseless interpreter

The senseless itnerpreter, translates the code to Brainfuck code, and the executes the code.

Sensemore interpreter

The sensemore interpreter, translates the code to Brainfuck, and shows you, but with comments.

Why this language?

I really don't know, because if you use this language instead of Brainfuck, that would not be a challenge.