Commit graph

82 commits

Author SHA1 Message Date
Felix Queißner
85da24cfe6 Implements print_str function. 2016-05-22 00:27:14 +02:00
Felix Queißner
5f5a34d736 Adds support for get/set with negative index. 2016-05-21 21:51:44 +02:00
Felix Queißner
1f83e6567d Adds stack, base pointer manipulation. 2016-05-21 21:36:34 +02:00
Felix Queißner
ad718a930e Assembler now provides single byte ASCII literals enclosed in ', adds some memory operations to the example file. 2016-05-21 19:27:02 +02:00
Felix Queißner
5072f2c51e Adds single-byte memory interface to the VM. 2016-05-21 19:26:08 +02:00
Felix Queißner
c404e99e59 Defines the memory interface and adds a dump_memory function. 2016-05-21 19:17:08 +02:00
Felix Queißner
d4129cce0e Adds syscall and hwio to assembler. 2016-05-21 17:57:25 +02:00
Felix Queißner
88d44b4ca1 Adds syscall and hwio instructions and mnemonics. 2016-05-21 17:57:13 +02:00
Felix Queißner
f7bc2624a0 Fixes bugs in assembler, supervm and testcode. 2016-05-21 13:34:14 +02:00
Felix Queißner
11d27e0039 Adds build system for all prototypes. 2016-05-21 13:07:56 +02:00
Felix Queißner
a8b6ad3580 Adds build file for VM with libvm.a (32 bit) and vm (host executable) 2016-05-21 13:07:06 +02:00
Felix Queißner
51b091fb88 Fixes wrong filename beeing read. 2016-05-21 12:45:47 +02:00
Felix Queißner
fec40a26c3 Refactors Program.cs to assembler.cs. Adds command line compilation arguments, adds colored and structured display. 2016-05-21 12:44:33 +02:00
Felix Quei�ner
cbc817bd36 Adds assembler for SuperVM instructions. 2016-05-20 21:00:57 +02:00
Felix Queißner
9a7e2e8ceb Implements cmd_math partially. Sets demo program to count from 0 to 10. 2016-05-19 15:41:18 +02:00
Felix Queißner
e313356054 Adds COPY command. 2016-05-19 14:09:15 +02:00
Felix Queißner
8b84163c56 Adds push/pop/peek to VM. Corrects some mistakes in the instructions. 2016-05-19 13:19:38 +02:00
Felix Queißner
29bea1a335 More information for SuperVM and the Instruction header file. 2016-05-19 12:42:39 +02:00
Felix Queißner
cfbe20ea70 More specification. 2016-05-19 11:28:06 +02:00
Felix Queißner
7f04fc6c6b Adds documentation for SuperVM. 2016-05-19 01:34:21 +02:00
Felix Queißner
5384c20f09 More assembler inlines moved to asm.hpp 2016-05-18 10:38:47 +02:00
Felix Queißner
cb806c19ec Refactors io.hpp: Now splits into asm.hpp with namespace ASM and io.hpp which exports the inb,outb function. 2016-05-18 10:31:05 +02:00
Felix Queißner
91b72ceb68 Removes scheduler. 2016-05-18 10:24:36 +02:00
Felix Queißner
02364038bd Some changes in VMM stuff. Mainly a "safe" commit. 2016-05-18 10:12:01 +02:00
Felix Queißner
2ad677e750 Hacks(git add .git add .) multithreading. 2016-05-07 21:49:54 +02:00
Felix Queißner
585cb33680 Adds extern "C" to header file. 2016-05-07 19:56:13 +02:00
Felix Queißner
72c33b4b05 Adds ELF loader to init.cpp 2016-05-07 19:55:59 +02:00
Felix Queißner
c7973406c3 Changes program0 to elf executable. 2016-05-07 19:45:04 +02:00
Felix Queißner
054dd7fba3 Adds simple stdlib compilation. 2016-05-07 19:43:41 +02:00
Felix Queißner
98900c9069 Fixes stupid bug.... 2016-05-07 18:51:34 +02:00
Felix Queißner
012cc69edb Adds ultra-simple program loader and executor. Currently yields a Page Fault. 2016-05-07 17:00:08 +02:00
Felix Queißner
cc61fbecb9 Adds a simple program which starts at 1 GB. 2016-05-07 16:59:40 +02:00
Felix Queißner
455a6db8b5 Adds virtual memory management with paging :) 2016-05-07 14:10:37 +02:00
Felix Queißner
e97921e246 Reworks BSOD into fancy BSOD. 2016-05-06 23:50:45 +02:00
Felix Queißner
245895d7bd Fixes bug in PIC.cpp: I AM STUPID. Data port is always 0x01, not incrementing... m( 2016-05-06 22:53:08 +02:00
Felix Queißner
ae33573513 Doh! 2016-05-06 20:04:25 +02:00
Felix Queißner
09cd19d3c7 Moves base.hpp to driver.hpp. Adds Timer driver. 2016-05-06 19:37:43 +02:00
Felix Queißner
29c4b6fc4c Moves Error to lists. 2016-05-06 19:30:29 +02:00
Felix Queißner
949e1f8e31 Adds ./lists for S-Macro listings. 2016-05-06 19:24:12 +02:00
Felix Queißner
d9d283e5ac PMM::alloc now dies with a BSOD instead of returning an invalid value. Adds stub of scheduler driver. 2016-05-06 12:35:22 +02:00
Felix Queißner
ec8eb4a7d8 Adds keyboard driver stub. 2016-05-06 09:44:02 +02:00
Felix Queißner
8cb13eb9df Adds interrupt handlers. 2016-05-06 09:28:30 +02:00
Felix Queißner
55cdb2050c Removes exception from init.cpp 2016-05-05 19:51:38 +02:00
Felix Queißner
9a8f9e956f Implements BSOD. 2016-05-05 19:51:04 +02:00
Felix Queißner
5829e701df Adds improved interrupt handling. 2016-05-05 19:38:40 +02:00
Felix Queißner
bae2c0a763 Adds interrupt controller class. 2016-05-05 19:29:52 +02:00
Felix Queißner
b31d9164d6 Adds PIC initialization and hardware interrupts. 2016-05-05 19:02:23 +02:00
Felix Queißner
79b7238d84 Prints CPU state on interrupt. 2016-05-05 17:16:56 +02:00
Felix Queißner
7ae608fc3c Adds numeric prefixes to console printing. 2016-05-05 17:16:47 +02:00
Felix Queißner
b3b0ac66fb Interrupt support! 2016-05-05 17:06:11 +02:00