- •Цели и задачи производственнойпрактики
- •Иметь практическийопыт:
- •Организация производственнойпрактики
- •Сроки проведенияпрактики.
- •Базы практики
- •Обязанности руководителейпрактики
- •Оформление результатов практики
- •Содержаниепрактики
- •Структура и содержание отчета по производственнойпрактике
- •7.Содержание основной частиотчета
- •Календарный план прохожденияпрактики
- •Анализ простой программы наАссемблере.
- •Кодпрограммы:
- •Задания на производственнуюпрактику.
- •Анализ простой программы наАссемблере.
- •Анализ программы редакторатекста.
- •Анализ программы управления диалоговымиокнами.
- •Анализ программы управления аппаратной частьюПк.
- •Анализ программы моделированияграфики.
- •Требования коформлению
- •Порядок проведения зачета по производственнойпрактике
- •10.Перечень рекомендуемыхисточниковОсновныеисточники:
- •Дополнительныеисточники:
- •Интернет–ресурсы:
- •Задание на производственную практикупо
- •Оборудования
- •Последовательность прохожденияпроизводственнойпрактики
Анализ программы управления диалоговымиокнами.
Видыработ:
изучить программу наАссемблере;
провести анализ структурыпрограммы;
провести анализ операторовпрограммы;
ознакомиться с возможным использованием операторовпрограммногокода.
Задание1.Проанализировать программу,написанную на ассемблереидобавить комментарии к каждойстрочке.
format PEGUI4.0entrystart
include'win32a.inc'ID_CAPTION =101
ID_MESSAGE =102
ID_ICONERROR = 201
ID_ICONINFORMATION =202
ID_ICONQUESTION =203
ID_ICONWARNING =204
ID_TOPMOST =301
section '.text' code readableexecutablestart:
invokeGetModuleHandle,0
invokeDialogBoxParam,eax,37,HWND_DESKTOP,DialogProc,0or eax,eax
jz exit
invokeMessageBox,HWND_DESKTOP,message,caption,[flags]exit:
invokeExitProcess,0
proc DialogProchwnddlg,msg,wparam,lparampush ebxesiedi
cmp [msg],WM_INITDIALOGje .wminitdialog
cmp [msg],WM_COMMANDje .wmcommand
cmp [msg],WM_CLOSEje .wmclose
xor eax,eax
jmp .finish
.wminitdialog:
invokeCheckRadioButton,[hwnddlg],ID_ICONERROR,ID_ICONWARNING,ID_ICONINFORMATION
jmp .processed
.wmcommand:
cmp [wparam],BN_CLICKED shl 16 +IDCANCELje .wmclose
cmp [wparam],BN_CLICKED shl 16 +IDOKjne .processed
invokeGetDlgItemText,[hwnddlg],ID_CAPTION,caption,40hinvokeGetDlgItemText,[hwnddlg],ID_MESSAGE,message,100hmov [flags],MB_OK
invokeIsDlgButtonChecked,[hwnddlg],ID_ICONERRORcmp eax,BST_CHECKED
jne .iconerror_ok
or [flags],MB_ICONERROR
.iconerror_ok:
invokeIsDlgButtonChecked,[hwnddlg],ID_ICONINFORMATIONcmp eax,BST_CHECKED
jne .iconinformation_ok
or [flags],MB_ICONINFORMATION
.iconinformation_ok:
invokeIsDlgButtonChecked,[hwnddlg],ID_ICONQUESTIONcmp eax,BST_CHECKED
jne .iconquestion_ok
or [flags],MB_ICONQUESTION
.iconquestion_ok:
invokeIsDlgButtonChecked,[hwnddlg],ID_ICONWARNINGcmp eax,BST_CHECKED
jne .iconwarning_ok
or [flags],MB_ICONWARNING
.iconwarning_ok:
invokeIsDlgButtonChecked,[hwnddlg],ID_TOPMOSTcmp eax,BST_CHECKED
jne .topmost_ok
or [flags],MB_TOPMOST
.topmost_ok:
invokeEndDialog,[hwnddlg],1jmp .processed
.wmclose:
invokeEndDialog,[hwnddlg],0
.processed:
mov eax,1
.finish:
pop ediesiebxret
endp
section '.bss' readablewriteableflags dd?
caption rb40h
message rb100h
section '.idata' import data readablewriteablelibrarykernel,'KERNEL32.DLL',\
user,'USER32.DLL'
importkernel,\GetModuleHandle,'GetModuleHandleA',\ExitProcess,'ExitProcess'
importuser,\
DialogBoxParam,'DialogBoxParamA',\CheckRadioButton,'CheckRadioButton',\GetDlgItemText,'GetDlgItemTextA',\IsDlgButtonChecked,'IsDlgButtonChecked',\MessageBox,'MessageBoxA',\EndDialog,'EndDialog'
section '.rsrc' resource datareadabledirectoryRT_DIALOG,dialogsresourcedialogs,\
37,LANG_ENGLISH+SUBLANG_DEFAULT,demonstration
dialogdemonstration,'Createmessagebox',70,70,190,175,WS_CAPTION+WS_POPUP+WS_SYSMENU+DS_MODALFRAME
dialogitem'STATIC','&Caption:',-1,10,10,70,8,WS_VISIBLEdialogitem
'EDIT','',ID_CAPTION,10,20,170,13,WS_VISIBLE+WS_BORDER+WS_TABSTOP
dialogitem'STATIC','&Message:',-1,10,40,70,8,WS_VISIBLEdialogitem
'EDIT','',ID_MESSAGE,10,50,170,13,WS_VISIBLE+WS_BORDER+WS_TABSTOP+ES_AUTOHSCROLL
dialogitem'BUTTON','&Icon',-1,10,70,80,70,WS_VISIBLE+BS_GROUPBOX
dialogitem'BUTTON','&Error',ID_ICONERROR,20,82,60,13,WS_VISIBLE+BS_AUTORADIOBUTTON
+WS_TABSTOP+WS_GROUP
dialogitem'BUTTON','I&nformation',ID_ICONINFORMATION,20,95,60,13,WS_VISIBLE+BS_AUTORADIOBUTTON
dialogitem'BUTTON','&Question',ID_ICONQUESTION,20,108,60,13,WS_VISIBLE+BS_AUTORADIOBUTTON
dialogitem'BUTTON','&Warning',ID_ICONWARNING,20,121,60,13,WS_VISIBLE+BS_AUTORADIOBUTTON
dialogitem'BUTTON','&Style',-1,100,70,80,70,WS_VISIBLE+BS_GROUPBOX
dialogitem'BUTTON','&Topmost',ID_TOPMOST,110,82,60,13,WS_VISIBLE+WS_TABSTOP+BS_AUTOCHECKBOX
dialogitem'BUTTON','OK',IDOK,85,150,45,15,WS_VISIBLE+WS_TABSTOP+BS_DEFPUSHBUTTON
dialogitem'BUTTON','C&ancel',IDCANCEL,135,150,45,15,WS_VISIBLE+WS_TABSTOP+BS_PUSHBUTTON
enddialog
Задание2.Оформитьотчет.
