ЛР12. Исправление нумерации адресов в ps2_vga

This commit is contained in:
Andrei Solodovnikov
2023-11-28 23:19:52 +03:00
committed by GitHub
parent be7a0c4e16
commit 2b707a4ba8

View File

@@ -3,11 +3,13 @@ _start:
0: 030000b7 li x1, 0x03000000 # сохраняем базовый адрес клавиатуры
4: 07000137 li x2, 0x07000000 # сохраняем базовый адрес vga-контроллера
8: 070011b7 li x3, 0x07000960 # количество символов на экране
c: 96018193 li x5, 0x00000001 # подготавливаем маску прерывания единственного
10: # (нулевого) входа
c: # данная псевдоинструкция будет разбита на две
# инструкции: lui и addi
10: 96018193 li x5, 0x00000001 # подготавливаем маску прерывания единственного
# (нулевого) входа
14: 00100293 csrw mie, x5 # загружаем маску в регистр маски
18: 30429073 la x5, trap_handler # псевдоинструкция la аналогично li загружает число,
02400293 # только в случае la это число является адресом
# только в случае la это число является адресом
# указанного места (адреса обработчика перехвата)
# данная псевдоинструкция будет разбита на две
# инструкции: lui и addi
@@ -32,4 +34,4 @@ trap_handler:
# что означает возврат в бесконечный цикл
wrap_addr:
3c: 07000137 li x2, 0x07000000 # сохраняем базовый адрес vga-контроллера
40: 30200073 mret
40: 30200073 mret