Список использованных источников
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.