At an ice-skating competition, skaters are assessed by a panel of 6 judges each
ID: 3596534 • 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 using if and while constructs that input the scores for two skaters A and B and then determines the winner.
Examples
Scores for A: 10 10 9 5 8 10
Scores for B: 8 10 8 9 10 5
A wins!
Scores for A: 9 9 8 10 7 9
Scores for B: 10 7 10 8 8 9
It is a tie!
THIS MUST BE IN PEP/9 ASSEMBLY CODE
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
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.