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

At an ice-skating competition, skaters are assessed by a panel of 6 judges each

ID: 3596431 • Letter: A

Question

At an ice-skating competition, skaters are assessed by a panel of 6 judges each of whom gives a performance an integer score from 0 to 10. The overall score is computed by discarding the highest and lowest of the 6 scores and averaging the remaining 4 Write and test a Pep/9 assembly code program that input the scores for two skaters A and B and then determines the winner. There may be a tie. Examples Scores for A: 10 10 9 5 8 10 Scores for B: 8 10 8 9 10 5 A wins! A average: 9.25 B average: 8.75

Explanation / Answer

.file   1 ""
        .section .mdebug.abi32
        .previous
        .nan    legacy
        .module fp=32
        .module nooddspreg
        .abicalls
        .rdata
        .align 2
$LC0:
        .ascii "A wins"
        .align 2
$LC1:
        .ascii "B wins"
        .align 2
$LC2:
        .ascii "A avg: %f and B avg: %f"
        .text
        .align 2
        .globl main
        .set    nomips16
        .set    nomicromips
        .ent    main
        .type   main, @function
main:
        .frame $fp,136,$31             # vars= 96, regs= 2/0, args= 24, gp= 8
        .mask   0xc0000000,-4
        .fmask 0x00000000,0
        .set    noreorder
        .cpload $25
        .set    nomacro
        addiu   $sp,$sp,-136
        sw      $31,132($sp)
        sw      $fp,128($sp)
        move    $fp,$sp
        .cprestore      24
        movz    $31,$31,$0
        li      $2,10                   # 0xa
        sw      $2,72($fp)
        li      $2,9                    # 0x9
        sw      $2,76($fp)
        li      $2,8                    # 0x8
        sw      $2,80($fp)
        li      $2,5                    # 0x5
        sw      $2,84($fp)
        li      $2,10                   # 0xa
        sw      $2,88($fp)
        li      $2,10                   # 0xa
        sw      $2,92($fp)
        li      $2,10                   # 0xa
        sw      $2,96($fp)
        li      $2,9                    # 0x9
        sw      $2,100($fp)
        li      $2,8                    # 0x8
        sw      $2,104($fp)
        li      $2,5                    # 0x5
        sw      $2,108($fp)
        li      $2,10                   # 0xa
        sw      $2,112($fp)
        li      $2,8                    # 0x8
        sw      $2,116($fp)
        lw      $2,72($fp)
        nop
        sw      $2,44($fp)
        lw      $2,72($fp)
        nop
        sw      $2,48($fp)
        sw      $0,32($fp)
        b       $L2
        nop

$L7:
        li      $2,1                    # 0x1
        sw      $2,36($fp)
        b       $L3
        nop

$L6:
        lw      $2,32($fp)
        nop
        move    $3,$2
        sll     $2,$3,1
        move    $3,$2
        sll     $2,$3,2
        subu    $2,$2,$3
        lw      $3,36($fp)
        nop
        addu    $2,$2,$3
        sll     $2,$2,2
        addiu   $3,$fp,32
        addu    $2,$3,$2
        lw      $3,40($2)
        lw      $2,44($fp)
        nop
        slt     $2,$2,$3
        beq     $2,$0,$L4
        nop

        lw      $2,32($fp)
        nop
        move    $3,$2
        sll     $2,$3,1
        move    $3,$2
        sll     $2,$3,2
        subu    $2,$2,$3
        lw      $3,36($fp)
        nop
        addu    $2,$2,$3
        sll     $2,$2,2
        addiu   $3,$fp,32
        addu    $2,$3,$2
        lw      $2,40($2)
        nop
        sw      $2,44($fp)
        lw      $2,32($fp)
        nop
        sw      $2,52($fp)
        lw      $2,36($fp)
        nop
        sw      $2,56($fp)
$L4:
        lw      $2,32($fp)
        nop
        move    $3,$2
        sll     $2,$3,1
        move    $3,$2
        sll     $2,$3,2
        subu    $2,$2,$3
        lw      $3,36($fp)
        nop
        addu    $2,$2,$3
        sll     $2,$2,2
        addiu   $3,$fp,32
        addu    $2,$3,$2
        lw      $3,40($2)
        lw      $2,48($fp)
        nop
        slt     $2,$3,$2
        beq     $2,$0,$L5
        nop

        lw      $2,32($fp)
        nop
        move    $3,$2
        sll     $2,$3,1
        move    $3,$2
        sll     $2,$3,2
        subu    $2,$2,$3
        lw      $3,36($fp)
        nop
        addu    $2,$2,$3
        sll     $2,$2,2
        addiu   $3,$fp,32
        addu    $2,$3,$2
        lw      $2,40($2)
        nop
        sw      $2,48($fp)
        lw      $2,32($fp)
        nop
        sw      $2,60($fp)
        lw      $2,36($fp)
        nop
        sw      $2,64($fp)
