PiDP-8/I Software

View Ticket
Log In
Ticket Hash: fd1110d75740d2647706a2e9ff12c3dd4b184c4f
Title: What is the cause of the PC = 0170020 problem in 20170204?
Status: Closed Type: Code Defect
Severity: Minor Priority: Low
Subsystem: front panel Resolution: Overcome by Events
Last Modified: 2019-03-29 22:54:07
Version Found In:
User Comments:
tangent added on 2017-02-28 06:31:53:
Checkin [9aa43b8c3e4060e8] is a brute force fix to a problem that reportedly crept in between 20170123 and 20170204, where DEP doesn't do what it ought to.

Simple test case:

1. sudo bin/pidp8i-sim
2. c
3. STOP
4. SR=0020, L_ADD
5. DEP
6. Ctrl-E, ex 20

In the older release (and in current tip of trunk) you get 0020 from SIMH, but in 20170204, you get 0000.

If you debug further, you find that this is because PC has some of its high bits (i.e. above the 12-bit contents of the actual register) set. How did this happen, and why did it change? Is it due to the SIMH register handling change patched in from upstream, perhaps?