Помощь в написании студенческих работ
Антистрессовый сервис

Список использованных источников

РефератПомощь в написанииУзнать стоимостьмоей работы

Call CreateWindowExa, WS_EX_CLIENTEDGE, offset szClassName1,0,. WndProc proc uses ebx edi esi, hwnd: DWORD, wmsg: DWORD,. WS_VISIBLE or WS_CHILD or ES_LEFT OR ES_MULTILINE or. Ws_overlappedwindow, cw_usedefault, cw_usedefault,. Call SendMessageA, WM_SETTEXT, 0, offset Buffer. Call _wsprintfA, offset lpstr, offset lpfor,. Mov, CS_HREDRAW+CS_VREDRAW+CS_GLOBALCLASS. Es_AUTOHSCROLL… Читать ещё >

Список использованных источников (реферат, курсовая, диплом, контрольная)

  • 1. http://av-assembler.ru/
  • 2. Управление памятью: Методические указания к лабораторному практикуму по дисциплинам «Операционные системы», «Системное программное обеспечение» / сост. В. П. Кулюкин. — Екатеринбург: УГТУ-УПИ, 2009.
  • 3. http://habrahabr.ru

Приложение

Листинг программы.

.386.

model flat, STDCALL.

include win32.inc.

extrnBeginPaint:PROC.

extrnCreateWindowExA:PROC.

extrnDefWindowProcA:PROC.

extrnDispatchMessageA:PROC.

extrnEndPaint:PROC.

extrnExitProcess:PROC.

extrnGetMessageA:PROC.

extrnGetModuleHandleA:PROC.

extrnLoadCursorA:PROC.

extrnLoadIconA:PROC.

extrnMessageBoxA:PROC.

extrnPostQuitMessage:PROC.

extrnRegisterClassA:PROC.

extrnShowWindow:PROC.

extrnUpdateWindow:PROC.

extrnSendMessageA:proc.

extrnSetFocus:proc.

extrnGetClientRect:proc.

extrnVirtualQuery:PROC.

extrn_wsprintfA:PROC.

.data.

newhwnddd 0.

lppaintPAINTSTRUCT.

msgMSGSTRUCT.

wcWNDCLASS.

mbiMEMORY_BASIC_INFORMATION.

;начальный базовый адрес области виртуальной памяти.

vbmdd400000h.

rctRECT.

hInstdd0.

szTitleNamedb 'Карта адресного проставнста процесса', 0.

szClassNamedb 'ASMCLASS32', 0.

szClassName1db 'edit', 0.

lpfordb 'Базовый адрес:%#X, Тип %#XБ, Состояние: %#X, Размер: %#X, Атриб_Защиты: %#X', 0.

lpstrdb128 dup (0).

Bufferdb4096 dup (0).

.code.

start:

call GetModuleHandleA, 0.

mov [hInst], eax.

reg_class:

mov [wc.clsStyle], CS_HREDRAW+CS_VREDRAW+CS_GLOBALCLASS.

mov [wc.clsLpfnWndProc], offset WndProc.

mov [wc.clsCbClsExtra], 0.

mov [wc.clsCbWndExtra], 0.

mov eax,[hInst].

mov [wc.clsHInstance], eax.

call LoadIconA, 0, IDI_APPLICATION.

mov [wc.clsHIcon]. eax.

call LOadCursorA, 0, IDC_ARROW.

mov [wc.clsHCursor], eax.

mov [wc.clsHbrBackground], COLOR_WINDOW+1.

mov dword ptr [wc.clsLpszMenuName], 0.

mov dword ptr [wc.clsLpszClassName], offset szClassName.

call RegisterClassA, offset wc.

call CreateWindowExA, 0, offset szClassName, offset szTitleName,.

WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,.

CW_USEDEFAULT, CW_USEDEFAULT, 0,0,[hInst], 0.

mov [newhwnd], eax.

call ShowWindow, [newhwnd], SW_SHOWNORMAL.

call UpdateWindow, [newhwnd].

msg_loop:

call GetMessageA, offset msg, 0,0,0.

cmp ax, 0.

je end_loop.

end_loop:

push [msg.msWPARAM].

call ExitProcess.

WndProc proc uses ebx edi esi, hwnd: DWORD, wmsg: DWORD,.

wparam:DWORD, lparam: DWORD.

LOCAL theDC: DWORD.

cmp [wmsg], WM_DESTROY.

je wmdestroy.

cmp [wmsg], WM_SIZE.

je wmsize.

cmp [wmsg], WM_CREATE.

je wmcreate.

cmp [wmsg], WM_LBUTTONDOWN.

je wmlbuttondown.

cmp [wmsg], WM_PAINT.

je wmpaint.

jmp defwndproc.

wmpaint:

mov eax, 0.

jmp finish.

wmcreate:

call GetClientRect, [hwnd], offset ret.

sub [ret.rcRight], 20.

sub [rct.rcBottom], 20.

call CreateWindowExa, WS_EX_CLIENTEDGE, offset szClassName1,0,.

WS_VISIBLE or WS_CHILD or ES_LEFT OR ES_MULTILINE or.

es_AUTOHSCROLL or ES_AUTOVSCROLL, 0,0,[rct.rcRight],.

[rct.rcBottom],[hwnd], 0,[hInst], 0.

mov [hed], eax.

mov edi, offset Buffer.

cld.

qq4:

mov esi, offset lpstr.

call VirtualQuery, [vbm], offset mbi, size mbi.

call _wsprintfA, offset lpstr, offset lpfor, [mbi.BaseAddress],.

[mbi.lType],[mbi.State],[mbi.RegionSize],[mbi.AllocationProtect].

mov ecx, eax.

rep movsb.

mov [edi], byte ptr 13.

inc edi.

mov [edi], byte ptr 10.

inc edi.

mov ebx,[mbi.RegionSize].

add[vbm], ebx.

cmp [vbm], 7ffff000h.

jb qq4.

mov [edi], byte ptr 0.

call SendMessageA,[hed], WM_SETTEXT, 0, offset Buffer.

call SetFocus,[hed].

mov eax, 0.

jmp finish.

defwndproc:

call DefWindowProcA,[hwnd],[wmsg],[wparam],[lparam].

jmp finish.

wmdestroy:

call PostQuitMessage, 0.

mov eax, 0.

jmp finish.

wmlbuttondown:

call SendMessageA,[newhwnd], WM_DESTROY, 0,0.

mov eax, 0.

jmp finish.

wmsize:

mov eax, 0.

finish:

ret.

WndProc endp.

public WndProc.

end start.

Показать весь текст
Заполнить форму текущей работой