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

103 Commits

Author SHA1 Message Date
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
Connor Olding ad93ae9feb fix weird typo 2015-12-17 08:51:22 -08:00
Connor Olding 0edaa3f2de add JPOP pseudo-instruction 2015-12-17 08:50:24 -08:00
Connor Olding dc4dac8138 add PUSH and POP pseudo-instructions 2015-12-17 08:41:59 -08:00
Connor Olding b60ca90873 ensure labels exist 2015-12-17 07:22:43 -08:00
Connor Olding f12fec5094 add offset option for jumps 2015-12-17 07:19:24 -08:00
Connor Olding 91533bc083 Revert "add a warning about integer precision in Lua"
This reverts commit 5544c5226b.
2015-12-16 10:07:16 -08:00
Connor Olding c27aaa4008 fix args 2015-12-02 10:20:32 -08:00
Connor Olding c2f436a161 separate LA from LI; improve LI logic 2015-12-02 10:06:18 -08:00
Connor Olding efe3864814 notes 2015-12-02 09:43:54 -08:00
Connor Olding 3d28e95707 add bitrange function to make code a little clearer 2015-12-02 09:09:44 -08:00
Connor Olding 08472cdc1a remove obsolete comments; move a function 2015-12-02 08:30:52 -08:00
Connor Olding 5544c5226b add a warning about integer precision in Lua 2015-11-28 15:11:51 -08:00
Connor Olding 63851234f9 allow signed constants for some instructions 2015-11-26 21:38:08 -08:00