1
0
Fork 0
mirror of https://github.com/notwa/lips synced 2024-05-18 08:23:23 -07:00
Commit Graph

216 Commits

Author SHA1 Message Date
Connor Olding 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
Connor Olding fdb4b351a6 fix labels in word directives 2016-04-02 08:05:07 -07:00
Connor Olding 4b8af13e78 fix align directive with arguments 2016-04-02 08:05:05 -07:00
Connor Olding 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
Connor Olding 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
Connor Olding 0b5331ff5c use ; comments to fix github highlighting 2016-01-24 20:18:52 -08:00
Connor Olding 9e4167e04a add something resembling documentation 2016-01-24 20:03:07 -08:00
Connor Olding e7fe9d972c fix shift-variable argument order 2016-01-18 20:28:11 -08:00
Connor Olding 260db0ba9e fix a couple regressions 2016-01-16 10:51:13 -08:00
Connor Olding 07c68b6229 implement basic specials; more refactoring 2016-01-15 20:34:37 -08:00
Connor Olding 195236a52c begin work on specials; big refactor 2016-01-15 11:15:02 -08:00
Connor Olding c0c4d81b5a handle parenthesis after lexing instead 2016-01-15 07:49:43 -08:00
Connor Olding 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
Connor Olding 61cd69004f split out token-handling and preprocessing 2016-01-14 16:31:24 -08:00
Connor Olding 1eed93f2e7 add filenames to Dumper errors 2016-01-14 11:33:53 -08:00
Connor Olding 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
Connor Olding 996d148ed5 fix usage of fpu/sys registers 2016-01-13 14:45:55 -08:00
Connor Olding e21dbc72e6 reimplement addressing modes
this allows labels as offsets
and implied offsets of 0
2016-01-13 14:31:58 -08:00
Connor Olding bf3f86e568 allow labels in WORD directives 2016-01-13 13:07:00 -08:00
Connor Olding 7c4becf0b6 use 2**n alignment instead of 2*n 2016-01-13 11:46:29 -08:00
Connor Olding f8805e6deb implement SPACE,HALF directive aliases 2016-01-13 11:41:00 -08:00
Connor Olding a47c924e75 implement ascii/asciiz directives, basic string lexing 2016-01-13 11:18:36 -08:00
Connor Olding 5e12951010 lips is lips 2016-01-13 09:51:29 -08:00
Connor Olding 9fd46b571f set up as a proper module; fix some stuff 2016-01-13 07:40:14 -08:00
Connor Olding 9612de6869 split lips
i fixed a lot of issues with globals in the process
2016-01-13 07:16:41 -08:00
Connor Olding 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
Connor Olding f630990c6e disallow 0 in place of r0/zero register 2016-01-05 16:45:53 -08:00
Connor Olding 361b0572f6 update readme 2016-01-05 01:51:06 -08:00
Connor Olding 59d4de30fa add relative labels a la asw 2016-01-05 01:10:52 -08:00
Connor Olding 7a0aac3b7c implement branch-immediate pseudo-instructions 2016-01-05 01:06:47 -08:00
Connor Olding 769ec200ea simplify Parser:format_out arguments 2016-01-05 01:04:03 -08:00
Connor Olding 83a194f829 add BEQZ/BNEZ pseudo-instructions 2016-01-05 01:01:52 -08:00
Connor Olding 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
Connor Olding 5f9be52d35 use locals 2015-12-27 02:06:18 -08:00
Connor Olding 73920dd31d use key instead of value for overrides 2015-12-26 20:42:28 -08:00
Connor Olding 5fb0829319 split out overrides into their own table 2015-12-26 20:25:06 -08:00
Connor Olding 12ca82e40a fix branching in some cases 2015-12-26 19:55:08 -08:00
Connor Olding a3bb50a1a6 implement cop0 (sys) registers 2015-12-25 19:12:50 -08:00
Connor Olding 90605ab4d1 don't output anything with empty input 2015-12-25 01:15:48 -08:00
Connor Olding ce23d57db9 output sparse bytes; dump words by default 2015-12-25 01:09:00 -08:00
Connor Olding 46b1cbea5a actually actually fix octal numbers 2015-12-25 01:04:08 -08:00
Connor Olding 59c4802ff8 allow LA in place of LI 2015-12-25 00:16:35 -08:00
Connor Olding 164b4ceae2 remove debugging stuff; add fixme 2015-12-25 00:14:37 -08:00
Connor Olding 67b36f2b07 fix octal lexing 2015-12-24 23:52:30 -08:00
Connor Olding fbcd985e68 use (more standard) OR format for MOV 2015-12-24 23:43:36 -08:00
Connor Olding 905ca2fb5c R4300i is MIPS III 2015-12-21 02:39:19 -08:00
Connor Olding 2992466c48 fix another error 2015-12-19 10:22:34 -08:00
Connor Olding 96571c944b fix line numbers 2015-12-19 10:14:55 -08:00
Connor Olding d4ea0d0a19 rough include directive support 2015-12-18 23:42:54 -08:00
Connor Olding dea1955aec allow empty words on stack in push/pop 2015-12-18 16:47:41 -08:00