Closed JamesWekel closed 2 years ago
This is normal Hercules behavior.
The logic that traces instructions does so according to the instruction's format, not its opcode.
The TRTE
instruction function itself (that executes the TRTE
instruction) is obviously smart enough to know the operand-2 register is not used to address storage, but the RRF
format instruction tracing function isn't. All it knows is that the instruction it is tracing is an RRF
format instruction and nothing more. It contains no special logic to allow it to determine whether operand-2 addresses storage or not, and therefore will always attempt to resolve it as such, leading to the Addressing Exception you are seeing.
~Closing as Invalid: working as designed.~ Closing as Won't Fix: working as designed.
Removing improper "Invalid" label and relabeling as more proper "Won't Fix" instead: "The requested change was rejected or the described behavior is by design."
An instruction trace for both the
TRTE
andTRTRE
instructions includes storage references for the second operand register. The second operand register is a only a destination register for the Function Code and is not a source/destination address register. Depending on the register contents, you can get "Translation exception 0005 (Addressing exception)" notices.For example:
Only a reference for the first instruction operand register is valid and the second
HHC02326I
message should be removed.I'm attaching two test scripts that demonstrate the issue and a log showing the problem. The Hercules configuration files used was the
tests.conf
configuration used forruntest
.I hope that I've sufficiently described the problem.
Jim