Added Virtual Stack Management and Symbol Tables
Added Logical Commands
and , or , xor , lshift , rshift
Command Format :
and .data var1 var2 .result
and .value val1 val2 .xword
and .result val1 .result
and .xword val1 .result
Same format for or & xor commands
Generic Format : keyword flag operand1 operand2 output
(operand2 is unnecessary when flag is .result or .xword
Implementation :
The add , sub , mul , div , mod , and , or , xor operations use a quad_operand_line_parser() which does parses a line and generates 4 operands alongside storing the Bytecode
They are also executed via the unified_arithmetic_core() which arranges operands and resolves Keywords , Flags , Data , Outputs using switches
Parser Helper Function used for add , sub , mul , div , mod , or , and , xor , rshift , lshift
Arithmetic Handler Function for execution of arithmetic and logical operations
Added Virtual Stack and Symbol table
user defined symbols i.e. 8-bit variables can be created in Micro Virtual - R
Commands :
.define
.assign
.copy
Format :
.define symbol : Define a variable
.assign symbol data : Assign 8-bit data to a defined variable
.copy symbol1 symbol1 : Copy data of one defined variable to another defined variable.
Behavior :
Only 10 Symbols can be defined , defining symbols with the exact same name produces undefined state (Needs Fix)
Symbols defined exactly the same as keywords will be treated as low priority in functions which accept both.
Symbols defined are always auto initialized to 0
The added functions being used in Micro Virtual - R
The added functions being used in Micro Virtual - R