files
Table/modules/display_d.asm
Mikhail Frolov b3981d174a Table: All editor code files have been added from the flash drive.
The start date of development is September 12, 2024.
2025-03-30 22:56:32 +05:00

83 lines
2.1 KiB
NASM
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

use32 ; включить 32-битный режим ассемблера
org 0 ; адресация с нуля
db 'MENUET01' ; 8-байтный идентификатор MenuetOS
dd 1 ; версия заголовка (1 либо 2, см. док-ю)
dd START ; адрес первой команды
dd I_END ; размер программы
dd MEM ; количество памяти
dd STACKTOP ; адрес вершины стэка
dd DEF_CMDLINE ; адрес буфера для параметров
dd 0 ; под адрес на путь к файлу
include "macros.inc"
; display_d -emul
; display_d
START:
mcall 68, 11
; parse cmdline
cmp dword[DEF_CMDLINE], '-emu'
je start_emul
; start demon for input in serial port
jmp exit
start_emul:
; init shared buffer
mcall 68, 22, SHARED_NAME, 16*2, 8+1
test edx, edx
jnz exit
test eax, eax
jz exit
mov [buff_ptr], eax
mcall 40, 101b ; btn + readraw
.win_draw:
mcall 12, 1
mcall 48, 4
mov ecx, eax
add ecx, 16*2+20
mcall 0, 16*8+2*15, , 0x330f0f0f, 0, title;
mcall 12, 2
.loop:
call draw_info
mcall 23, 100 ; 1s
test eax, eax
jz .loop
dec eax ; rdrw
jz .win_draw
cmp eax, 3-1 ; btn
jne .loop
mcall 17
cmp eax, 1
je .loop
exit:
mcall -1
draw_info:
mov edx, [buff_ptr]
mov ebx, (10 shl 16) + 10
mcall 4, , 0x5000FFFF, , 16, 0x000000FF
add edx, 16
add ebx, 16
mcall 4, , ;0x5000FFFF, , 16, 0x000000FF
ret
title: db 3, 'Эмулятор '
SHARED_NAME: db 'DISPLAY_16_2_D',0
buff_ptr: dd ?
align 16
I_END:
DEF_CMDLINE:
rb 256
align 16
rb 1024; one page
STACKTOP:
align 16
MEM: