86ce3ea0d7
reimplement parsing; resolve defines after lexing
2015-11-22 12:30:55 -08:00
d808160d68
tokenize all at once (WIP)
2015-11-22 02:46:38 -08:00
1b23db1a71
unfudge LI/LA a little
2015-11-22 00:24:28 -08:00
5b35cc2155
use proper instruction type names
2015-11-22 00:09:54 -08:00
9ec4d0f406
add reg# register aliases
2015-11-21 23:50:25 -08:00
cdeb4b0489
pseudo-instruction crap
2015-11-21 19:30:02 -08:00
f673308437
various
...
fix jump and branch destinations.
note: branching is no longer compatible with CajeASM.
make LUI dumb: only use 'UPPER' with LI/LA.
note: this is very incompatible with CajeASM.
add LUUI pseudo-instruction to use 'UPPER' instead of 'LOWER'.
fix SUBI/SUBIU parsing.
fix LI for values under 0x10000.
pass filename through main().
tell Lexer our filename.
don't print filename in Dumper since it's irrelevant.
2015-11-21 17:35:43 -08:00
4a45b3c913
implement LI and LA
2015-11-21 15:36:54 -08:00
5397085f01
various
...
alias ZERO register to R0.
lex decimal numbers properly.
lex octal and negative numbers.
lex directives properly.
fix byte dumping.
fix UPPER behavior...?
2015-11-21 15:04:30 -08:00
39ffd10fff
new dumper to support directives
...
the old one could still have a place,
with its simplicity and speed.
also, screw versioning.
2015-11-21 13:53:52 -08:00
70827cd830
simplify size handling
2015-11-21 00:01:15 -08:00
88b230d3c7
define formats in the instruction table
...
this greatly reduces code bloat,
and made it easier to implement a few instructions.
everything is still very untested, however.
2015-11-20 23:29:57 -08:00
29de0e8d53
only specify one instruction list
2015-11-20 20:45:59 -08:00
70e4d28442
add remaining fp instructions
2015-11-20 20:26:30 -08:00
bfcd75f5b6
add fp compare instructions
2015-11-20 19:36:52 -08:00
05c3a18886
use filename in errors; fix JALR
2015-11-20 16:44:40 -08:00
3b92aad4a0
set up as a proper module
2015-11-20 16:21:13 -08:00
cd8ea7b3d7
refactor to use classes; no hardcoded stuff
2015-11-20 15:27:22 -08:00
ebc9987a38
implement relative branches; fix register orders
2015-11-20 15:01:04 -08:00
cf413a7ab1
a little cleanup
2015-11-20 14:12:02 -08:00
5822b592f1
add basic fp arithmetic
2015-11-20 14:00:02 -08:00
301bfc99f8
add fpu registers and basic moves
2015-11-20 13:28:10 -08:00
8407c4e016
recognize pseudo & fp instructions
...
i hope this is all of them.
2015-11-20 12:49:26 -08:00
c9671ef4b5
add semi-functional MIPS assembler
2015-11-20 11:53:09 -08:00