$L5:
        lw      $2,36($fp)
        nop
        addiu   $2,$2,1
        sw      $2,36($fp)
$L3:
        lw      $2,36($fp)
        nop
        slt     $2,$2,6
        bne     $2,$0,$L6
        nop

        lw      $2,32($fp)
        nop
        addiu   $2,$2,1
        sw      $2,32($fp)
$L2:
        lw      $2,32($fp)
        nop
        slt     $2,$2,2
        bne     $2,$0,$L7
        nop

        lw      $2,52($fp)
        nop
        move    $3,$2
        sll     $2,$3,1
        move    $3,$2
        sll     $2,$3,2
        subu    $2,$2,$3
        lw      $3,56($fp)
        nop
        addu    $2,$2,$3
        sll     $2,$2,2
        addiu   $3,$fp,32
        addu    $2,$3,$2
        sw      $0,40($2)
        lw      $2,60($fp)
        nop
        move    $3,$2
        sll     $2,$3,1
        move    $3,$2
        sll     $2,$3,2
        subu    $2,$2,$3
        lw      $3,64($fp)
        nop
        addu    $2,$2,$3
        sll     $2,$2,2
        addiu   $3,$fp,32
        addu    $2,$3,$2
        sw      $0,40($2)
        sw      $0,32($fp)
        b       $L8
        nop

$L12:
        sw      $0,68($fp)
        sw      $0,36($fp)
        b       $L9
        nop

$L11:
        lw      $2,32($fp)
        nop
        move    $3,$2
        sll     $2,$3,1
        move    $3,$2
        sll     $2,$3,2
        subu    $2,$2,$3
        lw      $3,36($fp)
        nop
        addu    $2,$2,$3
        sll     $2,$2,2
        addiu   $3,$fp,32
        addu    $2,$3,$2
        lw      $2,40($2)
        lw      $3,40($fp)
        nop
        addu    $2,$3,$2
        sw      $2,40($fp)
        lw      $2,40($fp)
        nop
        bgez    $2,$L10
        nop

        addiu   $2,$2,3
$L10:
        sra     $2,$2,2
        mtc1    $2,$f0
        nop
        cvt.s.w $f0,$f0
        lw      $2,68($fp)
        nop
        sll     $2,$2,2
        addiu   $3,$fp,32
        addu    $2,$3,$2
        swc1    $f0,88($2)
        lw      $2,36($fp)
        nop
        addiu   $2,$2,1
        sw      $2,36($fp)
$L9:
        lw      $2,36($fp)
        nop
        slt     $2,$2,6
        bne     $2,$0,$L11
        nop

        lw      $2,68($fp)
        nop
        addiu   $2,$2,1
        sw      $2,68($fp)
        lw      $2,32($fp)
        nop
        addiu   $2,$2,1
        sw      $2,32($fp)
$L8:
        lw      $2,32($fp)
        nop
        slt     $2,$2,2
        bne     $2,$0,$L12
        nop

        lwc1    $f2,120($fp)
        lwc1    $f0,124($fp)
        nop
        c.lt.s $f0,$f2
        nop
        bc1f    $L18
        nop

        lw      $2,%got($LC0)($28)
        nop
        addiu   $4,$2,%lo($LC0)
        lw      $2,%call16(printf)($28)
        nop
        move    $25,$2
        .reloc 1f,R_MIPS_JALR,printf
1:      jalr    $25
        nop

        lw      $28,24($fp)
        b       $L15
        nop

$L18:
        lw      $2,%got($LC1)($28)
        nop
        addiu   $4,$2,%lo($LC1)
        lw      $2,%call16(printf)($28)
        nop
        move    $25,$2
        .reloc 1f,R_MIPS_JALR,printf
1:      jalr    $25
        nop

        lw      $28,24($fp)
$L15:
        lwc1    $f0,120($fp)
        nop
        cvt.d.s $f2,$f0
        lwc1    $f0,124($fp)
        nop
        cvt.d.s $f0,$f0
        swc1    $f0,20($sp)
        swc1    $f1,16($sp)
        mfc1    $7,$f2
        mfc1    $6,$f3
        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,24($fp)
        move    $2,$0
        move    $sp,$fp
        lw      $31,132($sp)
        lw      $fp,128($sp)
        addiu   $sp,$sp,136
        j       $31
        nop

        .set    macro
        .set    reorder
        .end    main
        .size   main, .-main
        .ident "GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.1) 5.4.0 20160609"

B wins A avg: 8198.000000 and B avg: 8203.500000

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote