Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

# Functional Description: # A program to find the Sum of the Integers from 1 to N, where N is a value # input from

image text in transcribed # Functional Description: # A program to find the Sum of the Integers from 1 to N, where N is a value # input from the keyboard. ################################################################## # 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

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

Students also viewed these Databases questions

Question

10. Describe the relationship between communication and power.

Answered: 1 week ago