You are on page 1of 20

Q1.

.data
redgno: .word 0x0110
aside: .word 0x2
bside: .word 0x3
cside: .word 0x5
sar: .word 0x0
.text
.globl main
.ent main
main:
lw $t0,aside
lw $t1,bside
lw $t2,cside

mul $t3,$t0,$t1 # aside*bside
mul $t4,$t0,$t2 # aside*cside
mul $t5,$t2,$t1 # bside*cside

add $t3,$t3,$t4 # aside*bside + aside*cside
add $t3,$t3,$t5 # aside*bside + aside*cside + bside*cside


mul $t3,$t3,2 # 2*(aside*bside + aside*cside + bside*cside)
sw $t3,sar # load to variable sar

li $v0,10
syscall
.end main

Q2.
.data
regno: .word 0x0110
anum: .word 0x8
bnum: .word 0x6
cnum: .word 0x3
dnum: .word 0x2
fres: .word 0x0
.text
.globl main
.ent main
main:
lw $t0,anum
lw $t1,bnum
lw $t2,cnum
lw $t3,dnum

div $t4,$t1,$t2 # b/c
mul $t5,$t3,$t3 # d^2

add $t6,$t0,$t4 # a + (b/c)
sub $t6,$t6,$t5 # a + (b/c) - d^2

sw $t6,fres

li $v0,10
syscall
.end main

Q3.
.data
regdno: .word 0x0110
n1: .byte 6
n2: .byte 7
.text
.globl main
.ent main
main:
lb $t0,n1
lb $t1,n2
and $t2,$t0,$t1
or $t3,$t0,$t1
xor $t4,$t0,$t1
nor $t5,$t0,$zero
sll $t6,$t0,1
srl $t7,$t0,1
ror $s1,$t0,$t1
rol $s2,$t0,$t1
li $v0,10
syscall
.end main

Q4.
.data
regno: .asciiz ""
data1: .float 5.0
data2: .float 3.0
op: .asciiz "Y = "
.text
.globl main
.ent main
main:
la $a0,regno
li $v0,4
syscall

l.s $f0,data1
l.s $f1,data2
li.s $f5,3.14
li.s $f6,1.45

mul.s $f2,$f0,$f5
div.s $f3,$f1,$f6
add.s $f7,$f3,$f2

mov.s $f12,$f7

la $a0,op
li $v0,4
syscall

li $v0,2
syscall

li $v0,10
syscall
.end main

Q5.
.data
sum: .word 0
result: .word 0
.text
.globl main
.ent main

main:
lw $s1, sum
li $t1, 1
li $t2, 20

loop:
bgt $t1, $t2, exit
add $s1, $s1, $t1

add $t1, $t1, 1
j loop

exit:
sw $s1, result
li $v0, 10
syscall

.end main

Q6.

.data
name: .asciiz "@author Pawan kumar \n 1741017110\n"
str1: .asciiz "Enter string : "
str2: .asciiz "\nYou wrote : "

.text
.globl main
.ent main

main:
la $a0, name
li $v0, 4
syscall

la $a0, str1
li $v0, 4
syscall

li $v0, 8
syscall
move $t0, $a0

la $a0, str2
li $v0, 4
syscall

move $a0, $t0
li $v0, 4 # print string
syscall

li $v0, 10
syscall

.end main

Q7.
.data
regno: .asciiz ""
max: .word 0
arr : .word 1 3 2 3 1 4
size: .word 6
msg1: .asciiz "Maximum value :"
.text
.globl main
.ent main
main:

la $a0,regno
li $v0,4
syscall

la $s0,arr
lw $s1,size
li $t0,0
lw $t1,0($s0)

loop:
bge $t0,$s1,exit
mul $t4,$t0,4
add $t4,$s0,$t4
lw $t3,0($t4)

bge $t3,$t1,maxc

inc:
addi $t0,$t0,1
j loop

maxc:
move $t1,$t3
j inc

exit:
sw $t1,max
la $a0, msg1
li $v0, 4
syscall

move $a0,$t1
li $v0,1
syscall

li $v0,10
syscall
.end main

