Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Objective: Write a MIPS assembly language program, which will prompt the user fo

ID: 647906 • Letter: O

Question

Objective:

Write a MIPS assembly language program, which will prompt the user for 10 positive integers and then display the following information:

(1) Maximum, minimum and average integer, all displayed in base 10.

(2) The list of integers in the same order entered, but displayed in a base chosen by the user.

                                   

Specification:

                  Store the numbers in an array.

                  Use at least three MIPS procedures to do logical things.

                  You need not pass parameters or have return values.

                  You may assume the user will enter a base between 2 and 16 for outputting the original numbers.

                  Document appropriately.

Explanation / Answer

DATA section

.data

prompt: .asciiz " How many integer numbers?(5 integers,minimum)"

result: .asciiz "The minimum integer is "

CODE SECTION   

.text

.globl main

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 into $v0

blez $v0, end # branch to end if $v0 < = 0

li $t0, 0 # clear register $t0 to zero

loop:

add $t0, $t0, $v0 # sum of integers in register $t0

addi $v0, $v0, -1 # summing integers in reverse order

bnez $v0, loop # branch to loop if $v0 is != zero

li $v0, 4 # system call code for Print String

la $a0, result # load address of message into $a0

syscall # print the string

li $v0, 1 # system call code for Print Integer

move $a0, $t0 # move value to be printed to $a0

syscall # print sum of integers

b main # branch to main

end: li $v0, 4 # system call code for Print String

la $a0, # load address of msg. into $a0

syscall # print the string

li $v0, 10 # terminate program run and

syscall # return control to system