46 Commits

Author SHA1 Message Date
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
9f7e371a49 Part01-02: Immedate to register/memory wip, moved EAC from r/m map to function 2024-01-14 11:37:37 +07:00
9b1d8d4005 Bash script to test asm decoding output 2024-01-14 09:01:52 +07:00
3b6381f981 Part01-02: More mov instructions being handled 2024-01-13 22:18:26 +07:00
6066e930db Part01-01: Listing 38 with multiple mov instructions now working 2024-01-13 15:51:51 +07:00
6ad9f66bc7 Makefile compiles all asm files 2024-01-13 13:24:13 +07:00
285b54e95f Struct Register added to have a proper abstraction 2024-01-13 10:47:06 +07:00
3a803b5c23 License 2024-01-12 22:32:55 +07:00
a0157a0759 Part01-01: Project setup and basic decoding 2024-01-12 22:28:10 +07:00