Commit graph

156 commits

Author SHA1 Message Date
ee5c2762d6 Fix weeding of things taking up memory
This fixes how instructions and other things that take up space in memory are
parsed. I just forgot to mark the respective memory locations as occupied after
filling them.
2019-11-21 18:25:42 +00:00
396f07cdf1 Make register names case insensitive 2019-11-21 18:25:33 +00:00
393b253d28 Remove spurious undefined 2019-11-21 16:30:51 +00:00
bde92704f1 Finish weeding assembly 2019-11-21 16:20:28 +00:00
702f58e2a4 Weed assembly statements
There's still an undefined in Assembly.hs. To get rid of it, I'll need to adjust
how I weed labels. Once that's finished, the rest should be fairly straightforward.
2019-11-21 15:12:21 +00:00
f3b39f78f4 Parse assembly statements
This commit begins the rewrite of the assembly parser to use the new (not yet
written down) syntax.
2019-11-20 20:46:34 +00:00
7def23284d Fix labels not being applied when they should 2019-11-20 20:46:12 +00:00
e93ff1fc74 Fix number parsing 2019-11-20 20:44:45 +00:00
42d52055d1 Extract flag parser 2019-11-20 18:19:25 +00:00
602e8b5b14 Add a few more parsers for numbers 2019-11-20 17:16:00 +00:00
f8c5d2766c Fix formatting errors
Decimal numbers now look nicer, and --no-sparse works properly again.
2019-11-19 17:14:00 +00:00
a7ef16bc4e Do more state formatting
Registers can now be displayed above the memory content.
2019-11-19 16:50:37 +00:00
ee7639c1c7 Fix formatting of numbers into blocks 2019-11-19 16:03:56 +00:00
75e102ed7d Improve command-line option parsing 2019-11-19 11:45:24 +00:00
0d18329354 Add help for formatting options 2019-11-19 10:59:30 +00:00
8bfce48a7f Format mima state
Also, use the new formatter in mima-run (and while we're at it, clean up flag
file loading and prepare for symbol file loading).
2019-11-19 10:24:53 +00:00
45ec7d1708 Rename AllFlags to RawFlags
I just like this new name better
2019-11-19 10:24:23 +00:00
4707e929ef Switch to Mima.Format formatting 2019-11-19 08:02:58 +00:00
81fee29490 Extract some label-related stuff 2019-11-19 07:59:49 +00:00
23bd495521 Format more numbers 2019-11-18 14:08:46 +00:00
75304e8027 Format symbol file 2019-11-18 09:59:48 +00:00
ac03e6346f Add example benchmark file 2019-11-18 09:33:16 +00:00
5a486b59c2 Fix flag file parsing 2019-11-18 09:33:10 +00:00
5b172ad57f Format flag file 2019-11-18 09:22:35 +00:00
f3c7cdf8b3 Reorganize things in preparation for formatting 2019-11-18 09:22:21 +00:00
bc2594bf69 Load .mima-symbol file 2019-11-15 21:30:05 +00:00
d6db284c22 Improve address range parsing error messages 2019-11-15 19:10:07 +00:00
6dbaadda6a Update README program help 2019-11-15 00:01:51 +00:00
9adcc80373 Prepare for weeding 2019-11-14 23:47:06 +00:00
c91d3f23e9 Rename Mima.Parser to Mima.Parse 2019-11-14 23:46:48 +00:00
4b4c0605b5 Update resolver 2019-11-14 23:41:00 +00:00
f75c3368bb Improve error message on MiMa abort 2019-11-13 15:22:49 +00:00
02e23e7d4a Automatically discover .mima-flags files 2019-11-13 15:22:35 +00:00
b554d80aa9 Introduce Run monad
A monad for nice, pure exceptions. I want to avoid working with IO
exceptions as much as possible.
2019-11-13 09:28:53 +00:00
1b8680004e Create utility function for loading and parsing files 2019-11-13 07:58:41 +00:00
f1d097094d Parse .mima-flag files 2019-11-13 07:53:10 +00:00
c887e57dbd Rename wonkily-named function 2019-11-12 21:23:23 +00:00
b569cee71f Fix typo 2019-11-12 12:17:42 +00:00
9caa8298fc Add support for flags in execution 2019-11-12 12:17:26 +00:00
86f8b723b5 Clear up a few details 2019-11-11 16:35:55 +00:00
8e98bc5dbb Specify more file formats 2019-11-11 14:31:08 +00:00
6002c9fb13 Update comments 2019-11-11 11:19:43 +00:00
b0d68ed8d6 Add readme for examples 2019-11-10 21:57:11 +00:00
a2f723b0ce Add fibonacci number example
Recursive function calls with stack frames FTW! :D
2019-11-10 21:56:36 +00:00
39f2a3f7e1 Add missing instructions 2019-11-10 21:08:36 +00:00
19aca3dfd1 Update example files 2019-11-10 18:34:52 +00:00
957f65c380 Implement new specification 2019-11-10 18:17:21 +00:00
75821abb2c Move programs section to the top 2019-11-10 17:01:29 +00:00
ea8fc9ed5c Change specification
Changes:
- ADC was moved to a small opcode (D)
- LDVR was renamed to LDRS and moved to FA
- STVR was renamed to STRS and moved to FB
- LDRF (FC) and STRF (FD) were added
- Slightly altered document structure
- Added TOC
2019-11-10 16:55:54 +00:00
5ebc079ecd Add stack frames example 2019-11-10 16:10:21 +00:00