Commit Graph

192 Commits

Author SHA1 Message Date
5e0c990394 It is Turing complete! Running the Mandelbrot renderer with the brainfuck interpreter. Improved addressing modes and added CMP immediate with register instruction 2023-02-15 03:54:12 +00:00
f4d28cf4c8 Added 16bit unaligned register indirect writes, fixed some MOV bugs, clean up code names and data flow 2023-02-15 01:28:02 +00:00
c3563457c5 Finished MOV Reg/Mem to/from register 2023-02-14 15:49:29 +00:00
f97f4625e6 Added unconditional jumps and support for signed addition 2023-02-14 14:48:35 +00:00
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