Machine Organization and Assembly Language programming
Problem Set #1 Due: Wednesday April 7th
- 1. By the due date, you should have read Chapter 1,
Chapter 4 (Sections 4.1 to 4.3)
and Chapter 3 (Sections 3.1 to 3.5)
- 2. Please do the "Assignment #0 -- Getting Familiar with
Spim". The text of the assignment is on the Web. You DON'T have to
turn it in.
- 3. Convert 255 into a 16-bit two's complement binary number.
Give the answer in hexadecimal.
- 4. Convert -512 into a 16-bit two's complement binary number.
Give the answer in hexadecimal.
- 5. What decimal number does this two's complement binary number represent
1111 1111 1111 1111 1111 1111 1100 1011 ?
- 6. What binary number does this 32-bit two's complement hexadecimal
number represent: 0fff ffff?
What decimal number does it represent?
(you can use an expression of the form 2**x + y for
the decimal number if you find it convenient)?
- 7. What binary number does this 32-bit two's complement hexadecimal number represent: 8000 0000 ?
What decimal number does it represent?
(you can use an expression of the form 2**x + y for
the decimal number if you find it convenient)?
- 8. Assume a 8-bit register and a 2's complement representation
of integers.
- What are the largest positive number
and the smallest negative number that you can
represent (give representations in 2's complement
and their values in decimal).
- Give examples of adding two positive numbers with
and without overflow and of subtracting a negative
number from a positive number with and without overflow.
Show the 2's complement representation of the operands and the result
in a manner similar to what is done in the book pp 220-221.
- How do you test if a number is not negative? How do you test if a number
is not positive?
- How do you test for overflow?