first commit
This commit is contained in:
commit
99f66716b4
4 files changed
+96
No files matched your search
@@ -0,0 +1,13 @@
|
|||||||
|
# Практические работы по RISC-V
|
||||||
|
|
||||||
|
ФИО: Васильев Александр Олегович
|
||||||
|
Группа: М3О-118СВ-26
|
||||||
|
|
||||||
|
## Запуск в терминале
|
||||||
|
|
||||||
|
```bash
|
||||||
|
java -jar rars.jar pz1.s
|
||||||
|
java -jar rars.jar pz2.s
|
||||||
|
java -jar rars.jar pz3.s
|
||||||
|
```
|
||||||
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# Напишите программу на ассемблере RISC-V ,
|
||||||
|
# которая принимает на вход целое число x и выводит 1,
|
||||||
|
# если оно соответствует номеру студента в списке группы
|
||||||
|
# и 0, если не совпадает.
|
||||||
|
|
||||||
|
.text
|
||||||
|
.globl main
|
||||||
|
main:
|
||||||
|
li a7, 5
|
||||||
|
ecall
|
||||||
|
|
||||||
|
addi a0, a0, -3
|
||||||
|
seqz a0, a0
|
||||||
|
li a7, 1
|
||||||
|
ecall
|
||||||
|
|
||||||
|
exit:
|
||||||
|
li a7, 10
|
||||||
|
ecall
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
# Напишите программу на ассемблере RISC-V,
|
||||||
|
# которая принимает на вход целое число x и
|
||||||
|
# выводит все значения в диапазоне min(x, y)...max(x, y) с шагом h.
|
||||||
|
# Где y – номер группы, h – номер студента в группе.
|
||||||
|
|
||||||
|
.eqv y, 118
|
||||||
|
.eqv h, 3
|
||||||
|
.text
|
||||||
|
.globl main
|
||||||
|
|
||||||
|
main:
|
||||||
|
li a7, 5
|
||||||
|
ecall
|
||||||
|
mv t0, a0
|
||||||
|
li t1, y
|
||||||
|
li t3, h
|
||||||
|
ble t0, t1, loop
|
||||||
|
mv t2, t0
|
||||||
|
mv t0, t1
|
||||||
|
mv t1, t2
|
||||||
|
|
||||||
|
loop:
|
||||||
|
mv a0, t0
|
||||||
|
li a7, 1
|
||||||
|
ecall
|
||||||
|
li a0, 32
|
||||||
|
li a7, 11
|
||||||
|
ecall
|
||||||
|
sub t2, t1, t0
|
||||||
|
bltu t2, t3, exit
|
||||||
|
add t0, t0, t3
|
||||||
|
j loop
|
||||||
|
exit:
|
||||||
|
li a7, 10
|
||||||
|
ecall
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
# Напишите программу на ассемблере RISC-V,
|
||||||
|
# которая заполняет массив из 16+n целых чисел значениями
|
||||||
|
# из стандартного ввода. Программа считывает значения в цикле
|
||||||
|
# и завершает чтение, когда считаны все 16+n значения или
|
||||||
|
# когда считано значение 0 (n – номер студента в группе)
|
||||||
|
|
||||||
|
.eqv n, 3
|
||||||
|
.data
|
||||||
|
array: .space 76
|
||||||
|
.text
|
||||||
|
.globl main
|
||||||
|
|
||||||
|
main:
|
||||||
|
la t0, array
|
||||||
|
li t1, 16
|
||||||
|
addi t1, t1, n
|
||||||
|
|
||||||
|
loop:
|
||||||
|
li a7, 5
|
||||||
|
ecall
|
||||||
|
beqz a0, exit
|
||||||
|
sw a0, 0(t0)
|
||||||
|
addi t0, t0, 4
|
||||||
|
addi t1, t1, -1
|
||||||
|
bnez t1, loop
|
||||||
|
|
||||||
|
exit:
|
||||||
|
li a7, 10
|
||||||
|
ecall
|
||||||
Reference in new issue
Block a user