Commit Graph

57 Commits

Author SHA1 Message Date
Anton Lydike
bf4bcfe388 added debugging info 2021-04-18 20:31:53 +02:00
Anton Lydike
cd08cd4f70 added syscall interface to debug variables 2021-04-18 20:11:44 +02:00
Anton Lydike
bf4c705297 added symbol lookup helper MMU.symbol(name) 2021-04-18 20:10:08 +02:00
Anton Lydike
ce59d10a3b fixed range selection for LoadedMemorySection.dump 2021-04-18 20:09:47 +02:00
Anton Lydike
c2cbb4653c updated readme and docs 2021-04-18 19:43:24 +02:00
Anton Lydike
db6d21b734 now officially MIT licensed 2021-04-18 19:33:39 +02:00
Anton Lydike
4135ffdb32 syscall symbols now work as global symbols 2021-04-18 19:30:25 +02:00
Anton Lydike
8b4ba276a8 fixed saving reference to global_symbol_table in executable loader 2021-04-18 19:29:51 +02:00
Anton Lydike
a1b9cf7f22 provide global syscall symbols if flag is set 2021-04-18 19:19:28 +02:00
Anton Lydike
11568ec9b0 improved arguments, dropped support for no-color output 2021-04-18 19:18:17 +02:00
Anton Lydike
2c5655d65a fixed registers keeping track of last accessed register 2021-04-18 18:56:39 +02:00
Anton Lydike
7cb29c5b89 added escape character deocoding for ascii and asciiz pseudo-ops 2021-04-18 18:49:27 +02:00
Anton Lydike
3bcabfbf78 fixed mmu bounds check for read 2021-04-18 18:48:55 +02:00
Anton Lydike
fc22d4b6a7 added better colors to MMU output 2021-04-18 18:39:48 +02:00
Anton Lydike
09844c8d38 fixed isinstance check in write syscall 2021-04-18 18:39:32 +02:00
Anton Lydike
d6e6856431 changed output color for syscall logs 2021-04-18 18:16:53 +02:00
45b82a3fa9 support for loading multiple executables 2021-04-18 12:59:40 +02:00
cb48d66400 stack allocation now fixed 2021-04-18 12:55:57 +02:00
2b87bbe270 reformat Exceptions.py 2021-04-18 12:12:00 +02:00
8fc519ee86 added global symbol support! 2021-04-18 12:09:38 +02:00
9aaaf7313f added pseudo-op .set name val, and .global symb 2021-04-18 10:38:36 +02:00
db8cc9b00c made instruction methods private to cpu class so not visible from debugger 2021-04-18 10:18:36 +02:00
c3faaaed02 better formatting in memory dump 2021-04-18 09:42:58 +02:00
f43c33b0d7 added __repr__ to MemoryFlags 2021-04-18 09:42:27 +02:00
c4a28c9d1b added __repr__ to MMU and LoadedMemeorySection 2021-04-18 09:37:57 +02:00
4b26ab6774 added __repr__ to CPU class 2021-04-18 09:33:00 +02:00
d56dca3ff4 added better debugging environment 2021-04-18 09:32:37 +02:00
baaaa881bc colored exception messages 2021-04-18 09:21:11 +02:00
34a44860e0 added name field to executables for easy debugging 2021-04-18 09:10:03 +02:00
Anton Lydike
64507a4e7e added mmu dump to dump arbitrary section 2021-04-18 02:12:29 +02:00
Anton Lydike
30bcded998 beautiful section dumps 2021-04-18 02:08:47 +02:00
Anton Lydike
7f59ac9bca better interative shell 2021-04-18 02:08:03 +02:00
Anton Lydike
4272ae6d28 readme rework 2021-04-18 02:07:37 +02:00
Anton Lydike
8cf381ec61 added basic tests 2021-04-18 00:57:53 +02:00
Anton Lydike
8548891511 added assembly docs 2021-04-18 00:57:33 +02:00
Anton Lydike
9540a78e3e added CPU docs 2021-04-18 00:51:28 +02:00
Anton Lydike
8d39d79032 made module runnable 2021-04-18 00:43:39 +02:00
Anton Lydike
20db1e02ab implemented instructions sll, slli, srl, srli, sra, srai 2021-04-18 00:25:53 +02:00
Anton Lydike
7d09cb209f reworked memory instruction parsing 2021-04-18 00:24:47 +02:00
Anton Lydike
3c0e357ca0 minor bugfixes and missing members corrected 2021-04-18 00:09:26 +02:00
Anton Lydike
dd79c11b3b implemented instructions and, or, slt, sltu 2021-04-17 23:53:47 +02:00
Anton Lydike
f8e595b46e added instruction xor 2021-04-17 23:43:59 +02:00
Anton Lydike
99de083894 minor instruction fixes such as added assertions 2021-04-17 23:14:56 +02:00
Anton Lydike
5bdd866472 implemented instruction j, added cpu cycle counter 2021-04-17 23:08:09 +02:00
Anton Lydike
97d86108e8 added ebreak/scall aliases to sbreak/scall and replaced dbg with ebreak instruction 2021-04-17 23:05:01 +02:00
Anton Lydike
0aa42d0d1c implemented instructions beq, bne, blt, bge, bltu, bgeu, improved unsigned number handling 2021-04-17 22:59:37 +02:00
Anton Lydike
88c0b77a16 implemented instructions jal, jalr, j, ret, nop 2021-04-17 22:51:28 +02:00
Anton Lydike
5a722c8cf1 implemented syscalls open, read, write, close, exit 2021-04-17 22:50:47 +02:00
Anton Lydike
a483db65c7 more work on syscalls 2021-04-17 21:28:05 +02:00
Anton Lydike
a69cc7d346 moved registers out of CPU file 2021-04-17 20:57:54 +02:00