ЛР13. Обновление ПО для периферий

This commit is contained in:
Andrei Solodovnikov
2024-11-23 17:17:48 +03:00
parent 5797bf3190
commit 001fe2d91e
14 changed files with 63 additions and 62 deletions

View File

@@ -19,15 +19,16 @@ _start:
18: 00100213 li x4 , 0x00000001 # устанавливаем parity_bit
1c: 0040a823 sw x4 , 0x10(x1)
20: 00412823 sw x4 , 0x10(x2)
24: 00100293 li x5 , 0x00000001 # подготавливаем маску прерывания единственного
# (нулевого) входа
28: 30429073 csrw mie, x5 # загружаем маску в регистр маски
2c: 03c00293 la x5, trap_handler # псевдоинструкция la аналогично li загружает число,
30: 00028293 # только в случае la это число является адресом
24: 03c00293 la x5, trap_handler # псевдоинструкция la аналогично li загружает число,
28: 00028293 # только в случае la это число является адресом
# указанного места (адреса обработчика перехвата)
# данная псевдоинструкция будет разбита на две
# инструкции: lui и addi
34: 30529073 csrw mtvec, x5 # устанавливаем вектор прерывания
2c: 30529073 csrw mtvec, x5 # устанавливаем вектор прерывания
30: 000102b7 li x5 , 0x00010000 # подготавливаем маску прерывания единственного
# (нулевого) входа
34: 30429073 csrw mie, x5 # загружаем маску в регистр маски
# Вызов функции main
main:
38: 00000063 beq x0, x0, main # бесконечный цикл, аналогичный while (1);