Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

################################################################## # Pseudocode description of algorithm: # main: cout > v0 # If ( v0 0 ) do # { # t0 = t0 +

image text in transcribed ################################################################## # Pseudocode description of algorithm: # main: cout > v0 # If ( v0 0 ) do # { # t0 = t0 + v0; # v0 = v0 - 1; # } # cout

##################################################################### # Cross References: # v0: N, # t0: Sum ##################################################################### .data prompt: .asciiz Please Input a value for N = result: .asciiz The sum of the integers from 1 to N is bye: .asciiz **** Adios Amigo - Have a good day **** .globl main .text main: li $v0, 4 # system call code for Print String la $a0, prompt # load address of prompt into $a0 syscall # print the prompt message li $v0, 5 # system call code for Read Integer syscall # reads the value of N into $v0 blez $v0, end # branch to end if $v0

li $v0, 4 # system call code for Print String la $a0, bye # load address of msg. into $a0 syscall # print the string li $v0, 10 # terminate program run and syscall # return control to system

The code on pages 20-21 of the Text book asks you to input a number, and it will then sum the numbers from 1 to that number. The Prompt asks you to input a number, not necessarily an integer. The program will abort if a floating point number is entered. Your project, is to "fix" the program and allow for a floating point number to be entered. The program will NOT run, so your task is to convert the floating point number to an integer. If a floating point number is entered, truncate the number and use that integer to run the program. Also, you must inform the user that they entered a floating point and it was truncated, output to the user, the floating point they entered and the integeryou used Note: You must only use Shift, Rotate to manipulate the bits, no conversion instructions. The following are some pointers as to what needs to be done. 1 The program reads an integer, that must be changed to read a floating point 2) You will need to move that number into a floating point register and then that number must be copied into an integer register. You will need to extract the exponent from the integerregister and stored in another register. 3) You will need to insert the Implied bit. I would suggest, zero out the exponent part by shifting left 9 then shifting right 9. Then add 8388608 (2423) to the number. You will need to extract the fractional portion of the of the number. You will need the exponent to determine the shift. You only need to test to see that this is NOT EQUAL to 0 (if it is we have an integer) Extract the Integer. You may want to "Rotate" the bits to the left. 5) 6) You may want to use the following Assembler instructions in your code: srl, add, sll, rol, sub, srlv and sllv The code on pages 20-21 of the Text book asks you to input a number, and it will then sum the numbers from 1 to that number. The Prompt asks you to input a number, not necessarily an integer. The program will abort if a floating point number is entered. Your project, is to "fix" the program and allow for a floating point number to be entered. The program will NOT run, so your task is to convert the floating point number to an integer. If a floating point number is entered, truncate the number and use that integer to run the program. Also, you must inform the user that they entered a floating point and it was truncated, output to the user, the floating point they entered and the integeryou used Note: You must only use Shift, Rotate to manipulate the bits, no conversion instructions. The following are some pointers as to what needs to be done. 1 The program reads an integer, that must be changed to read a floating point 2) You will need to move that number into a floating point register and then that number must be copied into an integer register. You will need to extract the exponent from the integerregister and stored in another register. 3) You will need to insert the Implied bit. I would suggest, zero out the exponent part by shifting left 9 then shifting right 9. Then add 8388608 (2423) to the number. You will need to extract the fractional portion of the of the number. You will need the exponent to determine the shift. You only need to test to see that this is NOT EQUAL to 0 (if it is we have an integer) Extract the Integer. You may want to "Rotate" the bits to the left. 5) 6) You may want to use the following Assembler instructions in your code: srl, add, sll, rol, sub, srlv and sllv

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Nested Relations And Complex Objects In Databases Lncs 361

Authors: Serge Abiteboul ,Patrick C. Fischer ,Hans-Jorg Schek

1st Edition

3540511717, 978-3540511717

More Books

Students also viewed these Databases questions

Question

List and describe the data element of physicians order

Answered: 1 week ago

Question

4. How is culture a contested site?

Answered: 1 week ago