Commit Graph

25 Commits

Author SHA1 Message Date
Juhani Krekelä b5e3cb7dff Implement variable-width shifts 2022-09-14 23:33:29 +03:00
Juhani Krekelä e44b63dd15 Unify fields in ISA description in thingamajig_disasm.py 2022-09-14 23:21:05 +03:00
Juhani Krekelä 2b2cdac605 Use literal loads in calculator.asm 2022-08-27 19:34:57 +03:00
Juhani Krekelä 677f31ea91 Follow reference assembler syntax in output of thingamajig_disasm.py 2022-08-27 19:27:06 +03:00
Juhani Krekelä 0fc5da3483 Support changed store encoding and load immediate in thingamajig_disasm.py 2022-08-27 19:25:42 +03:00
Juhani Krekelä bbb5b4b35f Store line length in a variable in calculator.asm 2022-08-18 14:53:21 +03:00
Juhani Krekelä e8102339d7 Add stack underflow detection to popByte in calculator.asm 2022-08-18 14:51:47 +03:00
Juhani Krekelä 8526919479 Change dumpstack to a general debug routine in calculator.asm 2022-08-18 14:50:51 +03:00
Juhani Krekelä 3583fc8379 Fully implement stack-based memory manipulation in calculator.asm 2022-08-18 14:37:12 +03:00
Juhani Krekelä 5cfae260fd Don't clobber storeByteHigh and storeByteLow in peekWord in calculator.asm 2022-08-18 14:31:04 +03:00
Juhani Krekelä a993cab542 Implement line reading in calculator.asm 2022-08-17 04:07:11 +03:00
Juhani Krekelä 7a4c6295f3 Add stack manipulation subroutines 2022-08-17 03:02:04 +03:00
Juhani Krekelä 95c29fc2e0 Add tmpWord2 in calculator.asm 2022-08-17 03:01:34 +03:00
Juhani Krekelä 109cdf5a3a Don't clobber tmpWord in peekWord in calculator.asm 2022-08-17 03:00:51 +03:00
Juhani Krekelä cbfbbbcf54 Have stPrinthex pop TOS in calculator.asm 2022-08-17 02:54:36 +03:00
Juhani Krekelä c89d8e9850 Change trashes → clobbers in calculator.asm 2022-08-17 02:33:49 +03:00
Juhani Krekelä cc933eeac1 Add missing trashes: entry for peekWord in calculator.asm 2022-08-17 02:32:51 +03:00
Juhani Krekelä b63232169d Implement subWord, stSub, stGtEq in calculator.asm 2022-08-17 02:32:26 +03:00
Juhani Krekelä 34c3fa70e3 Use addr statement in calculator.asm 2022-08-09 00:44:14 +03:00
Juhani Krekelä 117a2e24c2 Start work on a calculator program for Thingamajig 2022-08-08 18:52:34 +03:00
Juhani Krekelä 110280ed5e Avoid attempted reads past end of program image
Previously if what could be a load, store, branch, or call instruction
was located within last two bytes of the program image being
disassembled, the disassembler would try to read out of bounds to get
its address parameter. This change marks such cases as not being valid
instructions.
2022-08-08 18:48:23 +03:00
Juhani Krekelä 29cb28fa49 Add raw binary to disassemly 2022-07-23 15:51:11 +03:00
Juhani Krekelä 099b09eee3 Add a hashbang line 2022-07-23 15:46:27 +03:00
Juhani Krekelä 66e28d6ef8 Properly handle non-instruction bytes in the range 0xa0…0xbf
Previously address arguments were extracted without verifying the start
byte corresponded to a valid instruction. In case of a non-instruction
byte this would result in the two following bytes to be silently
skipped.
2022-05-10 11:19:22 +02:00
Juhani Krekelä 57473ee34e First commit 2022-05-08 14:14:36 +02:00