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

177 commits

Author SHA1 Message Date
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
4b8af13e78 fix align directive with arguments 2016-04-02 08:05:05 -07:00
3febafef02 fix parsing of files lacking a trailing newline
ensures files yield an EOL token before EOF
2016-03-13 20:27:13 -07:00
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
0b5331ff5c use ; comments to fix github highlighting 2016-01-24 20:18:52 -08:00
9e4167e04a add something resembling documentation 2016-01-24 20:03:07 -08:00
e7fe9d972c fix shift-variable argument order 2016-01-18 20:28:11 -08:00
260db0ba9e fix a couple regressions 2016-01-16 10:51:13 -08:00
07c68b6229 implement basic specials; more refactoring 2016-01-15 20:34:37 -08:00
195236a52c begin work on specials; big refactor 2016-01-15 11:15:02 -08:00
c0c4d81b5a handle parenthesis after lexing instead 2016-01-15 07:49:43 -08:00
659bec36f8 reimplement defines
defines now resolve to the previous definition, rather than the lastmost.
also, defines are invisible to the parser now.
2016-01-14 17:29:45 -08:00
61cd69004f split out token-handling and preprocessing 2016-01-14 16:31:24 -08:00
1eed93f2e7 add filenames to Dumper errors 2016-01-14 11:33:53 -08:00
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
996d148ed5 fix usage of fpu/sys registers 2016-01-13 14:45:55 -08:00
e21dbc72e6 reimplement addressing modes
this allows labels as offsets
and implied offsets of 0
2016-01-13 14:31:58 -08:00
bf3f86e568 allow labels in WORD directives 2016-01-13 13:07:00 -08:00
7c4becf0b6 use 2**n alignment instead of 2*n 2016-01-13 11:46:29 -08:00
f8805e6deb implement SPACE,HALF directive aliases 2016-01-13 11:41:00 -08:00
a47c924e75 implement ascii/asciiz directives, basic string lexing 2016-01-13 11:18:36 -08:00
5e12951010 lips is lips 2016-01-13 09:51:29 -08:00
9fd46b571f set up as a proper module; fix some stuff 2016-01-13 07:40:14 -08:00
9612de6869 split lips
i fixed a lot of issues with globals in the process
2016-01-13 07:16:41 -08:00
fe947fecb6 a bit of refactoring and cleanup
update copyright
use more locals
store an empty table (__) to save memory
reorder instructions table
add a few comments
2016-01-13 06:46:51 -08:00
f630990c6e disallow 0 in place of r0/zero register 2016-01-05 16:45:53 -08:00
361b0572f6 update readme 2016-01-05 01:51:06 -08:00
59d4de30fa add relative labels a la asw 2016-01-05 01:10:52 -08:00
7a0aac3b7c implement branch-immediate pseudo-instructions 2016-01-05 01:06:47 -08:00
769ec200ea simplify Parser:format_out arguments 2016-01-05 01:04:03 -08:00
83a194f829 add BEQZ/BNEZ pseudo-instructions 2016-01-05 01:01:52 -08:00
d217ff8147 reverse argument order in JALR
the general argument order is d,s,t and this should not be an exception
2015-12-27 02:44:53 -08:00
5f9be52d35 use locals 2015-12-27 02:06:18 -08:00
73920dd31d use key instead of value for overrides 2015-12-26 20:42:28 -08:00
5fb0829319 split out overrides into their own table 2015-12-26 20:25:06 -08:00
12ca82e40a fix branching in some cases 2015-12-26 19:55:08 -08:00
a3bb50a1a6 implement cop0 (sys) registers 2015-12-25 19:12:50 -08:00
90605ab4d1 don't output anything with empty input 2015-12-25 01:15:48 -08:00