8375eaff08
reimplement branch pseudos, remove branch-immediates for now
2016-05-01 16:31:09 -07:00
51820234a8
allow VARSYMs in directives
2016-05-01 03:56:56 -07:00
b596405e76
add basic branch pseudos, add REG(REG) addressing
2016-05-01 02:04:27 -07:00
03eb1b9ed5
pedanticism
2016-04-28 15:46:47 -07:00
792bb63996
update readme
2016-04-27 16:10:50 -07:00
16cb504443
add DMOV L.D L.S S.D S.S pseudo-instructions
2016-04-27 16:04:43 -07:00
9192a655f7
add a really basic test
2016-04-26 21:38:29 -07:00
0678d3eb58
move word_writer to lips.writers, add others
2016-04-26 21:34:05 -07:00
027b5d9deb
fix options.origin (obvious typo)
2016-04-26 15:15:00 -07:00
6b0d27ba6d
allow 1 register in place of 2, pseudo stuff…
...
allow CL to take more than one argument.
implement pseudo-instructions NEGU, SGT, and SGTU.
2016-04-26 02:36:19 -07:00
f3765a0300
fix incbin directive
2016-04-24 13:19:18 -07:00
693294bef2
fix labels and variables in data directives
2016-04-24 04:41:30 -07:00
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
6433227c26
rewrite overrides, reimplement ROL/ROR
2016-04-23 19:36:26 -07:00
43e08af5c5
fix some branch pseudo-instructions; fix example
2016-04-23 16:43:43 -07:00
1188543cd2
more verbose errors
2016-04-23 16:24:46 -07:00
5f74f178d3
actually fix hex and inc directives
2016-04-23 15:51:29 -07:00
33ea629309
fix data collection, expect EOLs for all directives
2016-04-23 02:10:38 -07:00
87c210d617
add .push/.pop directives for basic states
2016-04-23 02:06:43 -07:00
515a5f7635
fix and deprecate options.offset
2016-04-21 12:56:13 -07:00
1266dfd18f
add .base directive; PC calculation
2016-04-21 11:46:29 -07:00
e25ee2013c
fix some pseudo-branch instructions
2016-04-21 10:55:49 -07:00
6eac36584f
properly compute offsets
2016-04-21 04:10:40 -07:00
694f09c9e0
clean up some of my mess
2016-04-21 03:35:17 -07:00
fc153d5191
fix label importing; cache data lengths
2016-04-21 02:56:56 -07:00
901d7ceac5
fix .align directive and data measurement
2016-04-21 02:32:49 -07:00
bf439cafb3
cleanup some dead code
2016-04-21 02:10:12 -07:00
c8f28bbbfb
reimplement Dumper; lips is mostly working again
2016-04-21 01:54:04 -07:00
14e397a7a8
get a bunch of overrides working again
2016-04-21 00:28:50 -07:00
acb5a3a6df
assemble some arguments that aren't registers again
2016-04-20 21:23:32 -07:00
027485543c
assemble basic instructions again
2016-04-20 20:55:28 -07:00
433d25a457
reimplement variables and relative labels
2016-04-20 18:26:18 -07:00
91e028ef6a
rename internal DEF to VAR
2016-04-20 16:28:59 -07:00
486ccb99af
begin refactor; add statement collection
2016-04-20 16:23:44 -07:00
c47136442e
don't use coroutines for lexing
...
this turned out to be unnecessary,
and some flavors of Lua don't even have coroutines!
2016-04-20 13:15:17 -07:00
a655e67bd3
fix align/skip fill value overflow
2016-04-20 13:15:17 -07:00
d10c0f0ee9
use Base class pattern; extend off existing classes
2016-04-20 13:15:17 -07:00
e593ea0c68
add comments and such
2016-04-20 13:15:14 -07:00
7ccc2b180f
rename "defines" to "variables"
...
this follows bass' terminology:
constants don't care where they're defined, but can never be changed.
variables must be defined before use, but can be redefined.
defines aren't necessarily numbers.
bass: https://github.com/ARM9/bass
2016-04-20 01:41:44 -07:00
7af890c3b5
add 0o and 0b prefixes for lexing octal and binary
2016-04-20 01:16:19 -07:00
67ce15feee
fail to lex 0X hex prefix in favor of lowercase 0x
...
you are a terrible person if you do this
2016-04-20 01:12:57 -07:00
59994cd15d
fix binary lexing; add comments
2016-04-20 01:12:18 -07:00
54d0ea0378
fix example paths
2016-04-14 07:54:41 -07:00
071169df48
redo internal paths/requires
2016-04-14 07:33:33 -07:00
3290735c8f
pass numbers to writer instead of hex strings
2016-04-10 08:56:00 -07:00
5c91e09151
fix backwards relative labels
2016-04-10 08:41:52 -07:00
a9b702114a
allow importing/exporting of labels
2016-04-10 06:52:20 -07:00
b8601031f3
add named relative labels
2016-04-10 05:09:38 -07:00
a58ad83c92
implement incbin directive
2016-04-10 04:03:00 -07:00
5afb743977
fix unary preprocessing
2016-04-10 03:39:50 -07:00