diff --git a/Labs/12. Peripheral units/firmware/software/ps2_vga.S b/Labs/12. Peripheral units/firmware/software/ps2_vga.S index 5b0b99d..67e6ee8 100644 --- a/Labs/12. Peripheral units/firmware/software/ps2_vga.S +++ b/Labs/12. Peripheral units/firmware/software/ps2_vga.S @@ -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 \ No newline at end of file +40: 30200073 mret