Dale, that's a great link-thanks!!!
For anyone who might be interested, here's my wee program so far, with some
whitespace removed for compactness. I've written the zPDT owner to ask if
vector can be enabled-not that I think it'll Just Work then, but I'll be
farther along.
The idea is that the guts of the DOIT subroutine will ultimately be inline
assembler in a C module.
Humorous, at least to me, at least at this point in this odyssey: Since this
is just an example, I'm just using two input parameters as my 64-bit values.
My command invocation is thus typically:
VGFMG ASSEMBLE A1
which those of you who use CMS will recognize as the LISTFILE/FLIST output
showing the source file. Easy to copy/paste while I'm working with it!
VGFMG START X'E000' CMS transient area
USING *,R15 Temporary base
STM R0,R15,SAVEAREA Save registers
DROP R15 Done with temporary base
LR R12,R15 Get real base
USING VGFMG,R12 And get addressable
* We need two operands, which we'll treat as 64-bit integers
CLI 8(R1),X'FF' Got first operand??
BE MISSING No, error
MVC PARM1(8),8(R1) Save first operand
CLI 16(R1),X'FF' Got second operand??
BE MISSING No, error
MVC PARM2(8),16(R1) Save second operand
BAS R14,DOIT Call subroutine to do VGFMG
XR R15,R15 If we get back, it worked
EXIT DS 0H Restore and exit
LM R0,R14,SAVEAREA Restore registers
BR R14 And return to forever
MISSING DS 0H Error, missing parameter
WRTERM 'Missing parameter--need two' Whinge
LA R15,24 Set error RC
B EXIT And go restore and exit
* The subroutine that does the VGFMG
DOIT DS 0H
VL 1,WORK1,4 Set 64-bit output area
VL 2,PARM1,4 Load 64-bit value #1
VL 3,PARM2 Load 64-bit value #2
VGFMG 1,2,3 VECTOR GALOIS FIELD MULTIPLY SUM
BR R14 And return to caller
DS 0L Quadword-aligned for PoE
PARM1 DS D Slot for first operand
PARM2 DS D Slot for second operand
WORK1 DC 8D'0' Work area (larger than needed)
WORK2 DC 8D'0' Work area (larger than needed)
SAVEAREA DS 16F Savearea (doh)
REGEQU ,
END ,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN