MIPS Problem Write a function to find the sum of the main di

MIPS Problem

Write a function to find the sum of the main diagonal elements in a two dimensional NxN array of 32-bit words. The base address of the array and the size N are passed through default argument registers $a0 and $a1. The result is returned in $v0.

Solution

.file 1 \"\" .section .mdebug.abi32 .previous .gnu_attribute 4, 1 .abicalls .section .rodata.str1.4,\"aMS\",@progbits,1 .align 2 $LC0: .ascii \"\\012Enter value a[%d][%d] : \\000\" .align 2 $LC1: .ascii \"%d\\000\" .align 2 $LC2: .ascii \"\\012Sum of Diagonal Elements are: %d\\000\" .text .align 2 .globl main $LFB12 = . .set nomips16 .ent main .type main, @function main: .frame $sp,464,$31 # vars= 400, regs= 9/0, args= 16, gp= 8 .mask 0x80ff0000,-4 .fmask 0x00000000,0 .set noreorder .cpload $25 .set nomacro addiu $sp,$sp,-464 $LCFI0: sw $31,460($sp) $LCFI1: sw $23,456($sp) movz $31,$31,$0 $LCFI2: sw $22,452($sp) $LCFI3: sw $21,448($sp) $LCFI4: sw $20,444($sp) $LCFI5: sw $19,440($sp) $LCFI6: sw $18,436($sp) $LCFI7: sw $17,432($sp) $LCFI8: sw $16,428($sp) $LCFI9: .cprestore 16 move $17,$0 move $23,$0 lw $20,%got($LC0)($28) nop addiu $20,$20,%lo($LC0) addiu $22,$sp,24 lw $21,%got($LC1)($28) nop addiu $21,$21,%lo($LC1) b $L2 li $18,5 # 0x5 $L3: move $4,$20 $L12: move $5,$17 lw $25,%call16(printf)($28) nop jalr $25 move $6,$16 lw $28,16($sp) addu $5,$19,$16 sll $5,$5,2 move $4,$21 lw $25,%call16(scanf)($28) nop jalr $25 addu $5,$22,$5 lw $28,16($sp) addiu $16,$16,1 bne $16,$18,$L12 move $4,$20 addiu $17,$17,1 beq $17,$18,$L4 addiu $6,$sp,24 $L2: move $16,$23 sll $19,$17,1 sll $2,$17,3 b $L3 addu $19,$19,$2 $L4: move $3,$0 move $5,$0 move $8,$0 b $L5 li $4,5 # 0x5 $L7: bne $3,$2,$L6 nop lw $7,0($6) nop addu $5,$5,$7 $L6: addiu $2,$2,1 bne $2,$4,$L7 nop addiu $3,$3,1 beq $3,$4,$L8 addiu $6,$6,44 $L5: b $L7 move $2,$8 $L8: lw $4,%got($LC2)($28) lw $25,%call16(printf)($28) nop jalr $25 addiu $4,$4,%lo($LC2) move $2,$0 lw $31,460($sp) lw $23,456($sp) lw $22,452($sp) lw $21,448($sp) lw $20,444($sp) lw $19,440($sp) lw $18,436($sp) lw $17,432($sp) lw $16,428($sp) j $31 addiu $sp,$sp,464 .set macro .set reorder .end main
MIPS Problem Write a function to find the sum of the main diagonal elements in a two dimensional NxN array of 32-bit words. The base address of the array and th

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site