Q8.
.data
regno: .asciiz "@author : Ujjalita Mahapatra \nRegno : 17410170113\n\n"
min: .word 0
arr : .word 1 3 2 3 1 4 7 8 9 5
size: .word 10
msg1: .asciiz "Minimium value :"
.text
.globl main
.ent main
main:

la $a0,regno
li $v0,4
syscall

la $s0,arr
lw $s1,size
li $t0,0
lw $t1,0($s0)

loop:
bge $t0,$s1,exit
mul $t4,$t0,4
add $t4,$s0,$t4
lw $t3,0($t4)

ble $t3,$t1,minc

inc:
addi $t0,$t0,1
j loop

minc:
move $t1,$t3
j inc

exit:
sw $t1,min
la $a0, msg1
li $v0, 4
syscall

move $a0,$t1
li $v0,1
syscall

li $v0,10
syscall
.end main

Q9.
.data
regno: .asciiz ""
in: .asciiz "Enter the radius : "
oa: .asciiz "Area is :"

.text
.globl main
.ent main
main:
la $a0,regno
li $v0,4
syscall

la $a0,in
li $v0,4
syscall

li $v0,6
syscall

li.s $f1,3.14
li.s $f5,4.0

mul.s $f2,$f0,$f0
mul.s $f2,$f2,$f5
mul.s $f2,$f2,$f1


la $a0,oa
li $v0,4
syscall

mov.s $f12,$f2
li $v0,2
syscall


li $v0,10
syscall
.end main

Q10.
.data
regno: .asciiz ""
in: .asciiz "Enter the radius : "
ov: .asciiz "\nVolume is :"

.text
.globl main
.ent main
main:
la $a0,regno
li $v0,4
syscall

la $a0,in
li $v0,4
syscall

li $v0,6
syscall

li.s $f1,3.14
li.s $f5,4.0
li.s $f6,3.0

mul.s $f2,$f0,$f0
mul.s $f2,$f2,$f5
mul.s $f2,$f2,$f1

mul.s $f3,$f2,$f0
div.s $f3,$f3,$f6

la $a0,ov
li $v0,4
syscall

mov.s $f12,$f3
li $v0,2
syscall

li $v0,10
syscall
.end main

Q11.
.data
even: .asciiz "Even"
odd: .asciiz "Odd"
num: .asciiz "Enter number"

.text
.globl main
.ent main
main:
li $t0, 2
la $a0, num
li $v0, 4
syscall

li $v0, 5
syscall

move $t1, $v0

rem $t2, $t1, $t0
beq $t2, $zero, even1
j odd1

even1:
la $a0, even
li $v0, 4
syscall
j exit
odd1:
la $a0, odd
li $v0, 4
syscall
j exit

exit: li $v0, 10
syscall
.end main

Q12.
.data
message: .asciiz "the sum rise in east\n"
newline: .asciiz "\n"

.text
.globl main
.ent main

main:
la $a0, message
li $v0, 4
syscall

li $t0, 0

loop:
lb $t1, message($t0)
beq $t1, 0, exit
blt $t1, 'a', case
bgt $t1, 'z', case
sub $t1, $t1, 32
sb $t1, message($t0)

case:
addi $t0, $t0, 1
j loop

exit:
li $v0, 4
la $a0, message
syscall

li $v0, 10
syscall

Q13.
.data
message: .asciiz "THE UNIVERSITY IS OPEN TODAY\n"
newline: .asciiz "\n"

.text
.globl main
.ent main

main:
la $a0, message
li $v0, 4
syscall

li $t0, 0

loop:
lb $t1, message($t0)
beq $t1, 0, exit
blt $t1, 'A', case
bgt $t1, 'Z', case
add $t1, $t1, 32
sb $t1, message($t0)

case:
addi $t0, $t0, 1
j loop

exit:
li $v0, 4
la $a0, message
syscall

li $v0, 10
syscall

Q14.
.data
Arr: .byte 10, 11, 12, 13, 14

size: .word 5
.text
.globl main
.ent main
main:
la $s0,Arr
lw $s1,size

add $t1, $s0, $s1

