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

I need it done with this specific WinMips64 program(I shared it on my google dri

ID: 3864616 • Letter: I

Question

I need it done with this specific WinMips64 program(I shared it on my google drive below):

1) https://drive.google.com/open?id=0B-yy0y1yM_P0TjM3bzU1cHRmeFk
OR
2) https://drive.google.com/drive/folders/0B-yy0y1yM_P0VTJWd2NvYlNYdEE?usp=sharing

If you could share the code(in a from of a copiable text) from your created "xxxx.s" file it would be great!

P.S. "xxxx.s" files can be edited with Notepad program. I use Notepad++ for easier spacing.

Write a WinMIPS64 code to determine whether a given number is an Armstrong number. The digit numbers equal to sum of nth powers of their digits (a finite sequence), called Armstrong numbers. They first few are given by 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407, 1634, 8208, 9474, 54748,.... For example, consider 371, 371 33 73+ 13 27 343 1 371. A sample C code for your assistance is given below: include

Explanation / Answer

.LC0:
.ascii "Enter an integer: "
.LC1:
.ascii "%d"
.LC2:
.ascii "%d is an Armstrong number."
.LC3:
.ascii "%d is not an Armstrong number."
main:
daddiu $sp,$sp,-64
sd $31,56($sp)
sd $fp,48($sp)
sd $28,40($sp)
move $fp,$sp
lui $28,%hi(%neg(%gp_rel(main)))
daddu $28,$28,$25
daddiu $28,$28,%lo(%neg(%gp_rel(main)))
ld $2,%got_disp(__stack_chk_guard)($28)
ld $2,0($2)
sd $2,24($fp)
sw $0,12($fp)
sw $0,16($fp)
ld $2,%got_page(.LC0)($28)
daddiu $4,$2,%got_ofst(.LC0)
ld $2,%call16(printf)($28)
move $25,$2
1: jalr $25
nop

daddiu $2,$fp,4
move $5,$2
ld $2,%got_page(.LC1)($28)
daddiu $4,$2,%got_ofst(.LC1)
ld $2,%call16(scanf)($28)
move $25,$2
1: jalr $25
nop

lw $2,4($fp)
sw $2,8($fp)
.L3:
lw $2,8($fp)
beq $2,$0,.L2
nop

lw $5,8($fp)
move $4,$5
move $3,$4
dsll $2,$3,1
move $3,$2
dsll $2,$3,2
dsubu $2,$2,$3
dsll $3,$2,4
daddu $2,$2,$3
dsll $3,$2,8
daddu $2,$2,$3
dsll $3,$2,16
daddu $2,$2,$3
daddu $2,$2,$4
dsrl $2,$2,32
sll $2,$2,0
sra $3,$2,2
sra $2,$5,31
subu $2,$3,$2
sw $2,8($fp)
lw $2,16($fp)
addiu $2,$2,1
sw $2,16($fp)
b .L3
nop

.L2:
lw $2,4($fp)
sw $2,8($fp)
.L5:
lw $2,8($fp)
beq $2,$0,.L4
nop

lw $4,8($fp)
move $5,$4
move $3,$5
dsll $2,$3,1
move $3,$2
dsll $2,$3,2
dsubu $2,$2,$3
dsll $3,$2,4
daddu $2,$2,$3
dsll $3,$2,8
daddu $2,$2,$3
dsll $3,$2,16
daddu $2,$2,$3
daddu $2,$2,$5
dsrl $2,$2,32
sll $2,$2,0
sra $3,$2,2
sra $2,$4,31
subu $2,$3,$2
sll $2,$2,1
sll $3,$2,2
addu $2,$2,$3
subu $2,$4,$2
sw $2,20($fp)
lw $2,20($fp)
mtc1 $2,$f0
cvt.d.w $f0,$f0
lw $2,16($fp)
mtc1 $2,$f1
cvt.d.w $f1,$f1
mov.d $f13,$f1
mov.d $f12,$f0
ld $2,%call16(pow)($28)
move $25,$2
1: jalr $25
nop

mov.d $f1,$f0
lw $2,12($fp)
mtc1 $2,$f0
cvt.d.w $f0,$f0
add.d $f0,$f0,$f1
trunc.w.d $f0,$f0
mfc1 $2,$f0
sw $2,12($fp)
lw $5,8($fp)
move $4,$5
move $3,$4
dsll $2,$3,1
move $3,$2
dsll $2,$3,2
dsubu $2,$2,$3
dsll $3,$2,4
daddu $2,$2,$3
dsll $3,$2,8
daddu $2,$2,$3
dsll $3,$2,16
daddu $2,$2,$3
daddu $2,$2,$4
dsrl $2,$2,32
sll $2,$2,0
sra $3,$2,2
sra $2,$5,31
subu $2,$3,$2
sw $2,8($fp)
b .L5
nop

.L4:
lw $3,4($fp)
lw $2,12($fp)
bne $2,$3,.L6
nop

lw $2,4($fp)
move $5,$2
ld $2,%got_page(.LC2)($28)
daddiu $4,$2,%got_ofst(.LC2)
ld $2,%call16(printf)($28)
move $25,$2
1: jalr $25
nop

b .L7
nop

.L6:
lw $2,4($fp)
move $5,$2
ld $2,%got_page(.LC3)($28)
daddiu $4,$2,%got_ofst(.LC3)
ld $2,%call16(printf)($28)
move $25,$2
1: jalr $25
nop

.L7:
move $2,$0
ld $3,%got_disp(__stack_chk_guard)($28)
ld $4,24($fp)
ld $3,0($3)
beq $4,$3,.L9
nop

ld $2,%call16(__stack_chk_fail)($28)
move $25,$2
1: jalr $25
nop

.L9:
move $sp,$fp
ld $31,56($sp)
ld $fp,48($sp)
ld $28,40($sp)
daddiu $sp,$sp,64
j $31
nop