Connor Olding
792bb63996
update readme
2016-04-27 16:10:50 -07:00
Connor Olding
16cb504443
add DMOV L.D L.S S.D S.S pseudo-instructions
2016-04-27 16:04:43 -07:00
Connor Olding
9192a655f7
add a really basic test
2016-04-26 21:38:29 -07:00
Connor Olding
0678d3eb58
move word_writer to lips.writers, add others
2016-04-26 21:34:05 -07:00
Connor Olding
027b5d9deb
fix options.origin (obvious typo)
2016-04-26 15:15:00 -07:00
Connor Olding
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
Connor Olding
f3765a0300
fix incbin directive
2016-04-24 13:19:18 -07:00
Connor Olding
693294bef2
fix labels and variables in data directives
2016-04-24 04:41:30 -07:00
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
43e08af5c5
fix some branch pseudo-instructions; fix example
2016-04-23 16:43:43 -07:00
Connor Olding
1188543cd2
more verbose errors
2016-04-23 16:24:46 -07:00
Connor Olding
5f74f178d3
actually fix hex and inc directives
2016-04-23 15:51:29 -07:00
Connor Olding
33ea629309
fix data collection, expect EOLs for all directives
2016-04-23 02:10:38 -07:00
Connor Olding
87c210d617
add .push/.pop directives for basic states
2016-04-23 02:06:43 -07:00
Connor Olding
515a5f7635
fix and deprecate options.offset
2016-04-21 12:56:13 -07:00
Connor Olding
1266dfd18f
add .base directive; PC calculation
2016-04-21 11:46:29 -07:00
Connor Olding
e25ee2013c
fix some pseudo-branch instructions
2016-04-21 10:55:49 -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
433d25a457
reimplement variables and relative labels
2016-04-20 18:26:18 -07:00
Connor Olding
91e028ef6a
rename internal DEF to VAR
2016-04-20 16:28:59 -07:00
Connor Olding
486ccb99af
begin refactor; add statement collection
2016-04-20 16:23:44 -07:00
Connor Olding
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
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
e593ea0c68
add comments and such
2016-04-20 13:15:14 -07:00
Connor Olding
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
Connor Olding
7af890c3b5
add 0o and 0b prefixes for lexing octal and binary
2016-04-20 01:16:19 -07:00
Connor Olding
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
Connor Olding
59994cd15d
fix binary lexing; add comments
2016-04-20 01:12:18 -07:00
Connor Olding
54d0ea0378
fix example paths
2016-04-14 07:54:41 -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
5c91e09151
fix backwards relative labels
2016-04-10 08:41:52 -07:00
Connor Olding
a9b702114a
allow importing/exporting of labels
2016-04-10 06:52:20 -07:00
Connor Olding
b8601031f3
add named relative labels
2016-04-10 05:09:38 -07:00
Connor Olding
a58ad83c92
implement incbin directive
2016-04-10 04:03:00 -07:00
Connor Olding
5afb743977
fix unary preprocessing
2016-04-10 03:39:50 -07:00
Connor Olding
b7831b49c3
be smarter about lexing spaces
2016-04-10 03:26:23 -07:00
Connor Olding
311b1e362f
implement offsets for constants
2016-04-10 03:25:11 -07:00
Connor Olding
356aee5e9f
add branch-likely pseudo-instructions
2016-04-07 07:56:46 -07:00
Connor Olding
da1c49cbfb
fix trunc.w.s instruction
2016-04-07 04:00:42 -07:00