Commit Graph

35 Commits

Author SHA1 Message Date
Juhani Krekelä 9cc8cdef5f Fix an infinite loop bug if rounding overflowed in calculator.asm 2022-09-28 02:15:13 +03:00
Juhani Krekelä 7c9a73cab3 Fix indentation in normalize in calculator.asm 2022-09-28 02:08:57 +03:00
Juhani Krekelä 66dd813d7b Factor out dumpFloat in calculator.asm 2022-09-28 02:08:40 +03:00
Juhani Krekelä 8356dbbd93 Finish up normalize in calculator.asm 2022-09-28 02:02:30 +03:00
Juhani Krekelä 108bf334e8 Implement bcdDigitAdd3 in calculator.asm 2022-09-15 17:41:44 +03:00
Juhani Krekelä 95b7c676b2 Take advantage of tail call optimization where possible in calculator.asm 2022-09-15 17:30:41 +03:00
Juhani Krekelä 41bdec1b12 Unify indentation of labels in calculator.asm 2022-09-15 17:28:30 +03:00
Juhani Krekelä 37f487ae3f Start work on floating point library for calculator.asm 2022-09-15 03:49:03 +03:00
Juhani Krekelä bafaef9c44 Improve error message on stack underflow in calculator.asm 2022-09-15 02:06:34 +03:00
Juhani Krekelä 007bb35917 Document stack effect for readline in calculator.asm 2022-09-15 02:06:01 +03:00
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