931 B
931 B
Design
Parsing
- First we tokenize the input (syntax check)
- Then we interpret the input (semantics check)
- Then we execute the input
Notation
[operation][number type], e.g.divifor divide (div) integer%[register]for addressing registers$[value]for using literals/immediate values;for end of statement (mandatory)[label]:for labels- Elements must be separated by whitespace character
- Good:
add $2 $5 %A; - Bad:
add $2$5%A;
- Good:
Examples
Divide register A by 5 and store the result in register A:
divi %A $5 %A;
Reserved symbols
The following whitespace characters are used to separate symbols:
- space (' ')
- tab ('\t')
- return carriage ('\r')
- newline ('\n')
The following characters are used as identifiers:
- dollar ('$')
- percentage ('%')
- colon (':')
- semicolon (';')
- hash ('#')
All operands are reserved keywords and can therefore NOT be used as labels.