1
0
Fork 0
mirror of https://github.com/notwa/lips synced 2024-11-14 14:49:03 -08:00
Commit graph

164 commits

Author SHA1 Message Date
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
b7831b49c3 be smarter about lexing spaces 2016-04-10 03:26:23 -07:00
311b1e362f implement offsets for constants 2016-04-10 03:25:11 -07:00
356aee5e9f add branch-likely pseudo-instructions 2016-04-07 07:56:46 -07:00
da1c49cbfb fix trunc.w.s instruction 2016-04-07 04:00:42 -07:00
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
fdb4b351a6 fix labels in word directives 2016-04-02 08:05:07 -07:00