CSE/EEE 230 – Assignment 3
Important: This is an individual assignment. Please do not collaborate.
Make sure to follow the academic integrity policies. Using work done by someone else will be
considered a violation of the academic integrity and will result in a report to the Dean's office.
Your work should not match with anything found online.
Copying any part of this assignment, and providing them to another person or posting them on
the Internet without a permission of the instructor will be a violation of its copyright.
http://www.asu.edu/copyright/
Show all the steps in your solution to receive full credit.
Question 1: Show the steps in the (shift and add) binary multiplication algorithm to multiply
two 6-bit signed (two's complement) numbers. Write the resultant register in hexadecimal.
mult $s0, $s1 # $s0 = 0xFFFFFFE4 and $s1 = 0x18
mflo $s2
Question 2: Show the steps in the (shift and subtract) binary division algorithm to compute the
quotient and remainder when two 6-bit signed (two's complement) numbers are divided. Write
the resultant registers in hexadecimal.
div $s0, $s1 # $s0 = 0xFFFFFFE4 and $s1 = 0x18
mflo $s2
mfhi $s3
Question 3: Single Precision Floating point ßà Double Precision Floating Point
(a) Represent the floating point 0xBFE80000 in Double Precision Format
(b) Represent the floating point 0x 400F FFFF FFE0 0000 in Single Precision Format
For Questions 4 and 5, consider all floating point registers have the following default values: $f0
to $f15 = 0xFFFFFFFF and $f16 to $f31 = 0x0. Modifications in some register values are specified
for each of the subparts.
Question 4: Show the steps to subtract the following double precision floating point numbers.
Write the resultant registers in hexadecimal.
sub.d $f4, $f8, $f12 # $f8 = 0xBFDFFFFF and $f12 = 0xC02FFFFF
Question 5: Show the steps to subtract the following double precision floating point numbers.
Write the resultant registers in hexadecimal.
mul.d $f16, $f20, $f24 # $f20 = 0xABC30000 and $f24 = 0x73DD0000