mirror of
https://github.com/tiennm99/KTMT.git
synced 2026-06-09 04:18:31 +00:00
Update lab 2.1
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
#Data segment
|
||||
.data
|
||||
So1: .word 0
|
||||
So2: .word 0
|
||||
So3: .word 0
|
||||
Ketqua: .word 0
|
||||
#Cac cau nhac nhap du lieu
|
||||
Nhap1: .asciiz "Nhap so thu 1: "
|
||||
Nhap2: .asciiz "Nhap so thu 2: "
|
||||
Nhap3: .asciiz "Nhap so thu 3: "
|
||||
Xuat: .asciiz "Tong cua 3 so la: "
|
||||
#Code segment
|
||||
.text
|
||||
.globl main
|
||||
main:
|
||||
#Nhap 3 so
|
||||
la $a0, Nhap1 #Nhap so thu 1
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 5
|
||||
syscall
|
||||
sw $v0, So1
|
||||
la $a0, Nhap2 #Nhap so thu 2
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 5
|
||||
syscall
|
||||
sw $v0, So2
|
||||
la $a0, Nhap3 #Nhap so thu 3
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 5
|
||||
syscall
|
||||
sw $v0, So3
|
||||
#Xu ly
|
||||
lw $t0, So1
|
||||
lw $t1, So2
|
||||
add $t0, $t0, $t1
|
||||
lw $t1, So3
|
||||
add $t0, $t0, $t1
|
||||
sw $a0, Ketqua
|
||||
#Xuat ket qua
|
||||
la $a0, Xuat
|
||||
li $v0, 4
|
||||
syscall
|
||||
la $a0, 0($t0)
|
||||
li $v0, 1
|
||||
syscall
|
||||
#exit
|
||||
li $v0, 10
|
||||
syscall
|
||||
@@ -0,0 +1,10 @@
|
||||
.data
|
||||
Chuoi: .asciiz "Kien truc may tinh 2017"
|
||||
.text
|
||||
.globl main
|
||||
main:
|
||||
la $a0, Chuoi
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 10
|
||||
syscall
|
||||
@@ -0,0 +1,22 @@
|
||||
.data
|
||||
Chuoi: .space 11
|
||||
Nhap: .asciiz "Nhap chuoi can xuat:\n"
|
||||
Xuat: .asciiz "\nXuat chuoi:\n"
|
||||
.text
|
||||
.globl main
|
||||
main:
|
||||
la $a0, Nhap
|
||||
li $v0, 4
|
||||
syscall
|
||||
la $a0, Chuoi
|
||||
li $a1, 11
|
||||
li $v0, 8
|
||||
syscall
|
||||
la $a0, Xuat
|
||||
li $v0, 4
|
||||
syscall
|
||||
la $a0, Chuoi
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 10
|
||||
syscall
|
||||
@@ -0,0 +1,21 @@
|
||||
.data
|
||||
Const: .word 66000
|
||||
.text
|
||||
.globl main
|
||||
main:
|
||||
lw $t0, Const
|
||||
addi $t0, $t0, 30
|
||||
addi $t0, $t0, 30
|
||||
addi $t0, $t0, 30
|
||||
addi $t0, $t0, 30
|
||||
addi $t0, $t0, 30
|
||||
addi $t0, $t0, 30
|
||||
addi $t0, $t0, 30
|
||||
addi $t0, $t0, 30
|
||||
addi $t0, $t0, 30
|
||||
addi $t0, $t0, 30
|
||||
addi $t0, $t0, -6000
|
||||
addi $t0, $t0, 25
|
||||
ori $s0, $t0, 0
|
||||
li $v0, 10
|
||||
syscall
|
||||
@@ -0,0 +1,16 @@
|
||||
.data
|
||||
Const: .word 66000
|
||||
.text
|
||||
.globl main
|
||||
main:
|
||||
lw $t0, Const
|
||||
li $t1, 30
|
||||
sll $t2, $t1, 3
|
||||
sll $t1, $t1, 1
|
||||
add $t1, $t1, $t2
|
||||
add $t0, $t0, $t1
|
||||
addi $t0, $t0, -6000
|
||||
addi $t0, $t0, 25
|
||||
ori $s0, $t0, 0
|
||||
li $v0, 10
|
||||
syscall
|
||||
@@ -0,0 +1,88 @@
|
||||
.data
|
||||
a: .word 0
|
||||
b: .word 0
|
||||
c: .word 0
|
||||
d: .word 0
|
||||
x: .word 0
|
||||
kq: .word 0
|
||||
nhap_a: .asciiz "Nhap a: "
|
||||
nhap_b: .asciiz "Nhap b: "
|
||||
nhap_c: .asciiz "Nhap c: "
|
||||
nhap_d: .asciiz "Nhap d: "
|
||||
nhap_x: .asciiz "Nhap x: "
|
||||
xuat: .asciiz "Ket qua cua bieu thuc la: "
|
||||
.text
|
||||
.globl main
|
||||
main:
|
||||
#Nhap a
|
||||
la $a0, nhap_a
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 5
|
||||
syscall
|
||||
sw $v0, a
|
||||
#Nhap b
|
||||
la $a0, nhap_b
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 5
|
||||
syscall
|
||||
sw $v0, b
|
||||
#Nhap c
|
||||
la $a0, nhap_c
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 5
|
||||
syscall
|
||||
sw $v0, c
|
||||
#Nhap d
|
||||
la $a0, nhap_d
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 5
|
||||
syscall
|
||||
sw $v0, d
|
||||
#Nhap x
|
||||
la $a0, nhap_x
|
||||
li $v0, 4
|
||||
syscall
|
||||
li $v0, 5
|
||||
syscall
|
||||
sw $v0, x
|
||||
#Xu ly
|
||||
lw $a0, x
|
||||
lw $a1, a
|
||||
jal times
|
||||
ori $s0, $v0, 0
|
||||
lw $a1, b
|
||||
sub $s0, $s0, $a1
|
||||
ori $a1, $s0, 0
|
||||
jal times
|
||||
ori $s0, $v0, 0
|
||||
lw $a1, c
|
||||
sub $s0, $s0, $a1
|
||||
ori $a1, $s0, 0
|
||||
jal times
|
||||
ori $s0, $v0, 0
|
||||
lw $a1, d
|
||||
add $s0, $s0, $a1
|
||||
sw $s0, kq
|
||||
j exit
|
||||
times:
|
||||
ori $t0, $a0, 0
|
||||
li $t1, 0
|
||||
loop: beq $t0, 0, return
|
||||
add $t1, $t1, $a1
|
||||
addi $t0, $t0, -1
|
||||
j loop
|
||||
return: ori $v0, $t1, 0
|
||||
jr $ra
|
||||
exit:
|
||||
la $a0, xuat
|
||||
li $v0, 4
|
||||
syscall
|
||||
lw $a0, kq
|
||||
li $v0, 1
|
||||
syscall
|
||||
li $v0, 10
|
||||
syscall
|
||||
@@ -0,0 +1,18 @@
|
||||
.data
|
||||
array: .word 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
kq: .asciiz "Ket qua la: "
|
||||
.text
|
||||
.globl main
|
||||
main:
|
||||
la $a0, array
|
||||
lw $t0, 12($a0)
|
||||
lw $t1, 24($a0)
|
||||
addu $t0, $t0, $t1
|
||||
la $a0, kq
|
||||
li $v0, 4
|
||||
syscall
|
||||
move $a0, $t0
|
||||
li $v0, 1
|
||||
syscall
|
||||
li $v0, 10
|
||||
syscall
|
||||
@@ -0,0 +1,43 @@
|
||||
.data
|
||||
string: .space 32
|
||||
in: .asciiz "Nhap chuoi can bien doi: "
|
||||
wrong: .asciiz "Chuoi da nhap khong hop le!"
|
||||
out: .asciiz "Chuoi sau khi bien doi la: "
|
||||
.text
|
||||
.globl main
|
||||
main:
|
||||
la $a0, in
|
||||
li $v0, 4
|
||||
syscall
|
||||
la $a0, string
|
||||
li $a1, 32
|
||||
li $v0, 8
|
||||
syscall
|
||||
move $t1, $a0
|
||||
loop:
|
||||
lb $t2, 0($t1)
|
||||
addi $t1, $t1, 1
|
||||
bnez $t2, loop
|
||||
exe:
|
||||
addi $t1, $t1, -3
|
||||
ble $t1, $a0, error
|
||||
lb $t4, 0($a0)
|
||||
lb $t5, 0($t1)
|
||||
sb $t4, 0($t1)
|
||||
sb $t5, 0($a0)
|
||||
j write
|
||||
error:
|
||||
la $a0, wrong
|
||||
li $v0, 4
|
||||
syscall
|
||||
j exit
|
||||
write:
|
||||
la $a0, out
|
||||
li $v0, 4
|
||||
syscall
|
||||
la $a0, string
|
||||
li $v0, 4
|
||||
syscall
|
||||
exit:
|
||||
li $v0, 10
|
||||
syscall
|
||||
Reference in New Issue
Block a user