Зміст 
   Введення 
  Дослідження WinAPI функцій 
  Висновок 
  Бібліографічний список 
  Програми 
 Введення
 
 Метою даного курсового проекту є поглиблення і закріплення знань, отриманих з дисципліни "Системне програмне забезпечення ", формування досвіду створення програм з використанням програмного продукту Turbo Assembler. 
  Головною ж перевагою мови асемблера, на відміну від мов типу Pascal або C, є те, що майстерний програміст, як правило, здатний написати ефективнішу програму на асемблері, ніж ті, що генеруються трансляторами з мов програмування високого рівня. Тобто для програм на асемблері характерне використання меншої кількості команд і звернень в пам'ять, що дозволяє збільшити швидкість і зменшити розмір програми. 
  Однак, в силу своєї машинної орієнтації ("низького" рівня) людині у порівнянні з мовами програмування високого рівня складніше читати і розуміти програму, вона складається з дуже "дрібних" елементів - машинних команд, відповідно ускладнюються програмування і налагодження, зростає трудомісткість, велика ймовірність внесення помилок. В значній мірі зростає складність спільної розробки. 
  
 
Дослідження WinAPI функцій
 
 Функція LoadIcon 
  завантажувати поіменований pесуpсов піктогpамми. 
  У разі успішного завершення - идентификатоp піктогpамми; 0 - в іншому разі,. 
  Функція LoadCursor 
  завантажувати поіменований pесуpсов куpсоpа. 
  У разі успішного завершення - идентификатоp куpсоpа; 0 - якщо куpсоp не знайдене, не опpеделено, якщо pесуpсов не є pесуpсов куpсоpа. 
  Функція RegisterClassEx 
  Регістpіpует клас вікна, атрибути котоpого опpеделена параметром WndClassEx, для подальшого використання. Клас вікна може pегістpіpоваться тільки один pаз. p> Функція ShowWindow 
  Отобpажает або пpячется вікно обpазом, зазначеним параметром CmdShow. 
  Функція GetMessage 
  Зчитує повідомлення, в pамках діапазону фильтpация, з очеpеди повідомлень прикладні завдання. Залишає упpавление дpугим прикладні завданням, якщо повідомлень немає або якщо наступним сполученням є wm_Paint або wm_Timer. 
  Функція DefWindowProc 
  Забезпечує стандаpтной обpаботку повідомлень для повідомлень, які явно не оброблятися прикладні завданням. 
  возвpащаемся значення: результат обpаботки повідомлення. 
  
 
Висновок
 
 У ході виконання даної курсової роботи були отримані практичні навички з програмування в Win32 API. Була реалізована програма на низкоуровневом мові Асемблер в EXE-форматі з використанням програмного продукту Turbo Assembler, яка задовольняє вимогам завдання: дана програма здійснює виведення повідомлення від клавіатури в своє вікно. 
  
 
Бібліографічний список
 
 1. Методичні вказівки до лабораторного практикуму/В.П. Кулюкін. Єкатеринбург: вид. ІПК УГТУ, 2004. - 40с. p> 2. Лабораторний практикум з дисципліни "Системне програмне забезпечення "/ Уфимские. держ. авіац. техн. ун-т. Упоряд.: О.Д. Лянцев. - Уфа, 2008. - 57 с. p> 3. Калашников О.А. Асемблер? Це просто! Вчимося програмувати. СПб.: БХВ-Петербург, 2006. - 384 с.: Іл. p> 4. Абель П. Асемблер. Мова та програмування для IBM PC/Пер. з англ. - К.: Століття +, М.: ентропія, 2005. - 736 с. b> 
 
Програми
 
 Додаток А - Вихідний текст програми 
   .586 
 . model flat, stdcall 
  extern GetModuleHandleA: near 
  extern LoadIconA: near 
  extern LoadCursorA: near 
  extern RegisterClassA: near 
  extern CreateWindowExA: near 
  extern GetMessageA: near 
  extern ShowWindow: near 
				
				
				
				
			  extern UpdateWindow: near 
  extern TranslateMessage: near 
  extern DispatchMessageA: near 
  extern ExitProcess: near 
  extern DefWindowProcA: near 
  extern PostQuitMessage: near 
  extern BeginPaint: near 
  extern EndPaint: near 
  extern TextOutA: near 
  extern SetBkColor: near 
  extern InvalidateRect: near 
  includelib user32. lib 
  includelib kernel32. lib 
  includelib gdi32. lib 
  include windows. inc 
  style equ CS_HREDRAW + CS_VREDRAW + CS_GLOBALCLASS 
  _Data segment 
  hWnd dd 0 
  msg MSG  > p> wc WNDCLASS  > p> pnt PAINTSTRUCT  > p> hInst dd 0 
  TitleName db 'Програма 1', 0 
  ClassName db 'Class32', 0 
  char WPARAM 20h 
  clear db '', 0 
  hdc dd 0 
  _Data ends 
  _Code segment 
  Start: 
  push 0 
  call GetModuleHandleA 
  mov [hInst], eax 
  mov [wc. style], style 
  mov [wc. lpfnWndProc], offset WndProc 
  mov [wc. cbClsExtra], 0 
  mov [wc. cbWndExtra], 0