ЛР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

@@ -14,15 +14,15 @@ _start:
4: 02000137 li x2 , 0x02000000 # сохраняем базовый адрес led-контроллера
8: 0e000193 li x3 , 0x000000e0 # сохраняем сканкод e0
0с: 00000593 li x11, 0x00000000 # сохраняем ноль
10: 00100293 li x5 , 0x00000001 # подготавливаем маску прерывания единственного
# (нулевого) входа
14: 30429073 csrw mie, x5 # загружаем маску в регистр маски
18: 02800293 la x5, trap_handler # псевдоинструкция la аналогично li загружает число,
1c: 00028293 # только в случае la это число является адресом
10: 02800293 la x5, trap_handler # псевдоинструкция la аналогично li загружает число,
14: 00028293 # только в случае la это число является адресом
# указанного места (адреса обработчика перехвата)
# данная псевдоинструкция будет разбита на две
# инструкции: lui и addi
20: 30529073 csrw mtvec, x5 # устанавливаем вектор прерывания
18: 30529073 csrw mtvec, x5 # устанавливаем вектор прерывания
1c: 000102b7 li x5 , 0x00010000 # подготавливаем маску прерывания единственного
# (нулевого) входа
20: 30429073 csrw mie, x5 # загружаем маску в регистр маски
# Вызов функции main
main: