Skip to content

Commit

Permalink
menu-lib
Browse files Browse the repository at this point in the history
  • Loading branch information
frstudent committed Jan 15, 2024
1 parent 797d480 commit 7a71f77
Show file tree
Hide file tree
Showing 3 changed files with 269 additions and 154 deletions.
6 changes: 3 additions & 3 deletions lib/asm/emulate/div.asm
Original file line number Diff line number Diff line change
Expand Up @@ -94,14 +94,14 @@ $reg_5 equ 3 ;
$reg_6 equ 4 ;
$reg_7 equ 5 ;
$reg_8 equ 6 ;
$reg_15 equ 7 ;
$reg_ret equ 7 ;

assign r14 stack_pointer ; Указатель на вершину стека

function _safe_div64
dec stack_pointer, 16
dec stack_pointer, 16
mov stack_pointer.reg_15, r15
mov stack_pointer.reg_ret, r15
mov stack_pointer.reg_8, r8
mov stack_pointer.reg_7, r7
mov stack_pointer.reg_6, r6
Expand All @@ -115,7 +115,7 @@ function _safe_div64
mov r6, stack_pointer.reg_6
mov r7, stack_pointer.reg_7
mov r8, stack_pointer.reg_8
mov r15, stack_pointer.reg_15
mov r15, stack_pointer.reg_ret
inc stack_pointer, 16
inc stack_pointer, 16
return
Expand Down
23 changes: 12 additions & 11 deletions lib/asm/vga/get_event.asm
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
; Чтение с таймаутом событий клавиатишу или мыши виртуального дисплея
; Выход:
; R0 - время ожидания события в миллисекундах
; Выход:
; R0 - идентификатор события (0 - таймаут)
; Чтение с таймаутом событий клавиатишу или мыши виртуального дисплея
; Выход:
; R0 - время ожидания события в миллисекундах
; Выход:
; R0 - идентификатор события (0 - таймаут)
; R1 - W param
; R2 = L param
;
; Данная функция применима только для эмулятора Slagheap
; Данная функция применима только для эмулятора Slagheap

$window_event_port equ 0xfffeffe4 ; Чтение этого порта блокирует процесс до получения собятия
$window_event_timeout equ 0xfffeffe4 ; Запись в этот порт времени ожидания события
$window_event_port equ 0xfffeffe4 ; Чтение этого порта блокирует процесс до получения собятия
$window_event_timeout equ 0xfffeffe4 ; Запись в этот порт времени ожидания события
$read_Wparam_port equ 0xfffeffe8 ;
$read_Lparam_port equ 0xfffeffec

function _get_event
load r6, $window_event_timeout
mov (r6), r0
; load r0, $vga_window_key_port ; Порт для чтения событий и записи таймаутов - общий
; load r0, $vga_window_key_port ; Порт для чтения событий и записи таймаутов - общий
mov r0, (r6)
or r0, r0
je exit
inc r6, 4 ; Переход на регистр Wparam
inc r6, 4 ; Переход на регистр Wparam
mov r1, (r6)
inc r6, 4 ; Переход на регистр Wparam
inc r6, 4 ; Переход на регистр Wparam
mov r2, (r6)
exit: return
end
Loading

0 comments on commit 7a71f77

Please sign in to comment.