1. Explain about maximum displacement and how to cross this limit?

maximum displacement is 4k i.e 4096 bytes.
if we need to add more than 4096 bytes another base register.

2. Change process tool(code changes from dev to prd) The changes made to your code should be effected in live. How the process takes place. That is how can you move the code changes from development to production?

1) If there is any updates in the Macros regarding the
structure change or addition/removal of byte, then you need
to Promote the macro to Live first.

2) Reassemble your codes against the Live Macros.

3) Raise ELAS for the Codes to go to production.

4)Promote the codes to production.

3. How to access VSAm file?

VSAM file can be accessed through an Assembler application
program by using assembler macros RPL, ACB

4. How to produce SOC7 abend?

S0C7 occurs when the data exception occurs.They are many
ways to produce S0C7

1)Move non numeric data to a numeric feild
2)compare junk data with a numeric feild
3) Use a non numeric data in COMPUTE statement
4) Refer to the occurence in a table beyond the occurs time
with SSRANGE not checked in complier options

5. registers(0-15) ,where they are going be resides does that mean here is it resides whether real or virtual memory? and why? then why we are assign even registers(0 to 6) for FP operations?

Registers are part of the CPU logic and should not be
confused with memory real or virtual. The question is
about as sensical as asking where the uterus resides in a
man. Also, general purpose registers 0--16 are an
entirely different breed that the floating point
registers. As for the numbering, a decision made by the
manufacturer's design people.

6. What is the difference between various read and find statement,and which one should be used when for better adabas performance?

There are two possible scenarios:
1) This is a classroom quesiton where you are expected to
do some research on your own, and not ask someone in the
cloud for the exact answer.
2) The question is too vague, and would require a full
essay to answer. Please be more specific.

7. Write the fetch cycle and execute cycle for following instructions:JMPNZ (jump to the given address if the accumulator not equal to zero) RET(return from a subroutine) ADB (add the contents of register B to the accumulator and save result in the accumulator)?

As this is mainframe assembler section, this is a trick
question - there is no JMPNZ opcode for mainframe (recently
added JNZ with relative addressing in the z/800 and later,
but no JMPNZ) and the mainframe has no RET instruction
(there is a PR to return from a cross address space or PC
"call" statement) and the mainframe has no accumulator, ADB
opcode, or B register.

8. How to initialize 20,000 bytes in the Assembler?

since the machine-code for MVC moves up to 256 bytes, you would need to do a series of MVCs to initialize 20000 bytes. this requires that you maintain a register or two to keep track of how far you've progressed through initialization.

possibly, you could get MVCL to do it; i've never tried...

MVCL uses 2 sets of even-odd pairs of registers to do the move.
you specify source address, destination address, length of source, length of destination, and fill character in the registers. the fill-character goes into the high order byte of (I THINK...) the destination length register (in this case r4)
l r4,=f'20000'
l r6,=f'20000'
la r7,source_field
la r5,dest_field
mvcl r4,r6

9. Can we use MVC instruction to move pack field to pack field. which instruction you will use and why?

We can certainly use the MVC instruction to move the pack data to another pack field.

10. How to pass instream data in sysin with Assembler?

You will need to open de file SYSIN via a DCB and read the
data via GET commands. The data in the PARM field is passed
via register 1. Any dataset you want to use in Assembler
you will need to open. There are no automatic allocation.

Download Interview PDF