b8d828c438 
					 
					
						
						
							
							cc: make it work with modern lark  
						
						
						
						
					 
					
						2025-09-12 12:35:06 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f27edd36d7 
					 
					
						
						
							
							as: fix empty param list  
						
						... 
						
						
						
						nop was failing 
						
						
					 
					
						2022-05-07 11:34:35 -07:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1a88bebf82 
					 
					
						
						
							
							tools: remove hardcoded references to paths  
						
						
						
						
					 
					
						2022-05-07 11:33:45 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						ef9a154681 
					 
					
						
						
							
							cc: add const arrays (wip)  
						
						... 
						
						
						
						Add a preliminary version of const arrays. It sorta works.
Right now this is limited to function-scope const arrays. 
						
						
					 
					
						2021-07-26 00:02:14 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						b01d6a4873 
					 
					
						
						
							
							cc: fix bug with regbank snap  
						
						
						
						
					 
					
						2021-07-25 23:58:17 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						8dfa5addfd 
					 
					
						
						
							
							cc: add shr  
						
						
						
						
					 
					
						2021-07-25 23:55:36 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						edb4161724 
					 
					
						
						
							
							cc: typo in grammar  
						
						
						
						
					 
					
						2021-07-25 23:52:58 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						71212cde2d 
					 
					
						
						
							
							cc: fix loaded variables after if block  
						
						
						
						
					 
					
						2021-04-24 08:56:51 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						0e6a311610 
					 
					
						
						
							
							ld: allow linking to a different offset  
						
						
						
						
					 
					
						2021-04-17 23:05:02 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						2ab6b4a5a9 
					 
					
						
						
							
							cc: add += and function pointers  
						
						
						
						
					 
					
						2021-04-17 23:04:30 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						36bc1417b6 
					 
					
						
						
							
							cpu: more instruction pipelining  
						
						... 
						
						
						
						This is needed to make WNS room for fetching instructions from SRAM. 
						
						
					 
					
						2021-04-17 23:02:58 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						6825ce464f 
					 
					
						
						
							
							cc: fix load bug  
						
						
						
						
					 
					
						2021-03-20 21:49:40 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						ef81ec3b12 
					 
					
						
						
							
							cc: mostly fixed function calls  
						
						
						
						
					 
					
						2021-03-20 21:27:26 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						eb303641d9 
					 
					
						
						
							
							cc: fix typo  
						
						
						
						
					 
					
						2021-03-20 21:25:01 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						b70cdd13c4 
					 
					
						
						
							
							Add partial support for 8-bit loads  
						
						... 
						
						
						
						We're big-endian.
when we have this in memory:
00 01 02 03
And we need the first byte, we load the first 16-bit word:
0x0001
The first byte is then in the upper part of the word, and requires
a right shift by 8.
So any load into an 8-bit typed container needs to shift stuff.
So far, stores from/to the stack are exempted, they always load/store
full 16-bit words.
And a few othe rminor things. Like string null terminators.
And escaped characters in character literals.
Can you believe it's spelled 'literal', with a single t?
Me neither. 
						
						
					 
					
						2021-03-18 08:35:23 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						48ffd4eb6d 
					 
					
						
						
							
							cc: fix field access bug  
						
						
						
						
					 
					
						2021-03-14 18:07:52 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						7841987b6e 
					 
					
						
						
							
							cc: add support for string literals and some stuff  
						
						... 
						
						
						
						- string literals added as rodata
- fixed register shuffling in for/while loops & fun calls
- a few other fixes 
						
						
					 
					
						2021-03-14 12:16:21 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						d1d0e421ce 
					 
					
						
						
							
							cpu: make BEQ and BNEQ only PC-relative  
						
						
						
						
					 
					
						2021-03-14 12:14:29 -07:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						790c08f1f2 
					 
					
						
						
							
							ld: now generates a full rom vhdl from template  
						
						
						
						
					 
					
						2021-03-13 15:44:48 -08:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						e1557ad4b6 
					 
					
						
						
							
							cc: add -I preprocessor option  
						
						
						
						
					 
					
						2021-03-13 15:44:22 -08:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						a3a67105eb 
					 
					
						
						
							
							cc: add support for structs  
						
						... 
						
						
						
						- now we keep track of expression type
- added '|' and '|=' operators
- implemented '->' operator
- minor cleanups 
						
						
					 
					
						2021-03-13 15:42:39 -08:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						44a3a03147 
					 
					
						
						
							
							Fix relocs  
						
						
						
						
					 
					
						2021-02-22 20:35:09 -08:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						edf167ff2b 
					 
					
						
						
							
							Fix initial stack pointer  
						
						
						
						
					 
					
						2021-02-22 20:34:54 -08:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						f8586a3fb0 
					 
					
						
						
							
							Fix eq  
						
						
						
						
					 
					
						2021-02-22 20:34:35 -08:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						fbeb22df5a 
					 
					
						
						
							
							Implement post_decrement  
						
						
						
						
					 
					
						2021-02-22 20:34:17 -08:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						abfd8d3647 
					 
					
						
						
							
							Fix shl  
						
						
						
						
					 
					
						2021-02-22 20:33:58 -08:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						f3928f52a4 
					 
					
						
						
							
							Fix if-else regs  
						
						
						
						
					 
					
						2021-02-22 20:33:35 -08:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						64d440c94b 
					 
					
						
						
							
							Word-precise imm for BEQ and BNEQ  
						
						
						
						
					 
					
						2021-02-22 20:33:05 -08:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						f59b3efb9f 
					 
					
						
						
							
							Fix a few details  
						
						
						
						
					 
					
						2021-02-18 21:27:20 -08:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						0157e235e4 
					 
					
						
						
							
							Add support for char litterals and <<  
						
						... 
						
						
						
						Also streamline cc.py to do it all:
- cpp
- cc
- as
LD is still a separate step 
						
						
					 
					
						2021-02-18 21:20:35 -08:00 
						 
				 
			
				
					
						
							
							
								Paul Mathieu 
							
						 
					 
					
						
						
							
						
						363944d417 
					 
					
						
						
							
							Initial commit  
						
						
						
						
					 
					
						2021-02-17 13:20:30 -08:00