Question

Write a MIPS assembly language program that can perform a linear search for a number that...

Write a MIPS assembly language program that can perform a linear search for a number that entered by user in an array with 20 integer numbers and prints the index of the number in the array if it is found and -1 if not
0 0
Add a comment Improve this question Transcribed image text
Answer #1

MIPS CODE:

$LC1:
.ascii "\012 Input a number to search :\000"
$LC2:
.ascii "%d\000"
$LC3:
.ascii "-1\000"
$LC0:
.word 70
.word 15
.word 85
.word 25
.word 80
.word 100
.word 50
.word 20
.word 90
.word 65
.word 30
.word 45
.word 60
.word 5
.word 75
.word 10
.word 40
.word 95
.word 55
.word 35
main:
addiu $sp,$sp,-128
sw $31,124($sp)
sw $fp,120($sp)
move $fp,$sp
lui $2,%hi($LC0)
addiu $3,$fp,32
addiu $2,$2,%lo($LC0)
li $4,80 # 0x50
move $6,$4
move $5,$2
move $4,$3
jal memcpy
nop

sw $0,24($fp)
sw $0,28($fp)
sw $0,112($fp)
lui $2,%hi($LC1)
addiu $4,$2,%lo($LC1)
jal printf
nop

addiu $2,$fp,112
move $5,$2
lui $2,%hi($LC2)
addiu $4,$2,%lo($LC2)
jal scanf
nop

b $L2
nop

$L5:
lw $2,24($fp)
nop
sll $2,$2,2
addiu $3,$fp,24
addu $2,$3,$2
lw $3,8($2)
lw $2,112($fp)
nop
bne $3,$2,$L3
nop

li $2,1 # 0x1
sw $2,28($fp)
b $L4
nop

$L3:
lw $2,24($fp)
nop
addiu $2,$2,1
sw $2,24($fp)
$L2:
lw $2,24($fp)
nop
slt $2,$2,20
bne $2,$0,$L5
nop

$L4:
lw $2,28($fp)
nop
beq $2,$0,$L6
nop

lw $5,24($fp)
lui $2,%hi($LC2)
addiu $4,$2,%lo($LC2)
jal printf
nop

b $L7
nop

$L6:
lui $2,%hi($LC3)
addiu $4,$2,%lo($LC3)
jal printf
nop

$L7:
move $2,$0
move $sp,$fp
lw $31,124($sp)
lw $fp,120($sp)
addiu $sp,$sp,128
j $31
nop

------------------------------------------------

C Code:

main()
{
int arr[]={70,15,85,25,80,100,50,20,90,65,30,45,60,5,75,10,40,95,55,35};
int i=0,flag=0,num=0;
printf("\n Input a number to search :");
scanf("%d",&num);
while(i<20)
{
if(arr[i]==num)
{
flag=1;
break;
}
i++;
}

if(flag)
printf("%d",i);
else
printf("-1");

}

Add a comment
Know the answer?
Add Answer to:
Write a MIPS assembly language program that can perform a linear search for a number that...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT