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

Please help me out asap on both problems, Do all of these: step bu step Thank yo

ID: 3701801 • Letter: P

Question

Please help me out asap on both problems, Do all of these: step bu step Thank you

Problem #1 Fill in the values for binary, decimal, and hexadecimal values in the following table:

please note : I need the asm file and also plese check the output before you post your answer?

Problem #2 Write a program that inputs 3 numbers A, B, and C. Your program must decide which number is largest, which number is the middle, and which number is the smallest. Finally, it must print out the three numbers in order from smallest to largest. So, for example, if A < B and B > C and A < C then it should print the numbers like so: A C B

If B < A and C < A and C < B then your program should print the numbers like this:

C B A

There are six possible ways to print three numbers so you may enumerate all the ways to print the numbers, or you may use a more elegant method such as sorting. After printing three numbers, the program MUST return to the beginning and repeat the process by taking 3 more numbers as input. If input number A is 0 then exit the program.

Here is a sample run:

Enter number

A: 55 Enter number

B: 26 Enter number

C: 66 26 55 66

Enter number A: 4

Enter number B: 5

Enter number C: 1

1 4 5

Enter number A: 0

Now the program ends. User input is written in italics (you do not need to output italics for user input).

8-bit Unsigned Binary Decimal (unsigned) Decimal (two's comp) Hexadecimal 66 1001 0101 -111 0xef 0111 1110 222 0x4f -102

Explanation / Answer

Answer :

2)

.data
array: .space 40
prompt: .asciiz "Enter a number: "
spacee: .asciiz " "
output: .asciiz "The numbers are: "
.text

main:
li $t1,10 #load 10 into $t1
la $a1,array #load a pointer to array into $a1

loop:
addi $t1,$t1,-1 #subtract 1 from $t1, save to $t1
li $v0,4 #load 4 into $v0 (print string)
la $a0,prompt #load prompt text into $a
syscall #display prompt
li $v0,5 #load 5 into $v0 (read integer)
syscall #prompt for input
sw $v0,0($a1) #store input int to array
addi $a1,$a1,4 #add 4 to $a1, save to $a1
bnez $t1,loop #if $t1 isn't zero,goto loop
li $t1,9 #if $t1 is zero, load 9 into $t1
li $t2,9 #and load 9 into $t2
la $a1,array #load array pointer into $a1

loop1:
beqz $t2,here #if $t2 is zero, goto here
addi $t2,$t2,-1 #subtract 1 from $t2, save to $t2
lw $t5,0($a1) #load an input int into $t5
lw $t6,4($a1) #load the next one into $t6
addi $a1,$a1,4 #add 4 to $a1, save to $a1
ble $t5,$t6,loop1 #if $t5 <= $t6, goto loop1
sw $t5,0($a1) #else, store $t5 in $a1
sw $t6,-4($a1) #and store $t6 in $a1-4 (swapping them)
bnez $t2,loop1 #if $t2 is not zero, to go loop1

here:
la $a1,array #load array into $a1
addi $t1,$t1,-1 #subtract 1 from $t1, save to $t1
add $t2,$t2,$t1 #add $t2 to $t1, save to $t2
bnez $t1,loop1 #if $t1 isn't zero, goto loop1
li $v0,4 #load 4 into $v0 (print string)
la $a0,output #load 'the numbers are' into $a0
syscall #display message to screen
la $a1,array #load array pointer into $a1
li $t1,10 #load 10 into $t1

loop2:
li $v0,1 #load 1 into $v0 (print int)
lw $a0,0($a1) #load $a1 into $a0
syscall #print first number to screen
li $v0,4 #load 4 into $v1 (print string)
la $a0,spacee #load ' ' into $a0
syscall #print ' ' to screen
addi $a1,$a1,4 #add 4 to $a1, save to $a1
addi $t1,$t1,-1 #subtract 1 from $t1, save to $t1
bnez $t1,loop2 #if $t1 isn't zero, goto loop2

li $v0,10 #exit

syscall