move $t0,$s0

li $t3,0

loop:
bge $t0,$t1,exit

sb $t3,0($t0)


addi $t0,$t0,1

j loop

exit:
li $v0,10
syscall
.end main

Q15.
.data
arr: .byte 10, 11, 13, 25, 26

.text
.globl main
.ent main

main:
la $t1, arr
li $t0, 0
li $t5, 5
loop:
bge $t0, $t5, exit
mul $t2, $t0, 4
add $t2, $t2, $t1

sb $zero, 0($t2)
lb $t3, 0($t2)

move $a0, $t3
li $v0, 1
syscall
add $t0, $t0, 1

j loop


exit:
li $v0, 10
syscall

.end main

Q16.
.data
Str: .asciiz "I am in ITER"
msg: .asciiz "Reversed String : "
.text
.globl main
.ent main
main:
la $s0,Str
li $s1,0

loop1:
add $t0,$s0,$s1
lb $t1,0($t0)

beqz $t1,exit1
addi $s1,$s1,1
j loop1
exit1:

div $t7,$s1,2

li $t0,0

loop:
bge $t0,$t7,exit
add $t1,$s0,$t0
lb $t2,0($t1)
sub $t3,$s1,1
sub $t3,$t3,$t0
add $t3,$s0,$t3
lb $t4,0($t3)

sb $t4,0($t1)

sb $t2,0($t3)


addi $t0,$t0,1
j loop
exit:
la $a0,msg
li $v0,4
syscall

la $a0,Str
li $v0,4
syscall
li $v0,10
syscall
.end main

Q17.
.data
msg1: .asciiz "Enter an number : "
msg2: .asciiz "Cube of number : "
.text
.globl main
.ent main
main:
la $a0,msg1
li $v0,4
syscall
li $v0,5
syscall

move $s0,$v0
mul $s1,$s0,$s0
mul $s1,$s1,$s0

la $a0,msg2
li $v0,4
syscall
move $a0,$s1
li $v0,1
syscall
li $v0,10
syscall

.end main

Q18.
.data
msg: .asciiz "Square series : "
spc: .asciiz ""

.text
.globl main
.ent main
main:
la $a0,msg
li $v0,4
syscall # first print the message
li $t0,1
loop:
bgt $t0,10,exit

mul $t1,$t0,$t0
move $a0,$t1
li $v0,1
syscall
la $a0,spc
li $v0,4
syscall
addi $t0,$t0,1
j loop
exit:
li $v0,10
syscall
.end main

Q19.
.data
msg1: .asciiz "Enter the year : "
msg2: .asciiz "It is leap year"
msg3: .asciiz "It is not leap year"
.text
.globl main
.ent main
main:
la $a0,msg1
li $v0,4
syscall # print input message
li $v0,5
syscall # get input integer
move $s0,$v0 # move it in s0
rem $t0,$s0,4
rem $t1,$s0,400
rem $t2,$s0,100

beqz $t0,isleap #
beqz $t1,check100

j noleap

check100:
beqz $t2,isleap
noleap:

la $a0,msg3
li $v0,4
syscall
j exit
isleap:

la $a0,msg2
li $v0,4
syscall
exit:li $v0,10
syscall
.end main

Q20.
.data
# messages to print
msg1: .asciiz "Enter length : "
msg2: .asciiz "Enter breadth : "
msg3: .asciiz "Area : "
msg4: .asciiz "\nPerimeter : "

.text
.globl main
.ent main
main:
la $a0,msg1 # print input message
li $v0,4
syscall
li $v0,5
syscall
# get length
move $s0,$v0
la $a0,msg2
li $v0,4
syscall
li $v0,5
syscall # get breadth
move $s1,$v0

mul $t0,$s0,$s1

add $t1,$s0,$s1
mul $t1,$t1,2

la $a0,msg3
li $v0,4
syscall # print output message
move $a0,$t0
li $v0,1
syscall # print area
la $a0,msg4
syscall
move $a0,$t1
li $v0,1
syscall
li $v0,10
syscall
.end main


ALL THE BEST!!

You might also like