Assignment 8, due July 15

Part of the homework for 22C:60, Summer 2005
by Douglas W. Jones
THE UNIVERSITY OF IOWA Department of Computer Science

Always, on every assignment, please write your name legibly as it appears on your University ID and on the class list! All assignments will be due at the start of class on the day indicated, and unless there is what insurance companies call "an act of God" - something outside your control; the only exceptions to this rule will be by advance arrangement.

  1. Convert the following unsigned binary numbers to decimal: (1/2 point)

    a) 101.100
    b) 110.101
    c) 100.011
    d) 100.011
    e) 001.001

  2. Consider the following floating point format for 8-bit floating point numbers: (1 point)
        __ __ __ __ __ __ __ __ 
       |__|__|__|__|__|__|__|__|
       |S |Exp     |Mant       |
    
       S    -- sign bit of the signed-magnitude mantissa.
       Exp  -- exponent, biased so that 100 is zero and 101 is one.
       Mant -- mantissa, where the point is to the left, so 1000 is 0.5;
               unless the exponent is the smallest possible value, this
               should be normalized.
    

    a) Give the representation of 1.0 in binary in this system.
    b) Give the representation of -0.5 in binary in this system.
    c) What is the smallest positive normalized value, in binary and decimal?
    d) What is the largest positive value, in binary and decimal?
    e) How many different representations of zero are there in this system?

  3. Background: In machine probleme 3, you wrote a random number generator, but we had not yet discussed how to incorporate this into a separate source file for separate assembly, so it could be cleanly partitioned from the main program.

    Assignment: Write the skeleton for separate assembly of this random number generator. This should include the following files: (1.5 points)

    Note: This assignment asks only for the skeleton, not for the complete product. Therefore, you can leave out all the code between the label RANDOM: and the return from that routine, and from INITRAND: to the return from that routine.

    Turn in: Turn in legible source listing of these skeleton files. You need not turn in assembly listings (but you may).