On 2018-08-06, at 16:56:55, Steve Smith wrote: >> >> The debugger branched to the address in register 0. >> >> Fortunately, I knew who to contact to fix the bug. No-one had >> ever tried that before. >> > Really? How did it manage to do that? > I'd guess it simulated the instruction, perhaps by LPSW pointing to the branch target, but failed to understand the special treatment of R0.
> BR 0 is a significant instruction: it does some weird synchronization thing. > That likely doesn't matter much for a debugger, but to actually branch to the > address contained in R0 requires something perverse. > I recall an idiotic CMS debugger. If I displayed storage at the breakpoint it showed me the "break" instruction. If I proceeded from breakpoint it branched immediately to that "break" instruction. I could proceed only if I removed the breakpoint. WAD. -- gil
