| 
								
								
									 David Given | 008737ed19 | Added some more very untested helper functions. | 2018-09-10 23:20:52 +02:00 |  | 
				
					
						| 
								
								
									 David Given | a1747ac916 | Add the .dataf4 and .dataf8 directives to the assembler --- manually converting floats and doubles to bytes is not fun. It might even work! | 2018-09-10 22:56:18 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 53f7de794a | Ansify. | 2018-09-10 22:55:05 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 9733454d8e | Clang-format before editing. | 2018-09-10 22:42:30 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 976fa0efca | Clang-format before editing. | 2018-09-10 22:37:04 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 6275896a11 | Clang-format before editing. | 2018-09-10 22:25:14 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 185e910246 | Lots more untested helper functions. | 2018-09-10 01:08:25 +02:00 |  | 
				
					
						| 
								
								
									 David Given | f8f6fa9fc1 | Added some more incredibly untested helper functions. | 2018-09-10 00:21:16 +02:00 |  | 
				
					
						| 
								
								
									 David Given | ee328a0572 | Merge from default. | 2018-09-09 18:58:07 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 776e93221f | Thinko fix. | 2018-09-09 18:57:44 +02:00 |  | 
				
					
						| 
								
								
									 David Given | c769fbec93 | Use the correct ELF processor flags; align properly. | 2018-09-09 18:57:35 +02:00 |  | 
				
					
						| 
								
								
									 David Given | f3bc9ef92a | Call proper Linux system calls proper-like. | 2018-09-09 18:57:12 +02:00 |  | 
				
					
						| 
								
								
									 David Given | bb15c03339 | Remember to preserve input registers if we're going to be reading from them after writing to the output register. | 2018-09-09 18:53:49 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 79fd34dac6 | Call atexit handlers properly, avoiding a NPE and seg fault every time a program exits. | 2018-09-09 18:51:00 +02:00 |  | 
				
					
						| 
								
								
									 David Given | e88670dad4 | Yikes! Turns out that FPU registers are only 32 bits wide, and doubles are stored in pairs, just like on the PowerPC! | 2018-09-09 18:25:00 +02:00 |  | 
				
					
						| 
								
								
									 David Given | ec46643124 | Allow the ELF processor flags to be set. Generate MIPS ELF executables, not PowerPC ones. | 2018-09-09 14:29:34 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 5dfef6f180 | Rework relocations again: add RELO2HI and RELO2HISAD for the high two bytes of a word. | 2018-09-09 14:11:11 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 95dd6f0141 | Fix some niggling issues --- we have our first binary now! | 2018-09-09 12:24:22 +02:00 |  | 
				
					
						| 
								
								
									 David Given | b3b7c684c6 | Simplify MIPS relocations. Add RELS2 (for generic high-word relocations). Add support for MIPS branch-and-jump relocations. | 2018-09-09 12:23:59 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 0d8d98fd0f | Warning fix. | 2018-09-09 12:22:59 +02:00 |  | 
				
					
						| 
								
								
									 David Given | d2a1d4dcda | Added some very untested csa and csb implementations, based on the PowerPC ones. | 2018-09-08 23:12:57 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 75308901bc | Added hi[] and lo[] functions to the assembler; fix things enough that we now get to the point of failing to link programs. | 2018-09-08 22:42:06 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 379c1a4a3c | Rework floating point conversion. Bash enough of the table into workingness that the libraries build now. | 2018-09-08 22:06:38 +02:00 |  | 
				
					
						| 
								
								
									 David Given | d2c14ca44f | Precisely one stack hreg gets allocated for each vreg/congruence group for eviction; this prevents us from having to worry about moving values from stack
slot to stack slot, which is hard. | 2018-09-08 18:59:55 +02:00 |  | 
				
					
						| 
								
								
									 David Given | b7a1c96986 | MIPS appears to hate converting unsigneds to floats and vice versa. | 2018-09-05 23:53:38 +02:00 |  | 
				
					
						| 
								
								
									 David Given | fc0b0ae178 | (Slightly) better errors on phi congruence group mismatches. | 2018-09-05 23:53:08 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 7fbce066f8 | We attempt to compile the first library function; we fail. | 2018-09-05 00:13:01 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 26fe3f7530 | Added library skeletons. | 2018-09-05 00:07:07 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 98afb42095 | Added a boot.o based on the PowerPC one. | 2018-09-05 00:00:13 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 26c0228b14 | The examples all compile now (probably incorrectly, and the libc doesn't compile yet). | 2018-09-04 23:55:28 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 9d80756253 | Lots of assembler and rule bugfixing. | 2018-09-04 23:43:24 +02:00 |  | 
				
					
						| 
								
								
									 David Given | fe5ca5a85f | Added li and la instructions. | 2018-09-03 22:47:41 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 26f9b4ceae | Add in floating point support to the code generator. | 2018-09-03 22:06:05 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 83cf1be6a8 | mcgg now checks that registers have at most one type attribute set. | 2018-09-03 22:03:57 +02:00 |  | 
				
					
						| 
								
								
									 David Given | f8e71d888b | Add some painfully untested FPU instructions. | 2018-09-02 21:36:09 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 1d6ecddcf4 | The MIPS backend is still full of holes, and cut-and-pasted PowerPC code, but is beginning to look like an actual code generator. | 2018-09-02 18:57:25 +02:00 |  | 
				
					
						| 
								
								
									 David Given | a023fd8591 | Better error reporting for unterminated strings. | 2018-09-02 18:55:44 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 2eaca39322 | Merge pull request #120 from davidgiven/dtrg-no Remove the built-in preprocessor in cemcom.ansi | 2018-09-02 13:15:11 +02:00 |  | 
				
					
						| 
								
								
									 David Given | b76352de99 | Remove stray #include. | 2018-09-02 12:54:53 +02:00 |  | 
				
					
						| 
								
								
									 David Given | cb983fac44 | Rip out the built-in preprocessor from cemcom.ansi, now it's no longer used. | 2018-09-02 12:50:50 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 6931ffa5a4 | Disable the built-in preprocessor in cemcom.ansi; the external preprocessor is always run. Fix a bug in block skipping in the preprocessor. | 2018-09-02 12:39:00 +02:00 |  | 
				
					
						| 
								
								
									 David Given | f8fc5bc3d8 | Implement single-line C++-style comments. Fixes: #118 | 2018-09-02 12:14:59 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 0e9736fdca | Run through clang-format before editing. | 2018-09-02 12:04:33 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 274ed3cb6a | Run through clang-format before editing. | 2018-09-02 11:49:40 +02:00 |  | 
				
					
						| 
								
								
									 David Given | dd00b81080 | Run files through clang-format before editing. | 2018-09-02 11:36:15 +02:00 |  | 
				
					
						| 
								
								
									 David Given | fa1ba55ad2 | Convert CRLF into LF on read; this should avoid problems with parsing CRLF files. Fixes #117. | 2018-09-02 11:30:20 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 788f439a48 | Run files through clang-format before editing. | 2018-09-02 11:16:06 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 4741ed8e14 | Add a completely non-tested table-based MIPS assembler. | 2018-09-01 19:35:31 +02:00 |  | 
				
					
						| 
								
								
									 David Given | bed39e1f4d | Merge. | 2018-09-01 15:34:36 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 1d9f9074d9 | The default installation location should be /usr/local. | 2018-09-01 15:34:01 +02:00 |  |