Implement most of mima-run CLI

This commit is contained in:
Joscha 2019-11-06 17:20:08 +00:00
parent a1f532172a
commit 082a205a7e
3 changed files with 57 additions and 12 deletions

View file

@ -43,7 +43,13 @@ memoryToWords mem = map (\addr -> readAt addr mem) $ addressRange mem
addressWordToText :: MimaAddress -> MimaWord -> T.Text
addressWordToText addr word =
addrToHex addr <> " (" <> addrToDec addr <> ") - " <> wordToHex word <> " (" <> wordToDec word <> ")"
let separator = " - "
addrText = addrToHex addr <> " (" <> addrToDec addr <> ")"
wordText = wordToHex word <> " (" <> wordToDec word <> ")"
instrText = case wordToInstruction word of
Left _ -> ""
Right i -> separator <> toText i
in addrText <> separator <> wordText <> instrText
memoryToText :: Bool -> MimaMemory -> T.Text
memoryToText sparse mem@(MimaMemory m)