| 
						
					 | 
					
						
						
						
						
							
						
						
							08874c4533
							
						
					 | 
					
						
						
							
							Use an enum to represent registers, parse txt files, check CPU state against expected
						
						
						
						
						
						
					 | 
					
						2025-03-20 13:06:33 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							305ac557fa
							
						
					 | 
					
						
						
							
							Move registers to CPU struct, start working on testing code
						
						
						
						
						
						
					 | 
					
						2025-03-20 09:44:41 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							b511c6a620
							
						
					 | 
					
						
						
							
							Clean up/inline functions and clear out TODOs
						
						
						
						
						
						
					 | 
					
						2025-03-20 08:19:20 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							266f7a7900
							
						
					 | 
					
						
						
							
							Factor out get/set actions to reduce duplication, execute add,sub,cmp and check flags
						
						
						
						
						
						
					 | 
					
						2025-03-19 21:10:22 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							863ccfc583
							
						
					 | 
					
						
						
							
							Convert TBD instruction op names to the actual enum variants, rather than strings
						
						
						
						
						
						
					 | 
					
						2025-03-19 21:09:42 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							fd8f696627
							
						
					 | 
					
						
						
							
							Listing 46
						
						
						
						
						
						
					 | 
					
						2025-03-19 21:07:11 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							a91c3d9ba9
							
						
					 | 
					
						
						
							
							Clean up operand code by removing unnecessary variants
						
						
						
						
						
						
					 | 
					
						2025-03-19 18:57:34 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							c312b7fd57
							
						
					 | 
					
						
						
							
							Fix register logic since we can access high and low parts, it's really ugly
						
						
						
						
						
						
					 | 
					
						2025-03-18 21:16:08 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							b78d043b6c
							
						
					 | 
					
						
						
							
							Add new listings, supply cs register, fix segreg mov instruction
						
						
						
						
						
						
					 | 
					
						2025-03-17 21:51:52 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							118ed482c1
							
						
					 | 
					
						
						
							
							Add listing 0044.txt, rm test files at the end of script
						
						
						
						
						
						
					 | 
					
						2025-03-16 23:55:26 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							6e7783c623
							
						
					 | 
					
						
						
							
							Bash script to compare expected output, print values in a way that's easy to test
						
						
						
						
						
						
					 | 
					
						2025-03-16 23:45:37 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							7e74d1e9a2
							
						
					 | 
					
						
						
							
							Print registers and execute basic mov instructions
						
						
						
						
						
						
					 | 
					
						2025-03-15 22:28:54 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							32ddb518e9
							
						
					 | 
					
						
						
							
							Break code up into files, delete C code, organize things better
						
						
						
						
						
						
					 | 
					
						2025-03-15 17:28:51 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							6909f75b35
							
						
					 | 
					
						
						
							
							Little bit more clean up
						
						
						
						
						
						
					 | 
					
						2025-03-13 21:59:37 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							d4216d793a
							
						
					 | 
					
						
						
							
							Listing 43/44 asm files
						
						
						
						
						
						
					 | 
					
						2025-03-13 17:50:58 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							3dca2254e1
							
						
					 | 
					
						
						
							
							Add helper proc to clean up the word/byte keyword
						
						
						
						
						
						
					 | 
					
						2025-03-13 17:50:32 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							460e1a8700
							
						
					 | 
					
						
						
							
							Little bit of clean up and organization
						
						
						
						
						
						
					 | 
					
						2025-03-13 12:46:25 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							fc02debf65
							
						
					 | 
					
						
						
							
							Last bunch of instructions to get listing 42 fully read
						
						
						
						
						
						
					 | 
					
						2025-03-12 23:46:47 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							babb07cb43
							
						
					 | 
					
						
						
							
							Segment register for memory addresses and lock string
						
						
						
						
						
						
					 | 
					
						2025-03-12 11:31:14 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							8967be44a0
							
						
					 | 
					
						
						
							
							Major refactor to define both operands so either can be empty
						
						
						
						
						
						
					 | 
					
						2025-03-12 11:07:40 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							08ef7d901b
							
						
					 | 
					
						
						
							
							IN, OUT, XLAT, LEA, LDS, LES, ADC
						
						
						
						
						
						
					 | 
					
						2025-03-07 19:27:01 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							782ff93ace
							
						
					 | 
					
						
						
							
							Handle accumulator differently, handle segment registers, handle unary, add instructions
						
						
						
						
						
						
					 | 
					
						2025-03-07 10:14:36 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							390fedc848
							
						
					 | 
					
						
						
							
							Add more instructions, add segment registers, move types up, read more data
						
						
						
						
						
						
					 | 
					
						2025-03-07 10:13:49 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							c7ee622847
							
						
					 | 
					
						
						
							
							Rename listing files
						
						
						
						
						
						
					 | 
					
						2025-03-03 20:40:47 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							6365bd73a0
							
						
					 | 
					
						
						
							
							Encode jump offsets, collect instruction lines as strings, print at end
						
						
						
						
						
						
					 | 
					
						2025-02-24 20:03:18 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							1f9837b256
							
						
					 | 
					
						
						
							
							Change how we detect explicit word sizes, fix data_idx
						
						
						
						
						
						
					 | 
					
						2025-02-23 12:05:56 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							c1799fcac2
							
						
					 | 
					
						
						
							
							Jump instructions and read opname from 3-bit pattern
						
						
						
						
						
						
					 | 
					
						2025-02-22 22:03:14 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							446848dffb
							
						
					 | 
					
						
						
							
							Generalizing data and operand bracketing, to make add instrunction work
						
						
						
						
						
						
					 | 
					
						2025-02-21 23:35:24 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							bc0a8b65eb
							
						
					 | 
					
						
						
							
							New declarative style instruction definition, generalized parsing
						
						
						
						
						
						
					 | 
					
						2025-02-21 21:53:11 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							f8f5744cd3
							
						
					 | 
					
						
						
							
							WIP: Separate parsing from printing, the easy way
						
						
						
						
						
						
					 | 
					
						2025-02-16 17:10:29 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							fbedf7cf67
							
						
					 | 
					
						
						
							
							Process mov instruction properly, 01-02-39.asm now decoded properly
						
						
						
						
						
						
					 | 
					
						2025-02-14 23:08:45 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							c5e9cfac44
							
						
					 | 
					
						
						
							
							Parse instruction function
						
						
						
						
						
						
					 | 
					
						2025-02-14 13:09:18 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							7c48c5ed90
							
						
					 | 
					
						
						
							
							Debug print encoding map
						
						
						
						
						
						
					 | 
					
						2025-01-21 22:46:31 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							444510cca2
							
						
					 | 
					
						
						
							
							RegMemMode enum, Instruction struct with 'mov' encodings, plus a map, read bytes
						
						
						
						
						
						
					 | 
					
						2025-01-21 22:45:49 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							86428f0263
							
						
					 | 
					
						
						
							
							Test w flag and print with the bytes in comments
						
						
						
						
						
						
					 | 
					
						2025-01-21 14:50:30 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							f67f6de0b6
							
						
					 | 
					
						
						
							
							Update building and testing for new odin code
						
						
						
						
						
						
					 | 
					
						2025-01-21 14:50:03 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							0e4aebff13
							
						
					 | 
					
						
						
							
							Odin port
						
						
						
						
						
						
					 | 
					
						2025-01-21 14:20:41 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							021c4573fa
							
						
					 | 
					
						
						
							
							ADD instruction sign extension bit handled and deleting old code
						
						
						
						
						
						
					 | 
					
						2024-01-17 00:51:55 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							26c07aee61
							
						
					 | 
					
						
						
							
							Types and instruction specifications moved to decode.h
						
						
						
						
						
						
					 | 
					
						2024-01-16 21:46:41 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							a0ed11416e
							
						
					 | 
					
						
						
							
							Instruction parser finished for MOV instructions with corner cases handled
						
						
						
						
						
						
					 | 
					
						2024-01-16 21:44:03 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							ca0742de3c
							
						
					 | 
					
						
						
							
							WIP Refactor: Instruction parsing, decoding and printing split
						
						
						
						
						
						
					 | 
					
						2024-01-16 18:27:19 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							8497316768
							
						
					 | 
					
						
						
							
							WIP Refactor: Instruction parser now works and basic decoding in place
						
						
						
						
						
						
					 | 
					
						2024-01-16 10:12:44 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							4754a8cd4c
							
						
					 | 
					
						
						
							
							WIP Refactor: Instruction parser using a struct
						
						
						
						
						
						
					 | 
					
						2024-01-16 10:12:17 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							20d1aed742
							
						
					 | 
					
						
						
							
							mov_inst and add_inst procedures to avoid too much nesting
						
						
						
						
						
						
					 | 
					
						2024-01-15 20:16:01 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							08753ea330
							
						
					 | 
					
						
						
							
							Immediate to register/memory conditionals condensed
						
						
						
						
						
						
					 | 
					
						2024-01-15 12:42:54 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							5b2542b0dd
							
						
					 | 
					
						
						
							
							Direct Address special case added(MOD 0 R/M 110)
						
						
						
						
						
						
					 | 
					
						2024-01-15 12:30:42 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							2a92f04836
							
						
					 | 
					
						
						
							
							Bug: Cast to i16 was failing, casted unsigned char to sbyte before promoting
						
						
						
						
						
						
					 | 
					
						2024-01-15 11:59:51 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							f4d6835694
							
						
					 | 
					
						
						
							
							ASM test file improved error handling/reporting
						
						
						
						
						
						
					 | 
					
						2024-01-15 10:45:46 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							094733ee70
							
						
					 | 
					
						
						
							
							MOV inst conditional branching cleaned up considerably, cause god it was ugly
						
						
						
						
						
						
					 | 
					
						2024-01-15 10:45:08 +07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							7f094799e9
							
						
					 | 
					
						
						
							
							OPTION macro revamped with IF_LET_SOME
						
						
						
						
						
						
					 | 
					
						2024-01-15 08:07:17 +07:00 | 
					
					
						
						
							
							
							
						
					 |