Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

What is house keeping in assembler? And explain the
following code

HELLOTSO START 0
* PRINT NOGEN
BEGIN SAVE (14,12)
LR 12,15
USING TYPE,12
ST 13,SAVE+4
LA 11,SAVE
ST 11,8(13)
LR 13,11

Answer Posted / john

To elaborate a little the reason for all this
"housekeeping": The "save areas" as they are called that are
created by the SAVE macro contain the contents of the
registers when the routine is called. Save areas are
backward and forward linked (by the 4 instructions after the
USING) so that if the program fails you can find them in a
dump. The ending part of the program is missing as well,
but it returns the registers to their previous state before
returning to the calling program. It might look something like:

DROP 12
ALLDONE L 13,SAVE+4
RETURN (14,12),RC=0

Is This Answer Correct ?    8 Yes 3 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Explain the difference between various read and find statement and which one should be used when for better adabas performance?

942


Ap wkur,=p5 where wkur is a label?

1066


How are data passed from jcl parm to assembler program?

951


What will happen if we drop the base register in the program which contains only one basereg?

918


What is the use of trt instruction?

960


Explain how to initialize a register to 0000?

948


How do you round the addition or subtraction of two numbers in assembler?

968


In the house keeping section of an MVS assembly language program, like the one below STM R14,R12,12(R13) BASR R12,R0 USING *,R12,R11 LA R11,2048 LA R11,2048(R11,R12) .... .... 1. What if BASR R12,R0 IS NOT PRECEDE USING *,R12,R11? 2. USING (base address), REGISTER does USING directive says assembler to treat particular Register as a base register with the mentioned base address..in the above case * i.e current location counter..well if that is the case why we need BASR R12,R0 ? 3. What if I write like STM R14,R12,12(R13) BASR R12,R0 LA R11,2048 LA R11,2048(R11,R12) USING *,R12,R11 there is no address resolution being calculated in both LA statements so is it a right way to set Base register?..will there be any issues with Domain regarding R11 and R12?

1923


explain icm instruction?

1022


How to pass the parameters from jcl to assembler program?

941


Why do we use "drop"?

928


What is need of start 0?

1058


Explain how to produce soc7 abend?

1013


How many maximum base registers we can have in a single program?

1020


What is maximum displacement and how to cross this limit?

1117