Topics carried over from Exam 1
Everything! See the Exam 1 review.
Also, review Exam 1. Pay attention to twos complement representation, especially range.
Topics carried over from Exam 2
Everything! See the Exam 2 review.
Also, review Exam 2. Pay attention to pretty much everything. Also, a review of Java expressions would be useful.
Topics covered in last year’s final
More recent topics
- Memory caches and virtual memory as in Homework 10
- Basics of circuit connection as in Power management lab, Pi and I2 lab and Homework 11
Programming questions
The assembly programming questions on this exam will be fairly simple.
None will be more than a single while
or if
—else
with a one or two statement body.
Make sure all your program examples
exit at the end of the implemented statement.
A few more things to get straight
- In C, any non-zero integer is
considered to be
true
and zero is considered to befalse
. - In C, the relational and logical operators return either 0 or 1.
- The arithmetic and bitwise operators are the same
in both C and Java, except that Java has a
>>>
. - The bitwise operators are the same in both C and JavaScript.
- It doesn’t take many bits to address a memory location.
- If
V
is an array of integers; to accessV[i]
in MIP32 assembler, you need to do a multiplication by 4. - Shift left two places to multiply by 4.
- The unary
&
and*
operators of C are used with pointers. - You can subtract pointers in C if they point to elements of the same array.
- If the MIPS32 instruction starts with 000000, it’s an R instruction.
- In MIPS32, arguments are passed in
$a0
to$a3
and values are returned in$v0
to$v1
.
Sage advice
- Draw pointers.
- Draw bitfields.
- Check your answers.
- Explain your reasoning.