1
0
Fork 0
mirror of https://github.com/notwa/lips synced 2024-04-23 06:40:45 -07:00
Commit Graph

217 Commits

Author SHA1 Message Date
Connor Olding 03eb1b9ed5 pedanticism 2016-04-28 15:46:47 -07:00
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