Closed srorso closed 2 years ago
I'm curious, Steve, why you're using addr = 64
instead of addr = 31
?
So you can more easily see what I'm referring to, here is your listing converted to PDF:
And here's the same thing with ASMA configured *()** with addr = 31
instead:
*()** There should be a asma.cfg
file in your SATK's "site" directory where you can enter your desired overriding ASMA default options. Here's what mine looks like:
As you can see, the only ASMA option I chose to override was the addr
option, documented on page 15 of the ASMA manual:
-a/--addr SIZE
The -a or –-addr option overrides in the listing, the address size specified within the MSL for the target CPU. Only four values are accepted: 16, 24, 31, or 64. The option applies to the statement area of the listing and the optional image file dump.
ASMA Specific Behavior: This option influences the size of address fields used by the assembler listing. If you prefer to standardize on a single address field size, use the command line argument to override values resulting from the target CPU's definition.
In my experience, one never has any real need to use 64-bit wide addresses in assembly listing!
Hi Fish, to be honest, I hadn't really noticed the listing was a bit wide, or didn't worry about it. I'll play with that.
And you're right, I don't need 64-bit addresses in the listing. Thanks for the info...most helpful.
I have committed MSL changes for the change in instruction formats documented in PoO -03. Also made some corrections of errors found while researching the long-displacement facility in general.
Steve, after validation of the changes, please post here or close the issue. Thanks for the effort in reporting this.
Hi Harold,
I have validated my programming; the changes work well. I also re-ran the test case ztest-997 just in case there was something unique to my environment. That worked well as well.
Many thanks for the quick and thorough resolution!
-Steve
The following fifteen instructions that pre-date the introduction of the long-displacement facility were changed to long-displacement instructions when the long-displacement facility was introduced (June 2003):
If one tries to use them as long displacement instructions, i.e., with a displacement that requires more than 12 bits, one of the following error message is generated:
I believe that -02 eliminated the need for the RSA2 instruction format in ASMA.
Note that in the sample, LMG, LMH, STMG, and STMH do not trigger the error because I patched s390x-insn.msl to treat those four instructions as RSYA.
ztest-997.zip