Assembly Language Technical Interview

Basic Knowledge

1.1 Explain the format of a basic assembler statement.
1.2 What is the difference between DS and DC?
1.3 What does each of the following storage allocations mean?
FLDA     DS    CL8
FLDA     DS    XL4
FLDA     DS    PL3
FLDA     DS    F
FLDA     DS    H
FLDA     DS    D
1.4 How many general purpose registers are available for use by the application?
How are they labeled?
How many bytes in length is each one?
1.5 How many decimal values can be represented in one byte of storage?
How many bits in each byte?
What are the possible values of each bit?
What is the actual decimal value of each bit in a byte?
1.6 For a sequential file (QSAM access method), what is the DCB?
Which macros are used to read and write to the sequential file?
If you are working with variable length records, the first 4 bytes of each record is the RDW. What is that and what is the format of those 4 bytes?
1.7 What is a DSECT?

Coding Questions

The following is from a test sample program. These storage descriptions will be used for the remaining questions.
FLDA     DC    CL5’ABCDE’
FLDB     DC    CL3’123’
FLDC     DS    CL100
FLDD     DC    PL2’25’
FLDE     DS    CL3
FLDF     DS    F
REC1     DSECT
DATA     DS    CL100
In the next 6 questions, I’d like you to tell me what the instruction does and what is in the identified fields after execution of the instruction.
2.1
         MVC   FLDB,FLDA
2.2
         MVC   FLDB,FLDA+2
2.3
         MVC   FLDB(1),FLDA
2.4
         MVI   FLDB,C’Q’
2.5
         MVI   FLDC,X’40’
         MVC   FLDC+1(99),FLDC
2.6
         UNPK  FLDE,FLDD
The following 2 questions are based on your answer.
What does the high order 4 bits of the low order byte mean?
What additional instruction would you code to make the field print correctly?
2.7 Assume FLDF contains the address of data defined by the REC1 DSECT. Also assume registers 5 thru 9 are available for use. How would you make the data within the REC1 DSECT addressable?
2.8 What is the maximum length of data that may be moved with an MVC instruction?
What op-code would you use if more bytes must be moved?
2.9 The following code will assemble correctly with no errors. However, there are 2 errors present. One is a logical error (the program will not execute as intended) and the second error will cause the program to abend when it executes. The BAL instruction itself is correct. The 2 errors are found in the other 8 statements. What are those 2 errors?
         BAL   R14,SUBR
         .
         .
         DS    F
SUBR     EQU   *
         ST    R14,SUBR-4
         CLC   FLDD,=C’25’
         BE    SUBREND
         MVC   FLDE,FLDB
SUBREND  L     R14,SUBR-4
         B     R14

Version 1.2

This page was last modified 07/26/06 22:52:37, and has been viewed 218 times.