I think John has started something here... So here's an interesting
problem I had to solve some years ago...
1) Given two non-relocatable equates, define a third equate that is
equal to the MAX of those two. (As far as I know, the Assembler still
does not offer MAX and MIN built-in functions.)
2) Extend that solution to three or more equates. (One z/XDC macro
has internal logic that resolves the MAX of around fifty equates. It
goes on and on for pages!)
The answer I have in mind works for equates that are not resolvable
at macro pass time. In fact, the solution does not use macro pass
logic at all, no SETx symbols, no nothing.
Hint: Central to the ability to do this is a rather "unusual"
characteristic of the rules of arithmetic that the Assembler follows.
(Did I just give it away?)
Now I'm sure some of you, like me, have worked this out decades ago,
so if you already know how to do this, feel free to brag, but please
hold off posting an actual answer for a few days to give others a
crack at this exercise.
Thanks,
Dave Cole
ColeSoft Marketing
414 Third Street, NE
Charlottesville, VA 22902
EADDRESS: [email protected]
Home page: www.colesoft.com
User's Group: www.xdc.com (on LinkedIn)
Facebook: www.facebook.com/colesoftware
Videos: www.youtube.com/user/colesoftware
At 6/16/2015 07:59 PM, John Ehrman wrote:
For those needing something to think about....
In the description of the TRTE and TRTRE instructions in the POP,
there's a table giving the expected length of the function-code
table for various combinations of the three bits named A, F, and L
in the M3 mask field. Your exercise:
Suppose the three symbols A, F, and L in the M3 mask have been
defined as absolute symbols with values 0 or 1. Suppose also that
you must reserve space for a function-code table with size depending
on the values of A, F, and L, as illustrated in the POP table. Write
an EQU statement defining a symbol TL that will contain the length
of the reserved area for the table, for all combinations of values
of A, F, and L.
As Tony Harminc says, "Have fun..." (it can be done).
Regards... John
---------------------
555 Bailey Ave, San Jose CA 95141 USA
+1-408-463-3543 (fax -3873) TIE 543-
[email protected]; VMID = EHRMAN at STLVM27