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