Connor Olding
f851540b24
various fixes, mostly for labels
...
reimplement modulo by 0x80000000 for labels.
allow numeric label values ("REL") to be "fixed" to bypass label calculation.
add offsets after label calculation instead of before.
properly check for EOL after all expected arguments have been exhausted.
finally, add token properties to debug dumps.
2016-04-24 03:55:12 -07:00
Connor Olding
6433227c26
rewrite overrides, reimplement ROL/ROR
2016-04-23 19:36:26 -07:00
Connor Olding
1188543cd2
more verbose errors
2016-04-23 16:24:46 -07:00
Connor Olding
87c210d617
add .push/.pop directives for basic states
2016-04-23 02:06:43 -07:00
Connor Olding
1266dfd18f
add .base directive; PC calculation
2016-04-21 11:46:29 -07:00
Connor Olding
6eac36584f
properly compute offsets
2016-04-21 04:10:40 -07:00
Connor Olding
694f09c9e0
clean up some of my mess
2016-04-21 03:35:17 -07:00
Connor Olding
fc153d5191
fix label importing; cache data lengths
2016-04-21 02:56:56 -07:00
Connor Olding
901d7ceac5
fix .align directive and data measurement
2016-04-21 02:32:49 -07:00
Connor Olding
bf439cafb3
cleanup some dead code
2016-04-21 02:10:12 -07:00
Connor Olding
c8f28bbbfb
reimplement Dumper; lips is mostly working again
2016-04-21 01:54:04 -07:00
Connor Olding
14e397a7a8
get a bunch of overrides working again
2016-04-21 00:28:50 -07:00
Connor Olding
acb5a3a6df
assemble some arguments that aren't registers again
2016-04-20 21:23:32 -07:00
Connor Olding
027485543c
assemble basic instructions again
2016-04-20 20:55:28 -07:00
Connor Olding
a655e67bd3
fix align/skip fill value overflow
2016-04-20 13:15:17 -07:00
Connor Olding
d10c0f0ee9
use Base class pattern; extend off existing classes
2016-04-20 13:15:17 -07:00
Connor Olding
071169df48
redo internal paths/requires
2016-04-14 07:33:33 -07:00
Connor Olding
3290735c8f
pass numbers to writer instead of hex strings
2016-04-10 08:56:00 -07:00
Connor Olding
a9b702114a
allow importing/exporting of labels
2016-04-10 06:52:20 -07:00
Connor Olding
311b1e362f
implement offsets for constants
2016-04-10 03:25:11 -07:00
Connor Olding
4220509be5
expect addresses in literal immediates of branches
...
this is more useful than letting the immediate number simply pass through
2016-04-02 08:38:22 -07:00
Connor Olding
fdb4b351a6
fix labels in word directives
2016-04-02 08:05:07 -07:00
Connor Olding
54f28dc333
don't strip 0x80 prefix from .ORG addresses
...
the rest of the code seems to handle this fine,
since setting options.offset was bypassing it anyway
2016-03-13 20:24:43 -07:00
Connor Olding
07c68b6229
implement basic specials; more refactoring
2016-01-15 20:34:37 -08:00
Connor Olding
195236a52c
begin work on specials; big refactor
2016-01-15 11:15:02 -08:00
Connor Olding
1eed93f2e7
add filenames to Dumper errors
2016-01-14 11:33:53 -08:00
Connor Olding
fffe542d10
fix most line numbers in errors
...
this might be a bit of a hack;
i feel like nextc() should always happen after yield(),
not a mix of before and after.
2016-01-14 10:32:08 -08:00
Connor Olding
e21dbc72e6
reimplement addressing modes
...
this allows labels as offsets
and implied offsets of 0
2016-01-13 14:31:58 -08:00
Connor Olding
bf3f86e568
allow labels in WORD directives
2016-01-13 13:07:00 -08:00
Connor Olding
7c4becf0b6
use 2**n alignment instead of 2*n
2016-01-13 11:46:29 -08:00
Connor Olding
a47c924e75
implement ascii/asciiz directives, basic string lexing
2016-01-13 11:18:36 -08:00
Connor Olding
9fd46b571f
set up as a proper module; fix some stuff
2016-01-13 07:40:14 -08:00