Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






BACKGROUND_INTENSITY equ 80h

BACKGROUND_RED equ 40h

BACKGROUND_GREEN equ 20h

BACKGROUND_BLUE equ 10h

FOREGROUND_INTENSITY equ 8h

FOREGROUND_RED equ 4h

FOREGROUND_GREEN equ 2h

FOREGROUND_BLUE equ 1h

STD_INPUT_HANDLE equ -10

STD_OUTPUT_HANDLE equ -11

JMP FINISH

PUSH OFFSET STRCOPY

PUSH OFFSET CAP

ADD ESP,32

CALL wsprintfA

PUSH OFFSET STRCOPY

PUSH OFFSET TIM

PUSH EAX

MOVZX EAX,DATA.wYear

PUSH EAX

MOVZX EAX,DATA.wMonth

PUSH EAX

MOVZX EAX,DATA.wDay

PUSH EAX

MOVZX EAX,DATA.wHour

PUSH EAX

MOVZX EAX, DATA.wMinute

PUSH EAX

MOVZX EAX, DATA.wSecond

PUSH OFFSET DATA

JMP FINISH

MOV HWNDBTN2, EAX

PUSH 0

PUSH OFFSET CLSBUTN

PUSH OFFSET CPBUT2

PUSH STYLBTN

PUSH 150

PUSH 100

PUSH 50

PUSH 20

PUSH 0

PUSH 0

MOV HWNDBTN, EAX

PUSH 0

PUSH OFFSET CLSBUTN

PUSH OFFSET CPBUT

PUSH STYLBTN

PUSH 150

PUSH 150

PUSH 50

PUSH 20

PUSH 0

PUSH 0

JE TIME

CMP EAX, HWNDBTN2

JE WMDESTROY

CMP EAX, HWNDBTN

NEWHWND DD 0

END START

WNDPROC ENDP

RET 16

POP EBP

POP EBX

POP ESI

POP EDI

MOV EAX, 0

PUSH 0

JMP FINISH

JMP FINISH

MOV EAX, 0

JMP FINISH

MOV EAX, 0

PUSH OFFSET MES1

PUSH OFFSET CAP

JMP WMDESTROY

JMP DEFWNDPROC

JE RBUTTON

JE LBUTTON

JE WMCREATE

CMP DWORD PTR [EBP+0CH],WM_LBUTTONDOWN

CMP DWORD PTR [EBP+0CH],WM_RBUTTONDOWN

;натиснення правої кнопки приводить до закриття вікна додатку

RBUTTON:

;натиснення лівої кнопки приводить до появи вікна повідомлення

LBUTTON:

PUSH 0;MB_OK

PUSH DWORD PTR [EBP+08H]

CALL MessageBoxA@16

WMCREATE:

DEFWNDPROC:

PUSH DWORD PTR [EBP+14H]

PUSH DWORD PTR [EBP+10H]

PUSH DWORD PTR [EBP+0CH]

PUSH DWORD PTR [EBP+08H]

CALL DefWindowProcA@16

WMDESTROY:

CALL PostQuitMessage@4;повідомлення WM_QUIT

FINISH:

_TEXT ENDS

 

;сегмент даних

_DATA SEGMENT DWORD PUBLIC USE32 'DATA'

MSG MSGSTRUCT <?>

WC WNDCLASS <?>

HINST DD 0 ;дескриптор додатку

TITLENAME DB 'Простеньке вікно', 0

CLASSNAME DB 'CLASS32', 0

CAP DB 'Повідомлення', 0

MES1 DB 'Ви натиснули ліву кнопку мишки', 0

MES2 DB 'Вихід з програми', 0

MES3 DB 'Ви натиснули праву кнопку мишки', 0

CPBUT DB 'Вихід', 0 ; ім‘я вікна

CPBUT2 DB 'Час', 0 ; ім‘я вікна

TIM DB "Дата %u/%u/%u Час %u:%u:%u",0

DATA SYSTEMTIME <?>

STRCOPY DB 200 DUP(?)

CLSBUTN DB 'BUTTON', 0 ; ім‘я класу

HWNDBTN2 DD 0; змінна для дескриптора кнопки

HWNDBTN DD 0; змінна для дескриптора кнопки

_DATA ENDS

WMCOMMAND:

MOV EAX, [EBP+14H]

WMCREATE:

PUSH [HINST]

PUSH [EBP+08H]

CALL CreateWindowExA@48

PUSH [HINST]

PUSH [EBP+08H]

CALL CreateWindowExA@48

TIME:

;ініціалізація таймера

CALL GetLocalTime@4

;Передати локальний час

;Відновити стек

;Вивід кнопки

PUSH 0 ;MB_OK

PUSH DWORD PTR [EBP+08H]

CALL MessageBoxA@16

; константи

; атрибути кольорів

COL1 = 1h+2h+8h+10h; колір текста, який вводиться

COL2 = 4h+2h+8h+40h; цвет текста, який виводиться

; прототипи зовнішніх процедур

EXTERN GetStdHandle@4:NEAR

; директиви для подключення бібліотек

includelib c:\masm32\lib\user32.lib

includelib c:\masm32\lib\kernel32.lib

include c:\masm32\include\kernel32.inc

includelib c:\masm32\lib\kernel32.lib

;------------------------------------------------------------




Переглядів: 723

<== попередня сторінка | наступна сторінка ==>
JE WMDESTROY | ENTER 0,0

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.007 сек.