/p>
model flat, stdcall
option casemap: none
X byte 0 ; 8-піновий роз'єм 1
Y byte 0 ; 8-піновий роз'єм 2
Z byte 0; 8-піновий роз'єм 3
R byte 1; кнопки брелка (скидання-1, охорона-2)
OutHandle DWORD 0 ; дескриптор стандартного пристрою виводу
InHandle DWORD 0 ; дескриптор стандартного пристрою введення
BytesWritten DWORD? ; число виведених байтів
BytesRead DWORD? ; число введених байтів
InBuffer BYTE? ; однобайтовий буфер введення
Mode DWORD? ; режим роботи клавіатури
M byte? byte В«SBROSВ» byte В«ProtectВ» byte В«ALARMВ» DWORD 100h; частота звуку в герцах (від 25h до 7FFFh)
dwDuration DWORD 3E8h; тривалість звуку в мілісекундах (1 сек. = 3E8h)
:
; - Визначення дескрипторів-GetStdHandle, STD_OUTPUT_HANDLEOutHandle, eaxGetStdHandle, STD_INPUT_HANDLEInHandle, eax
; - Виведення на екран початкового состоний при запуску -
BEGIN: eax, 000C0027hSetConsoleCursorPosition, OutHandle, eax ; установка курсораWriteConsole, OutHandle, offset L, lengthof L, offset BytesWritten, 0Beep, 900h , 3E8h/6Beep, 24h, 3E8h/32Beep, 950h, 3E8h/6Beep, 24h, 3E8h/32Beep, 530h, 3E8h/6Beep, 24h, 3E8h/8
Beep, 100h, 3E8h/6Beep, 24h, 3E8h/32Beep, 200h, 3E8h/6Beep, 24h, 3E8h/32Beep, 400h, 3E8h/6Beep, 24h, 3E8h/32 b>
; - Керуючий алгоритм -
Opros:
Call ReadSensors
; - Виведення на екран слова В«СкиданняВ» -
; - Перевірка чи натиснута клавіша В«ОВ» -
cmp R, 1PROTECT
;-eax, 000C0027hSetConsoleCursorPosition, OutHandle, eax ; установка курсораWriteConsole, OutHandle, offset L, lengthof L, offset BytesWritten, 0X, 0Y , 0Z, 0Beep, 930h, 3E8h/6Beep, 24h, 3E8h/16Beep, 950h, 3E8h/6
Opros
; - Виведення на екран слова В«ProtectВ» -