mirror of
https://github.com/tiennm99/HCMUT.git
synced 2026-08-23 21:26:39 +00:00
Update lab 2.3
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
.data
|
||||
input: .asciiz "Nhap iNum: "
|
||||
output: .asciiz "Ket qua la: "
|
||||
.text
|
||||
.globl main
|
||||
main:
|
||||
la $a0, input
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 5
|
||||
syscall
|
||||
move $a0, $v0
|
||||
jal sum
|
||||
or $s0, $v0, $zero
|
||||
la $a0, output
|
||||
li $v0, 4
|
||||
syscall
|
||||
or $a0, $s0, $zero
|
||||
li $v0, 1
|
||||
syscall
|
||||
j exit
|
||||
sum:
|
||||
li $t0, 0
|
||||
li $t1, 0
|
||||
for:
|
||||
add $t1, $t1, $t0
|
||||
addi $t0, $t0, 1
|
||||
blt $t0, $a0, for
|
||||
or $v0, $t1, $zero
|
||||
jr $ra
|
||||
exit:
|
||||
li $v0, 10
|
||||
syscall
|
||||
@@ -0,0 +1,72 @@
|
||||
.data
|
||||
a: .word 0
|
||||
b: .word 0
|
||||
c: .word 0
|
||||
in1: .asciiz "Nhap so thu 1: "
|
||||
in2: .asciiz "Nhap so thu 2: "
|
||||
in3: .asciiz "Nhap so thu 3: "
|
||||
out: .asciiz "Ket qua la: "
|
||||
.text
|
||||
.globl main
|
||||
main:
|
||||
la $a0, in1
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 5
|
||||
syscall
|
||||
sw $v0, a
|
||||
la $a0, in2
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 5
|
||||
syscall
|
||||
sw $v0, b
|
||||
la $a0, in3
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 5
|
||||
syscall
|
||||
sw $v0, c
|
||||
lw $a0, a
|
||||
lw $a1, b
|
||||
lw $a2, c
|
||||
jal range
|
||||
la $a0, out
|
||||
li $v0, 4
|
||||
syscall
|
||||
move $a0, $s2
|
||||
li $v0, 1
|
||||
syscall
|
||||
li $v0, 10
|
||||
syscall
|
||||
range:
|
||||
addi $sp, $sp, -4
|
||||
sw $ra, 4($sp)
|
||||
jal max
|
||||
jal min
|
||||
sub $s2, $s0, $s1
|
||||
lw $ra, 4($sp)
|
||||
addi $sp, $sp, 4
|
||||
jr $ra
|
||||
max:
|
||||
addi $sp, $sp, -4
|
||||
sw $ra, 4($sp)
|
||||
move $s0, $a0
|
||||
blt $a1, $s0, max1
|
||||
move $s0, $a1
|
||||
max1: blt $a2, $s0, max2
|
||||
move $s0, $a2
|
||||
max2: lw $ra, 4($sp)
|
||||
addi $sp, $sp, 4
|
||||
jr $ra
|
||||
min:
|
||||
addi $sp, $sp, -4
|
||||
sw $ra, 4($sp)
|
||||
move $s1, $a0
|
||||
bgt $a1, $s1, min1
|
||||
move $s1, $a1
|
||||
min1: bgt $a2, $s1, min2
|
||||
move $s1, $a2
|
||||
min2: lw $ra, 4($sp)
|
||||
addi $sp, $sp, 4
|
||||
jr $ra
|
||||
@@ -0,0 +1,12 @@
|
||||
addi $a0, $zero, 10
|
||||
addi $a1, $zero, 0
|
||||
add $a2, $zero, $zero
|
||||
loop:
|
||||
beq $a0, $a1, exit
|
||||
add $a2, $a2, $a1
|
||||
addi $a1, $a1, 1
|
||||
j loop
|
||||
exit:
|
||||
#a) 45
|
||||
#b) 44
|
||||
#c) 0x10040018
|
||||
Reference in New Issue
Block a user