| IBM MAINFRAME HELP & SUPPORT FORUMS Technical Forums for IBM Mainframe Applications like COBOL, JCL, CICS, DB2, FileAid, DFSORT, Endevor, Xpediter, CoolGen, CA-7&11, AbendAid, IMS, IDMS, PL/I, MqSeries, SyncSort, Assembler, ChangeMan, Easytrieve, InterTest, REXX, CLIST etc...
|
| View previous topic :: View next topic |
| Author |
Message |
kalpana
Joined: 19 Nov 2004
Posts: 25
Location: Banglore
|
| Posted: Wed Jul 23, 2008 3:32 pm Post subject: How to pass dynamically parameters to the sub program |
|
|
Hi all,
Could any one please let me know the answers for the below assembler questions
1) How to pass parameters to the sub program and how we will recieve it back? ( I need this with sample code)
2) How to access array elements in assembler?
3) what is the significane of NOP ( No Operation)
4) How you can call a sub program dynamicaly |
|
| Back to top |
|
Garry Carroll
Joined: 08 May 2006
Posts: 166
Location: Dublin, Ireland
|
| Posted: Wed Jul 23, 2008 3:51 pm Post subject: |
|
|
1) Parameters are passed, by convention, using register 1 (R1). R1 is set to the address of the first parameter. The last parameter in the parameter list has the high-order bit set 'on'.
Thus:
Code:
L R1,=A(FIRST)
ST R1,PARM1
L R1,=A(SECOND)
ST R1,PARM2
L R1,=A(THIRD)
ST R1,PARM3
OI PARM3,X'80'
L R1,=A(PARMLIST)
CALL NEXTPROG
PARMLIST DS 0F
PARM1 DS F
PARM2 DS F
PARM3 DS F
NEXTPROG will have code to retrieve these parms - e.g.
Code:
LM R2,R4,0(R1)
LA R4,0(R4) * lose high-order bit
Any changes made are visible to the calling program at the addresses specified.
2) A number of ways. For an array with multiple fields per array entry, provide a DSECT which describes those fields. Using registers, caclulate the offset to the array entry to require and align the DSECT before using the field names.
3) NOP is a "no operation". Its significance depends on the program context. It might be modified "on the fly" to a branch, though that's frowned upon these days.
4) If you don't link the program as static at linkedit time it should be called dynamically.
Regards,
Garry. |
|
| Back to top |
|
kalpana
Joined: 19 Nov 2004
Posts: 25
Location: Banglore
|
| Posted: Wed Jul 23, 2008 5:11 pm Post subject: Reply to: How to pass dynamically parameters to the sub prog |
|
|
| Thanks alot for ur quick response. |
|
| Back to top |
|
| |
THIS IS AN ARCIVE FORUM IN READ ONLY MODE. IF YOU WANT TO ASK YOUR DOUBTS USE THE ACTUAL FORUM
|