summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* nqdasm: improve spacing between mnemonic and operandsBobby Bingham2017-01-151-1/+3
|
* nqdasm: Add disassemblerBobby Bingham2017-01-155-37/+87
|
* Switch addpc to use pc-offset instead of immediate operandBobby Bingham2017-01-152-2/+5
| | | | | This makes more sense, as the argument is really a signed offset from the program counter.
* nqasm: Reformat nop grammarBobby Bingham2017-01-151-2/+1
|
* nqasm: Handle pc offset argumentsBobby Bingham2017-01-151-14/+20
|
* nqasm: Rename arglist non-terminals to a_*Bobby Bingham2017-01-151-39/+46
| | | | | This will allow differentiation between pcoff (a single argument) and a_pcoff (an argument list consisting of only a pcoff argument).
* nqasm: Handle immediate argumentsBobby Bingham2017-01-152-6/+41
|
* nqasm: Handle register and register indirect argumentsBobby Bingham2017-01-155-53/+76
|
* nqasm: Improve parsing at end of fileBobby Bingham2017-01-152-4/+6
| | | | | | | | | Bison's implicit $accept rule ends with the END token. The fact that input could also end with END (via the line non-terminal) resulted in a shift reduce conflict. We resolve the conflict by modifying the lexer so that if it encounters end of file partway through a line, it produces a final EOL token before EOF.
* Add gitignoreBobby Bingham2017-01-151-0/+7
|
* nqasm: Initial stab at a lexer and parserBobby Bingham2017-01-155-0/+278
| | | | | So far, this only understands instructions, but no operands or labels. It doesn't handle bad input gracefully. It's just enough to test the basics.
* Add table of instructions and their encodingsBobby Bingham2017-01-152-0/+104