Библиотека knigago >> Литература по изданиям >> Самиздат, сетевая литература >> Assembler & Win32

Александр Усов - Assembler & Win32

Assembler & Win32
Книга - Assembler & Win32.  Александр Усов  - прочитать полностью в библиотеке КнигаГо
Название:
Assembler & Win32
Александр Усов

Жанр:

Самиздат, сетевая литература, Литература ХX века (эпоха Социальных революций), Assembler, Windows API

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Assembler & Win32"

В статье вкратце рассматриваются вопросы создания Win32-приложений на языке Ассемблер. Приведены конкретные примеры.

Читаем онлайн "Assembler & Win32". [Страница - 3]

назначения: ebx + ecx, она позволяет нам использовать регистр ecx одновременно и как счётчик и как составную часть адреса.

Пример 3. Оконное приложение

Файл dmenu.asm
Ideal

P586

Radix  16

Model  flat


struc  WndClassEx

       cbSize       dd     0

       style        dd     0

       lpfnWndProc  dd     0

       cbClsExtra   dd     0

       cbWndExtra   dd     0

       hInstance    dd     0

       hIcon        dd     0

       hCursor             dd     0

       hbrBackground dd     0

       lpszMenuName dd     0

       lpszClassName dd     0

       hIconSm             dd     0

ends   WndClassEx


struc  Point

       left         dd     0

       top          dd     0

       right        dd     0

       bottom       dd     0           

ends   Point


struc  msgStruc

       hwnd         dd     0

       message             dd     0

       wParam       dd     0

       lParam       dd     0

       time         dd     0

       pt           Point  <>

ends   msgStruc


MyMenu              = 0065

ID_OPEN                    = 9C41

ID_SAVE                    = 9C42

ID_EXIT                    = 9C43


CS_VREDRAW          = 0001

CS_HREDRAW          = 0002

IDI_APPLICATION            = 7F00

IDC_ARROW           = 7F00

COLOR_WINDOW        = 5

WS_EX_WINDOWEDGE    = 00000100

WS_EX_CLIENTEDGE    = 00000200

WS_EX_OVERLAPPEDWINDOW     = WS_EX_WINDOWEDGE OR WS_EX_CLIENTEDGE

WS_OVERLAPPED       = 00000000

WS_CAPTION          = 00C00000

WS_SYSMENU          = 00080000

WS_THICKFRAME       = 00040000

WS_MINIMIZEBOX             = 00020000

WS_MAXIMIZEBOX             = 00010000

WS_OVERLAPPEDWINDOW =      WS_OVERLAPPED     OR \

                           WS_CAPTION        OR \

                           WS_SYSMENU        OR \

                           WS_THICKFRAME     OR \

                           WS_MINIMIZEBOX    OR \

                           WS_MAXIMIZEBOX

CW_USEDEFAULT       = 80000000

SW_SHOW                    = 5

WM_COMMAND          = 0111

WM_DESTROY          = 0002

WM_CLOSE            = 0010

MB_OK               = 0


PROCTYPE     ptGetModuleHandle   stdcall      \

                    lpModuleName :dword


PROCTYPE     ptLoadIcon          stdcall      \

                    hInstance    :dword,      \

                    lpIconName   :dword


PROCTYPE     ptLoadCursor        stdcall      \

                    hInstance    :dword,      \

                    lpCursorName :dword


PROCTYPE     ptLoadMenu          stdcall      \

                    hInstance    :dword,      \

                    lpMenuName   :dword


PROCTYPE     ptRegisterClassEx   stdcall      \

                    lpwcx        :dword


PROCTYPE     ptCreateWindowEx    stdcall      \

                    dwExStyle    :dword,      \

                    lpClassName  :dword,      \

                    lpWindowName :dword,      \

                    dwStyle             :dword,      \

                    x            :dword, \

                    y            :dword,      \

                    nWidth       :dword,      \

                    nHeight             :dword,      \

                    hWndParent   :dword,      \

                    hMenu        :dword, \

                    hInstance    :dword,      \

                    lpParam             :dword


PROCTYPE     ptShowWindow        stdcall      \

                    hWnd         :dword,      \

                    nCmdShow     :dword


PROCTYPE     ptUpdateWindow             stdcall      \

                    hWnd         :dword


PROCTYPE     ptGetMessage        stdcall      \

                    pMsg         :dword,      \

                    hWnd         :dword,      \

                    wMsgFilterMin :dword,      \

                    wMsgFilterMax :dword


PROCTYPE     ptTranslateMessage  stdcall      \

                    lpMsg        :dword


PROCTYPE     ptDispatchMessage   stdcall      \

                    pmsg         :dword


PROCTYPE     ptSetMenu           stdcall      \

                    hWnd         :dword,      \

                    hMenu        :dword


PROCTYPE     ptPostQuitMessage   stdcall      \

                    nExitCode    :dword


PROCTYPE     ptDefWindowProc            stdcall      \

                    hWnd         :dword,      \

                    Msg          :dword,      \

                    wParam       :dword,      \

                    lParam       :dword


PROCTYPE     ptSendMessage       stdcall      \

                    hWnd         :dword,      \

                    Msg          :dword,      \

                    wParam       :dword,      \

                    lParam       :dword

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.