Machine Organization and Assembly Language programming
Problem Set #1 Due: Monday October 10th

Number representations are familiar to most CS majors, so this simply assignment is really just a tune-up on information that you probably already know. However, if you’re not familiar with binary and hex, please check in the text pp. 160-168.

1. Convert 247 into a 16-bit two's complement binary number. Give the answer in hexadecimal.

2. Convert -504 into a 16-bit two's complement binary number. Give the answer in hexadecimal.

3. What decimal number does this two's complement binary number represent
1111 1111 1111 1111 1111 1111 1001 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 an 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 161.

·        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?