One sort of applying this technique of stems is to use the as
associative memory - where the content of a storage location is used as
an address. Ther rules for resolving elements of a stem variable state
that all parts after the first part of a stem are subject to be resolved.
As shown in ISDA (the small interactive disassembler in cbttape), which
is completely written in Rexx, it works as folllows:
Consider a hexcode sequence containing the following (hex)-characters:
0E1A
this is resolved to:
MVCL R1,R10
Internally it is accomplished by looking for the symbolic representation
of x'0E' :
OPCODE.0E.FORMAT = 'RR' ; OPCODE.0E.MNEMO = 'MVCL'
the Rexx-instructions are:
Inst_Form = getInstruction_Format(hexaopcod)
.
.
.
getInstruction_Format:
arg hxo /* hexadecimal Opcode */
oform = opcode.hxo.fomat
return oform /*returns 'RR'*/
.
.
.
IMnemo = opcode.hxo.mnemo /* IMenmo = 'MVCL' */
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html