The following questions are mostly taken from the first examination of previous semesters. They are similar to questions which likely will appear on the semester's first examination. Be sure to not limit your review to just these questions.
Decimal Binary Hexadecimal 345 ___________________________ _______________ ______________ 110010011110 _______________ ______________ ___________________________ 235B
Binary 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 0 0 1 1 0
+ 1 0 1 1 1 0 1 1 1 1 - 1 0 0 0 0 1 1 1 1
--------------------- ---------------------
Hexadecimal 8 6 7 B 3 F 0 A 7 D C 0
+ E 8 F 9 - 1 0 C F B A 4 D
--------- -----------------
5 8 9 A B 8 7 E C 8 5 2 9 A C D
+ 4 7 B F 8 7 5 2 - C 4 8 8 6 B A 6
----------------- -----------------
A fullword contains_____bytes. A fullword contains_____bits.
RR instruction size =_____bytes. RX instruction size =_____bytes.
A PSW contains ____ bits or ____ bytes or _____ fullwords.
The mask in a BC instruction has how many possible values? ______
a. Top of Page______ b. Single Space______
c. Double Space______ d. Triple Space______
R0 = 00000040 R1 = F4F4F4F4 R2 = 00000359 R3 = 80012345 35(0,3) ____________ 28(1) ____________ 16(2,3) ____________
PSW AT ABEND FFC50001 5F000E34
Contents of memory starting at address (hex) 000E20
Address Contents
000E20 40125802 5012D503 50301231 5872F01C 1A5500CC 47B0F010
a. What is the address of the instruction which would have been
executed next had the program not ABENDed on the current
instruction? ___________________________
b. What is the length (in bytes) of the instruction that
caused the ABEND? ___________________________
c. What is the condition code? (Answer with decimal number) ____
d. What is the address of the instruction that caused the ABEND?
__________________________
e. What type of program interrupt occurred?
Number ____________ Name __________________________________
f. Write the next instruction that would have been
executed as the programmer would have written it
in explicit assembler language using decimal values.
_________________________________________________________
Location Counter Machine Source
Value (hex) Language (hex) Language
000000 EXAM1 CSECT
000000 USING EXAM1,15
000000 _______________ L 2,F33
________ _______________ LA 3,3
________ _______________ MR 2,2
________ 5020 F034 _______________
________ _______________ AR 3,3
________ 5D20 F02C _______________
________ 47A0 E000 _______________
________ _______________ BR 14
________ _______________ F129 DC F'129'
000020 _______________ F33 DC F'33'
________ _______________ AB DC 2CL3'AB'
________ _______________ BC DC F'-15'
________ _______________ TOTAL DC F'33'
END EXAM1
a. Quadruple the value in register 2.
b. Increment the value in register 7 by 5182.
c. Initialize register 0 to zero.
d. Multiply the contents of register 3 by -17.
e. Divide the contents of register 8 by the contents of register 6.
(This is harder than some of these.)
f. Test the contents of registers 2 and 3. Branch to the label
FOUND if the contents of register 2 are not equal to the contents
of register 3.
g. Write the equate statement necessary to equate the value 3 with the
symbol SAVE.
g. Save the contents of register 10 into a fullword labelled HAVEN.
Starting values (for each instruction):
R0 = 00000200 R1 = FF000204 R3 = 0000036C R4 = FFFFFFFF
R5 = FFFFFFFF R6 = 00000004 R7 = 00000064 R8 = 00000004
Address Contents
000200 F5F5F5F5 0000003C 00000123 00000008
LR 5,6 R5 = _____________
LA 1,2(0,3) R1 = _____________
L 6,4(6,1) R6 = _____________
DR 4,8 R4 = _____________ R5 = _____________
AR 0,6 R0 = _____________
MR 4,4 R4 = _____________ R5 = _____________
LTR 3,4 R3 = _____________
VALUE = ((NUM4 - NUM3)/2) * NUM2 + NUM4
CALCUL8 CSECT , Begin program
USING ________________ Define base register
SR 3,3 Initialize sum of card values
SR 4,4 Initialize count of valid values
XREAD CARD,80 Read first record
*
LOOP BC ____________,EOF Finished if no more records
XDECI ________________ Get first number from record
BC ________________ B if none found
AR 3,0 Else add to total
A 4,______________ And increment count of numbers
NEXTCARD XREAD CARD,80 Get next input record
______________________ Continue
EOF LTR 4,______________ Any numbers found?
BC B'1000',SAVE No, save zero
M 2,______________ Prepare to divide
DR 2,______________ Get average in R3
AR 2,2 Double the remainder
CR 2,______________ Compare with divisor
BC ___________,SAVE Branch if no rounding needed
A 3,______________ Else round up
*
SAVE ST 3,AVG Save for XDUMP
XDUMP ________________ Display value saved above
BCR ________________ Return to caller
*
______________________ (This belongs in every program!)
CARD DS ________________
AVG DS ________________
END CALCUL8
Define any storage that is used.
This does not have to be a complete program--just the code for the loop and any storage area(s) that may be needed. There is no need to document the code. Do nothing extra.
Multiple Choice and True/False
Answer each question with the best available answer.
1. A field defined as DC CL3'32' will contain __________ in machine
code.
A. 000020
B. F3F240
C. F3F2FO
D. 200000
E. 40F3F2
2. The absolute address 0023D50A (in hex) would not be aligned on a
fullword boundary.
A. True
B. False
3. How many bits are there in a fullword?
A. 16
B. 32
C. 8
D. 64
E. 4096
4. Under the EBCDIC coding system, each character requires ________
to represent it in the computer.
A. 4 bits
B. 1 fullword
C. 8 bytes
D. 1 byte
E. 2 bytes
5. Suppose Register 5 = 00000022 and register 7 = 00000014. What
absolute address will the D(X,B) address 19(7,5) resolve to?
A. 00000055
B. 00000031
C. 00000049
D. 00000073
E. 00000037
6. The instruction LR 5,4 will
A. copy the contents of register 5 into register 4.
B. ABEND the program with a specification error.
C. put 4 into register 5.
D. copy the contents of register 4 into register 5.
E. test whether the value in register 4 is less than the value
in register 5.
Questions 7 and 8 refer to this instruction:
MR 8,5
7. Which registers will be multiplied?
A. 8 and 9
B. 8 and 5
C. 9 and 5
D. 8 and 6
E. 9 and 6
8. Where will the product be stored?
A. In registers 5 and 6
B. In registers 8 and 9
C. In register 8
D. In register 9
E. None of the above
9. The following instruction will assemble without an error:
LA 1,5000
A. True
B. False
Questions 10 and 11 refer to this instruction, which we are
using to divide 239 by 17:
DR 2,5
10. Where will the quotient be stored after execution?
A. In register 5
B. In register 2
C. In registers 2 and 3
D. In registers 5 and 6
E. None of the above
11. Where will the remainder be stored after execution?
A In register 2
B. In register 3
C. In register 5
D In register 6
E. There is no remainder--we just have a quotient.
12. A field defined as DC F'29' will contain 00000029 in machine code.
A. True
B. False
13. XREAD will set the condition code to 1 if it encounters the end
of the file.
A. True
B. False
14. If your program attempts to divide by 0, the result should be an
ABEND with interruption code 0009.
A. True
B. False
15. The signed 32-bit number 5FFFFFF7 is negative.
A. True
B. False
16. If your program tries to execute an invalid instruction, the result
should be an ABEND with interruption code 0001.
A. True
B. False