View previous topic :: View next topic
|
Author |
Message |
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
I have observed a minor bug in HLASM. Unfortunately I'm not in a position to open a PMR for the product.
The General Purpose Register cross reference topic in V1R6 Programmer's Guide states
Quote: |
This section of the listing shows all references in the program to each of the general registers. |
My emphasis with the red color on "all."
It does not show an explicit register reference in S type address constants. For example, in this assembly
Code: |
SCON CSECT
L 2,0(,6)
DC S(0(6))
END |
HLASM shows the reference to register 6 in the L instruction, but not in the S-type address constant.
Code: |
Register References (M=modified, B=branch, U=USING, D=DROP, N=index)
0(0) (no references identified)
1(1) (no references identified)
2(2) 2M
3(3) (no references identified)
4(4) (no references identified)
5(5) (no references identified)
6(6) 2 |
|
|
Back to top |
|
|
sergeyken
Senior Member
Joined: 29 Apr 2008 Posts: 2012 Location: USA
|
|
|
|
In this example I can see 2 references to register 2 (instead of 1 reference), and 2 references to register 6 (which is correct). |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
OK. Where is the second reference to register 2? Remember, the sole purpose of the example was to produce the register XREF report, not to execute, which it won't. I first noticed the bug in a 600 line program that produced a full page in the register XREF report. The example was minimal so the issue would obviously stand out.
I use S-cons quite a lot in my work, but not very often something like S(0(6)). Actually, it was SL2(0(6)), but there was no point in littering up the example with extraneous junk. |
|
Back to top |
|
|
|