Final Exam List of Topics
The CSCI 360 Final Exam is 100 points long, plus 30 points of
extra credit questions. There are mutltiple-choice questions,
true-false questions, short answers and some coding. There is no
long coding.
The first part of the test covers material up through Assignment 6,
such as binary arithmetic, how various kinds of data are stored,
tables, DSECTs, the PSW and debugging, and numbers in zoned decimal
and packed decimal formats.
The extra-credit questions are about topics involved in Assignments
7, 8 and 9, as those assignments (this semester) are for extra
credit. These include TR, TRT, EX, bit operations, shifts, IC and
STC, TM, etc, and also macros.
You may want to look back at the first two tests and their review materials,
and also at the assignments and quizzes. We have web pages on the later
material.
"Old Stuff" -- most of the test
- Don't forget the old instructions (L, ST, SR, LA, etc)
- Don't forget the material concerning packed and zoned data and
instructions
- Be able to initialize a register to 0 without using a literal or
any other storage area
- Know the number of bits in a byte, bytes in a fullword, etc...
- Know which side numeric and character constants are padded/truncated
on and what they are padded with (page 19 of yellow card)
- Be able to code a simple read loop
- Be able to calculate the hexadecimal representation of a
positive/negative number
Dump Reading
- Be able to find the condition code, length of abending instruction,
address of abending instruction, address of the instruction that would
have been executed next, the actual abending instruction (in both object
code and explicit assembler), etc...
Standard Entry/Exit Linkage
- Know what registers 1, 13, 14, and 15 contain on entry to a routine
before/after entry linkage is executed
- Know where register values are saved
- Know what each line of standard entry/exit linkage does
- Know which registers are used for passing values back to calling
routines and how we arrange for this
- Know the size of the register save area
Logical Instructions
- Know the result of ANDing, ORing, XORing with 1
- Know the result of ANDing, ORing, XORing with 0
- Be able to code an instruction that will set bits of a single byte
to 0, 1 or the opposite value
- Be able to code an instruction(s) that will swap the contents of
two fields in storage without using a temporary storage area
- Be able to code an instruction that will initialize a field in
storage or a register to 0
Shift Instructions
- Know the difference between the logical and arithmetic shifts
- Know which can be used for multiplying and dividing by powers of 2
- Be able to code either the single or double shifts in either direction
TM instruction
- Be able to code an instruction that will test specific bits
- Know how TM sets the condition code
TR, TRT & EX instructions
- Know what they are used for and how they work
- Know which register(s) might be altered
- Be able to code a translate/scan table that can be used by TR/TRT
- Be able to process a variable length field using EX
Additional Character Instructions (IC, STC, ...)
- Know how they work
- Be able to code any of the instructions
Macros
- Know the format for a macro's prototype statement
- Know what the conditional assembly instructions are equivalent to
in an ASSEMBLER program
- Know the difference between ordinary labels and macro labels
- When given a macro, know what will be produced when it expands
- Know the difference between * and .*
- Be aware of &SYSNDX
- Know the various special macro instructions: AIF, AGO, ANOP,
MEXIT, MNOTE, etc
- Be able to code one