Skip to content

eliduvid/BattleCalc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

BattleCalc

Interpreter for simplified assembly-like language. Originally was hosted on gitlab and intended as a learning tool, but ended up never used like one. Working version available at https://battle-calc.neocities.org/

[I tried to host it on github pages, but require.js model I used then for some reason is not compatible with it 🤷‍♂️]

Yeah, and historic origins of the name are complicated and not so interesting.

Console

Takes whitespace-separated integer numbers and gives them one-by-one to READ command.

Available commands:

.label_name
Creates label with given (case sensitive) name that leads to this very spot.

PUSH register
Puts value from register to stack.

POP register
Gets value from stack and puts it into register.

MOV registerTo registerFrom
Copies value from registerFrom to registerTo.

INC register
Increases value of register by one;

DEC register
Decreases value of register by one;

ADD registerTo registerFrom
Adds value of registerFrom to registerTo and saves the result in registerTo.

SUB registerTo registerFrom
Subtracts value of registerTo from registerFrom to and saves the result in registerTo.

JMP .label_name
Jumps to label defined by "." operator.

JNZ register .label_name
If register not equals to zero, jumps to label defined by "." operator. Otherwise does nothing.

READ register
Reads one value from console input and puts it in register.

PRINT register
Prints value of register to console.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published