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

53 commits

Author SHA1 Message Date
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
ce23d57db9 output sparse bytes; dump words by default 2015-12-25 01:09:00 -08:00
46b1cbea5a actually actually fix octal numbers 2015-12-25 01:04:08 -08:00
59c4802ff8 allow LA in place of LI 2015-12-25 00:16:35 -08:00
164b4ceae2 remove debugging stuff; add fixme 2015-12-25 00:14:37 -08:00
67b36f2b07 fix octal lexing 2015-12-24 23:52:30 -08:00
fbcd985e68 use (more standard) OR format for MOV 2015-12-24 23:43:36 -08:00
2992466c48 fix another error 2015-12-19 10:22:34 -08:00
96571c944b fix line numbers 2015-12-19 10:14:55 -08:00
d4ea0d0a19 rough include directive support 2015-12-18 23:42:54 -08:00
dea1955aec allow empty words on stack in push/pop 2015-12-18 16:47:41 -08:00
ad93ae9feb fix weird typo 2015-12-17 08:51:22 -08:00
0edaa3f2de add JPOP pseudo-instruction 2015-12-17 08:50:24 -08:00
dc4dac8138 add PUSH and POP pseudo-instructions 2015-12-17 08:41:59 -08:00
b60ca90873 ensure labels exist 2015-12-17 07:22:43 -08:00
f12fec5094 add offset option for jumps 2015-12-17 07:19:24 -08:00
c27aaa4008 fix args 2015-12-02 10:20:32 -08:00
c2f436a161 separate LA from LI; improve LI logic 2015-12-02 10:06:18 -08:00
efe3864814 notes 2015-12-02 09:43:54 -08:00
3d28e95707 add bitrange function to make code a little clearer 2015-12-02 09:09:44 -08:00
08472cdc1a remove obsolete comments; move a function 2015-12-02 08:30:52 -08:00
63851234f9 allow signed constants for some instructions 2015-11-26 21:38:08 -08:00
975ff3f942 make only the assemble function visible 2015-11-26 19:45:13 -08:00
c978d4914f set all lexer states at EOF 2015-11-26 19:28:14 -08:00
3ea0184fb6 implement HEX directives; a couple misc fixes 2015-11-26 19:15:15 -08:00
76fe45adee lex newlines in block comments 2015-11-26 18:51:07 -08:00
dc7f457b95 simplify buffer handling in lexer 2015-11-26 18:49:01 -08:00
fa12154420 use coroutines to lex
this will be relevant due time.
2015-11-26 18:45:45 -08:00
82af3d531e unallow labels as immediates; allow labels in DEREF instructions 2015-11-25 21:55:45 -08:00
c7f0d15910 fix LA 2015-11-25 21:27:46 -08:00
cc5e673d0c implement and fix many pseudo-instructions
up until this commit, there was a bug
that caused LI/LA to load wrong values
for 0x8000 <= immediate <= 0xFFFF.
2015-11-25 21:21:39 -08:00
6e97d134e4 implicit RA argument for JR 2015-11-25 10:47:37 -08:00
14f44f8206 add remaining instructions 2015-11-25 10:28:55 -08:00
03cb168ad0 add more instructions 2015-11-25 03:04:55 -08:00
9ccf2fd883 don't error when no options are given
d'oh!
2015-11-24 17:15:12 -08:00
5aa0b5abe1 added 'unsafe' option to not wrap execution in pcall 2015-11-24 17:06:38 -08:00
d1edcf4fab add line numbers to Dumper errors 2015-11-24 17:00:44 -08:00
32368f3998 optimize LI/LA 2015-11-24 16:34:18 -08:00
89fcdd825d be more strict with immediate sizes
this will be made up for by pseudo-instructions in due time.
2015-11-24 16:25:05 -08:00
338685d5bc fix a couple coprocessor instructions 2015-11-24 13:34:24 -08:00
bd0c5f4b34 implement align and skip directives 2015-11-24 13:23:22 -08:00