Commit Graph

38 Commits

Author SHA1 Message Date
037f6dd7da Added support for writing to memory 2023-02-14 13:13:40 +00:00
7c1067088c Properly licensed the project and run it through aspell 2023-02-13 16:49:17 +00:00
0d4221f9de Added config file (mainly for debug verbosity) and kind of patched some weird behaviour when clock is stopped 2023-02-13 15:24:21 +00:00
16e02e0788 Added conditional jump support! 2023-02-13 10:36:37 +00:00
923bf07c72 Fixed ALU bug and added missed updates to the Wbit 2023-02-12 01:28:37 +00:00
c684348e38 Implemented a CMP instruction and the some of the flags 2023-02-12 01:05:39 +00:00
0901af23db Added support for some register indirect addressing modes. Also added documentation comments and did some general cleanup 2023-02-11 20:27:28 +00:00
85bf886223 Improved ALU and added more INC and a DEC instruction 2023-02-11 14:43:53 +00:00
be06244021 Improved register file addressing and printout 2023-02-11 13:41:12 +00:00
abe263aa57 Removed erroneous file 2023-02-11 01:16:52 +00:00
d7eb4f36c0 Wrote very basic brainfuck interpreter in 8086 asm to work on making it run and prove Turing completeness 2023-02-11 01:12:54 +00:00
fd31eb704c Made the simulation stop at an unrecognised instruction or other error 2023-02-11 01:05:19 +00:00
fc4ecdb8d2 Added HLT instruction, made testbench count total clock cycles and write memdump and fixed reset timing 2023-02-10 18:21:19 +00:00
cd918302cc Removed now useless register init code and changed disas command name 2023-02-10 15:41:38 +00:00
bba230fbce Added the MOV immediate to register instruction 2023-02-10 15:41:04 +00:00
e685c52ddd Improved instruction decoding 2023-02-10 14:39:34 +00:00
6561018206 Made the processor actually little-endian 2023-02-10 14:09:08 +00:00
19fcf11f63 Still hadn't added all files from the assembler commit. Also fixed .gitignore 2023-02-10 13:32:51 +00:00
57b159bce3 Wrote a README 2023-02-10 13:27:15 +00:00
2595dc1b6c Hadn't added all files to previous commit 2023-02-10 13:26:23 +00:00
4638346f85 Made Makefile assemble code instead of having hand written bytecode 2023-02-10 12:37:00 +00:00
39f55aa6c3 Added unaligned access for instructions and data and fixed register file access 2023-02-10 12:02:20 +00:00
185efe9d85 Improved execution state logic, cleaned up code and fixed register file output enable 2023-02-10 01:45:27 +00:00
a5571fda12 Added a very basic execution stage, registers and a very crude adder for ALU. It finally executes instructions! 2023-02-09 20:17:15 +00:00
f10d785f95 Fixed dependency misconfiguration in Makefile 2023-02-09 17:03:13 +00:00
be31d74f74 Fixed warning about standards compliance 2023-02-09 14:55:24 +00:00
a166efec9c Moved clock generator to the testbench 2023-02-09 14:51:50 +00:00
c3a2f5eb01 Added primitive decode stage, improved state handling and fixed CIR register 2023-02-09 14:46:21 +00:00
76572a39ad Fix documentation 2023-02-09 09:43:13 +00:00
5371caa3bb Implemented a basic Instruction Fetch stage and added some examples in the 8086 doc 2023-02-08 23:59:06 +00:00
08bf5d3031 Cleaned up and added opcode examples in the 8086 doc 2023-02-08 23:04:55 +00:00
eefea44673 Removed erroneous backup file 2023-02-08 20:55:49 +00:00
361d98b7e6 Added some documentation for the 8086 opcodes 2023-02-08 20:52:17 +00:00
139ec3c0c0 Standardised indentation 2023-02-08 12:09:21 +00:00
61a403271c Added ROM, address and data buses and primitive program counter 2023-02-08 11:57:22 +00:00
bc2ef977d8 Improved state logic 2023-02-08 09:36:32 +00:00
f9393cb69f Basic start for the control block 2023-02-08 09:18:00 +00:00
f94a0e9bb3 Initial commit 2023-02-08 08:38:10 +00:00