首页 > 解决方案 > 以 mips 计算平均值

问题描述

Aslam alikum 伙计们,你能帮我吗?我怎样才能找出错误

    .data
    num1: .word 3
    num2: .word 5
    num3: .word 3
    num4: .word 3
    num5: .word 5
    num6: .word 3
    num7: .float 6.0

    xxx: .word 0
    yyy: .float 0.0

    .text
    .globl main
    .ent main
    main:
            lw $a0, num1
            lw $a1, num2
            lw $a2, num3
            lw $a3, num4
            lw $t0, num5
            lw $t1, num6
            l.s $f8, num7

            subu $sp ,$sp,8
            sw $t0 ,($sp)
            sw $t1 ,($sp)

            jal func 
            sw $v1 ,xxx
            mtc1 $v1,$f6
            cvt.s.w $f6 ,$f6

            div.s $f10 ,$f6, $f8
            s.s $f10,yyy
            addu $sp ,$sp ,8
            syscall
    .end main

    .globl func
    .end func
    func:
            subu $sp ,$sp ,4
            sw $fp , ($sp)
            addu $fp , $fp ,4
            li $v1 ,0
            add $v1 , $v1 , $a0 
            add $v1 , $v1 , $a1 
            add $v1 , $v1 , $a2
            add $v1 , $v1 , $a3
            lw $t0 ,($fp)
            add $v1 , $v1 , $t0
            lw $t1 ,4($fp)
            add $v1 , $v1 , $t1
            lw $sp , ($sp) 
            addu $sp ,$sp ,4
            jr $ra
    .end func

标签: assemblyerror-handlingmipsaverageqtspim

解决方案


    .data
    num1: .word 3
    num2: .word 5
    num3: .word 3
    num4: .word 3
    num5: .word 5
    num6: .word 3
    num7: .float 6.0

    xxx: .word 0
    yyy: .float 0.0

    .text
    .globl main
    .ent main
    main:
            lw $a0, num1
            lw $a1, num2
            lw $a2, num3
            lw $a3, num4
            lw $t0, num5
            lw $t1, num6
            l.s $f8, num7

            subu $sp ,$sp,8
            sw $t0 ,($sp)
            sw $t1 ,($sp)

            jal func 
            sw $v1 ,xxx
            mtc1 $v1,$f6
            cvt.s.w $f6 ,$f6

            div.s $f10 ,$f6, $f8
            s.s $f10,yyy
            addu $sp ,$sp ,8
            syscall
    .end main

    .globl func
    .end func
    func:
            subu $sp ,$sp ,4
            sw $fp , ($sp)
            addu $fp , $fp ,4
            li $v1 ,0
            add $v1 , $v1 , $a0 
            add $v1 , $v1 , $a1 
            add $v1 , $v1 , $a2
            add $v1 , $v1 , $a3
            lw $t0 ,($fp)
            add $v1 , $v1 , $t0
            lw $t1 ,4($fp)
            add $v1 , $v1 , $t1
            lw $sp , ($sp) 
            addu $sp ,$sp ,4
            jr $ra
    .end func

它是计算 6 个数字的平均值


推荐阅读