glm94
|
0fd6413d81
|
Updated the instruction set and mapped out the opcodes as well as wrote a sample program to see if the ISA was complete enough to build a trivial program.
|
2023-06-17 16:56:42 -05:00 |
|
glm94
|
a9e57132be
|
Fixed issue #1 Scanner Bug where the start of comment would become part of an identifier or throw off number parsing.
|
2023-04-14 13:28:44 -05:00 |
|
glm94
|
aa3888b578
|
Fixed up the RemoveCurrentToken function which was causing all sorts of bugs, and added the ability to delcare a data byte, '.db', to have a variable's address as a value. This will be needed for building up an interrupt table at least with the version I have in mind.
|
2023-04-04 22:14:17 -05:00 |
|
glm94
|
288ba9f9cb
|
Updated the docs to include new jump operands and setup the assembler to handle parsing all the jump instructions.
|
2023-03-29 22:30:12 -05:00 |
|
glm94
|
a9a50055a4
|
Updated the parser to validate most of the opcodes. NOP falls through via the default case since it takes no parameters but the jump instructions need some thought before proceeding.
|
2023-03-29 20:57:04 -05:00 |
|
glm94
|
2e888913be
|
Added support for the STORE directive.
|
2023-03-29 12:57:07 -05:00 |
|
glm94
|
ee60d14570
|
Refactored the code and added expect functions to make the code flow a bit nicer.
|
2023-03-29 12:41:53 -05:00 |
|
glm94
|
2d7aad1617
|
Fixed a bug with labels not advancing the parser after being processed resulting in a redefinition error.
|
2023-03-28 12:41:56 -05:00 |
|
glm94
|
ae03991fa5
|
Fixed some parser bugs processing the syntax for some LOAD instruction types.
|
2023-03-27 22:22:01 -05:00 |
|
glm94
|
95ed2143ea
|
Updated the parser to handle processing a simple load byte instruction. Added the LODB opcode to the opcode enum listing and updated the Scanner to look for 'byte' and mark it as a directive.
|
2023-03-24 23:24:24 -05:00 |
|
glm94
|
4f9f4202b2
|
Wrote the first batch of directive handling code, so far just handling creating variables.
|
2023-03-08 13:25:46 -06:00 |
|
glm94
|
5e9e1bdec4
|
Massive refactoring to simplify this whole setup. The Token List will be modified in place and reused in the Parser to normalize the list and generate a symbols table. Normalizing the token list will make sure the syntax is valid and the symbols table will have the relative offsets and length of symbol values. At least this is all the plan but one step at a time.
|
2023-03-06 21:51:36 -06:00 |
|
glm94
|
1b246e90bc
|
Started rethinking how this machine should behave. Updated and refactoring some things with a few new ideas.
|
2023-02-23 22:22:07 -06:00 |
|
glm94
|
fd44e03b1b
|
Updated the Parser to try and give 'AddressParameter's more meaning depending on the SymbolType.
|
2022-10-08 18:21:11 -05:00 |
|
glm94
|
cd1258a724
|
Fixed various Parser bugs.
|
2022-10-03 19:58:44 -05:00 |
|
glm94
|
be91e3c112
|
Updated the parser to better handle parameters, sort of and including a string length assembly program to use as a test for the whole assembler.
|
2022-10-03 21:26:28 +00:00 |
|
glm94
|
7004fff659
|
This feels like a trainwreck but eh. Changed the way the opcodes are managed. Hopefully this is the right direction when I add support for multiple ASM files.
|
2022-09-01 18:46:59 +00:00 |
|
glm94
|
3c7056c5e6
|
The main function will now write out the output of the parser.
|
2022-08-29 21:23:02 +00:00 |
|
glm94
|
6c7b8d5356
|
Fixed a bug where CMP REG, REG wouldn't get encoded and a disassembler bug related to said CMP bug.
|
2022-08-29 19:29:34 +00:00 |
|
glm94
|
5f437b6869
|
Both the assembler and the disassembler should now support all the instructions I've layed out thus far.
|
2022-08-29 18:51:48 +00:00 |
|
glm94
|
7385a807a5
|
Created a basic binary format to help guide the disassembler.
|
2022-08-29 15:57:14 +00:00 |
|
glm94
|
0d3f8a460e
|
Added more instructions for the parser to emit and refactored the code in doing so.
|
2022-08-28 15:37:56 -05:00 |
|
glm94
|
8e9d1aefe8
|
Fixed some disassembler issues. At least some instuctions are being disassembled correctly.
|
2022-08-26 21:43:03 -05:00 |
|
glm94
|
0785f21805
|
Added a disassembler which is still very buggy. Also fixed some bugs with the opcode mask getting function.
|
2022-08-26 21:41:02 +00:00 |
|
glm94
|
e4a191a17e
|
Refined the encoding some more.
|
2022-08-26 19:00:37 +00:00 |
|
glm94
|
eb5e2c506e
|
Got the start of encoding opcodes.
|
2022-08-26 18:27:41 +00:00 |
|
glm94
|
fbef044905
|
Added some simple symbol handling to the Parser.
|
2022-05-06 18:55:22 +00:00 |
|
glm94
|
3d4ab57f05
|
Created the skeleton for the parser.
|
2022-02-07 15:33:58 +00:00 |
|
glm94
|
7a88d6e34d
|
Added code to detect assembler directives and did some minor code clean up.
|
2022-02-01 22:07:00 -06:00 |
|
glm94
|
2c18b593ab
|
Expanded the assembly test code partially, and added some ideas on how to encode instructions.
|
2022-01-07 21:37:32 +00:00 |
|
glm94
|
08acc6af22
|
First stage of splitting up a source line complete. Next is tokenizing the list of string being generated.
|
2021-12-30 15:21:09 -06:00 |
|
glm94
|
5162804270
|
Initial commit, can read from a list of files passed.
|
2021-12-28 20:09:33 +00:00 |
|