def max(a_array,size_of_array): index=0#initialize index maxNum=a_array[0]#initi
ID: 3735893 • Letter: D
Question
def max(a_array,size_of_array):
index=0#initialize index
maxNum=a_array[0]#initialize max number
while index<size_of_array:
if a_array[index]>maxNum:
maxNum=a_array[index]
index+=1
return maxNum
def main():
#Read a list of integers
size_of_array = int(input("Enter size of list:"))#get size of list
a_array=size_of_array*[0]
i=0#initialize index for array
while i < size_of_array:
item = int(input("Enter a number:"))
a_array[i]=item
i+=1
countListSize= max(a_array,size_of_array) + 1
#create a count list of size of max number in array with counts for all elements initially set to 0
countList = countListSize*[0]
i=0#initialize index for countList
while i<size_of_array:
number=a_array[i]
countList[number] += 1
i+=1
i=0#initialize index for printing
while i<countListSize:
if countList[i]!=0:
print( str(i) + " " + "appears " + str(countList[i]) + " " + "times")
i+=1
main()
Translate the python code above to mips. Pleaseee hurry I posted twice
Explanation / Answer
$LC0: .ascii "Input number of elements in array " .align 2 $LC1: .ascii "%d " .align 2 $LC2: .ascii "Enter %d integers
" .align 2 $LC3: .ascii "Maximum element location = %d and value = %d.
" .text .align 2 .globl main .set nomips16 .set nomicromips .ent main .type main, @function main: .frame $fp,448,$31 # vars= 416, regs= 2/0, args= 16, gp= 8 .mask 0xc0000000,-4 .fmask 0x00000000,0 .set noreorder .cpload $25 .set nomacro addiu $sp,$sp,-448 sw $31,444($sp) sw $fp,440($sp) move $fp,$sp .cprestore 16 movz $31,$31,$0 lw $2,%got($LC0)($28) nop addiu $4,$2,%lo($LC0) lw $2,%call16(puts)($28) nop move $25,$2 .reloc 1f,R_MIPS_JALR,puts 1: jalr $25 nop lw $28,16($fp) addiu $2,$fp,436 move $5,$2 lw $2,%got($LC1)($28) nop addiu $4,$2,%lo($LC1) lw $2,%call16(__isoc99_scanf)($28) nop move $25,$2 .reloc 1f,R_MIPS_JALR,__isoc99_scanf 1: jalr $25 nop lw $28,16($fp) lw $2,436($fp) nop move $5,$2 lw $2,%got($LC2)($28) nop addiu $4,$2,%lo($LC2) lw $2,%call16(printf)($28) nop move $25,$2 .reloc 1f,R_MIPS_JALR,printf 1: jalr $25 nop lw $28,16($fp) sw $0,24($fp) b $L2 nop $L3: addiu $3,$fp,36 lw $2,24($fp) nop sll $2,$2,2 addu $2,$3,$2 move $5,$2 lw $2,%got($LC1)($28) nop addiu $4,$2,%lo($LC1) lw $2,%call16(__isoc99_scanf)($28) nop move $25,$2 .reloc 1f,R_MIPS_JALR,__isoc99_scanf 1: jalr $25 nop lw $28,16($fp) lw $2,24($fp) nop addiu $2,$2,1 sw $2,24($fp) $L2: lw $2,436($fp) lw $3,24($fp) nop slt $2,$3,$2 bne $2,$0,$L3 nop lw $3,436($fp) addiu $2,$fp,36 move $5,$3 move $4,$2 lw $2,%got(find_maximum)($28) nop move $25,$2 .reloc 1f,R_MIPS_JALR,find_maximum 1: jalr $25 nop lw $28,16($fp) sw $2,28($fp) lw $2,28($fp) nop sll $2,$2,2 addiu $3,$fp,24 addu $2,$3,$2 lw $2,12($2) nop sw $2,32($fp) lw $2,28($fp) nop addiu $2,$2,1 lw $6,32($fp) move $5,$2 lw $2,%got($LC3)($28) nop addiu $4,$2,%lo($LC3) lw $2,%call16(printf)($28) nop move $25,$2 .reloc 1f,R_MIPS_JALR,printf 1: jalr $25 nop lw $28,16($fp) move $2,$0 move $sp,$fp lw $31,444($sp) lw $fp,440($sp) addiu $sp,$sp,448 j $31 nop .set macro .set reorder .end main .size main, .-main .align 2 .globl find_maximum .set nomips16 .set nomicromips .ent find_maximum .type find_maximum, @function find_maximum: .frame $fp,32,$31 # vars= 16, regs= 1/0, args= 0, gp= 8 .mask 0x40000000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 sw $fp,28($sp) move $fp,$sp sw $4,32($fp) sw $5,36($fp) movz $31,$31,$0 lw $2,32($fp) nop lw $2,0($2) nop sw $2,12($fp) sw $0,16($fp) li $2,1 # 0x1 sw $2,8($fp) b $L6 nop $L8: lw $2,8($fp) nop sll $2,$2,2 lw $3,32($fp) nop addu $2,$3,$2 lw $3,0($2) lw $2,12($fp) nop slt $2,$2,$3 beq $2,$0,$L7 nop lw $2,8($fp) nop sw $2,16($fp) lw $2,8($fp) nop sll $2,$2,2 lw $3,32($fp) nop addu $2,$3,$2 lw $2,0($2) nop sw $2,12($fp) $L7: lw $2,8($fp) nop addiu $2,$2,1 sw $2,8($fp) $L6: lw $3,8($fp) lw $2,36($fp) nop slt $2,$3,$2 bne $2,$0,$L8 nop lw $2,12($fp) move $sp,$fp lw $fp,28($sp) addiu $sp,$sp,32 j $31 nop
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.