Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364150
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62792)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21697)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8694)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3463)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20645)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Реферат: Создание программы с использованием программного продукта Turbo Assembler

Название: Создание программы с использованием программного продукта Turbo Assembler
Раздел: Рефераты по информатике, программированию
Тип: реферат Добавлен 09:17:41 26 февраля 2010 Похожие работы
Просмотров: 25 Комментариев: 2 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

Содержание

Введение

Исследование WinAPI функций

Заключение

Библиографический список

Приложения

Введение

Целью данного курсового проекта является углубление и закрепление знаний, полученных по дисциплине "Системное программное обеспечение", формирование опыта создания программ с использованием программного продукта Turbo Assembler.

Главным же преимуществом языка ассемблера, в отличие от языков типа Pascal или C, является то, что искусный программист, как правило, способен написать более эффективную программу на ассемблере, чем те, что генерируются трансляторами с языков программирования высокого уровня. Т.е. для программ на ассемблере характерно использование меньшего количества команд и обращений в память, что позволяет увеличить скорость и уменьшить размер программы.

Однако, в силу своей машинной ориентации ("низкого" уровня) человеку по сравнению с языками программирования высокого уровня сложнее читать и понимать программу, она состоит из слишком "мелких" элементов - машинных команд, соответственно усложняются программирование и отладка, растет трудоемкость, велика вероятность внесения ошибок. В значительной степени возрастает сложность совместной разработки.

Исследование WinAPI функций

Функция LoadIcon

Загpужает поименованный pесуpс пиктогpаммы.

В случае успешного завеpшения - идентификатоp пиктогpаммы; 0 - в пpотивном случае.

Функция LoadCursor

Загpужает поименованный pесуpс куpсоpа.

В случае успешного завеpшения - идентификатоp куpсоpа; 0 - если куpсоp не найден; не опpеделено, если pесуpс не является pесуpсом куpсоpа.

Функция RegisterClassEx

Регистpиpует класс окна, атpибуты котоpого опpеделены паpаметpом WndClassEx, для последующего использования. Класс окна может pегистpиpоваться только один pаз.

Функция ShowWindow

Отобpажает или пpячет окно обpазом, указанным паpаметpом CmdShow.

Функция GetMessage

Считывает сообщение, в pамках диапазона фильтpации, из очеpеди сообщений пpикладной задачи. Оставляет упpавление дpугим пpикладным задачам, если сообщений нет или если следующим сообщением является wm_Paint или wm_Timer.

Функция DefWindowProc

Обеспечивает стандаpтную обpаботку сообщений для сообщений, которые явно не обpабатываются пpикладной задачей.

Возвpащаемое значение: результат обpаботки сообщения.

Заключение

В ходе выполнения данной курсовой работы были получены практические навыки по программированию в Win32 API. Была реализована программа на низкоуровневом языке Ассемблер в EXE-формате с использованием программного продукта Turbo Assembler, удовлетворяющая требованиям задания: данная программа осуществляет вывод сообщения от клавиатуры в свое окно.

Библиографический список

1. Методические указания к лабораторному практикуму /В.П. Кулюкин. Екатеринбург: изд. ИПК УГТУ, 2004. - 40с.

2. Лабораторный практикум по дисциплине "Системное программное обеспечение" / Уфимск. гос. авиац. техн. ун-т. Сост.: О.Д. Лянцев. - Уфа, 2008. - 57 с.

3. Калашников О.А. Ассемблер? Это просто! Учимся программировать. СПб.: БХВ-Петербург, 2006. - 384 с.: ил.

4. Абель П. Ассемблер. Язык и программирование для IBM PC / Пер. с англ. - К.: Век+, М.: ЭНТРОП, 2005. - 736 с.

Приложения

Приложение А - Исходный текст программы

.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 <? >

wc WNDCLASS <? >

pnt PAINTSTRUCT <? >

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

mov eax, [hInst]

mov [wc. hInstance],eax

push IDI_APPLICATION

push 0

call LoadIconA

mov [wc. hIcon],eax

push IDC_CROSS

push 0

call LoadCursorA

mov [wc. hCursor],eax

mov [wc. hbrBackground],0

mov dword ptr [wc. lpszMenuName],0

mov dword ptr [wc. lpszClassName],offset ClassName

push offset wc

call RegisterClassA

push 0

push [hInst]

push 0

push 0

push 400

push 400

push 100

push 100

push WS_OVERLAPPEDWINDOW

push offset TitleName

push offset ClassName

push 0

call CreateWindowExA

cmp eax,0

jz _err

mov [hWnd],eax

push SW_SHOWNORMAL

push [hWnd]

call ShowWindow

push [hWnd]

call UpdateWindow

msg_loop:

push 0

push 0

push 0

push offset msg

call GetMessageA

cmp eax,0

je end_loop

push offset msg

call TranslateMessage

push offset msg

call DispatchMessageA

jmp msg_loop

end_loop:

push [msg. wParam]

call ExitProcess

_err:

jmp end_loop

WndProc proc

push ebp

mov ebp,esp

push ebx

push esi

push edi

cmp dword ptr [ebp+0ch],WM_DESTROY

je wmdestroy

cmp dword ptr [ebp+0ch],WM_CREATE

je wmcreate

cmp dword ptr [ebp+0ch],WM_PAINT

je wmpaint

cmp dword ptr [ebp+0ch],WM_CHAR

je wmchar

jmp defwndproc

wmchar:

push dword ptr [ebp+10h]

pop char

push TRUE

push NULL

push dword ptr [ebp+08h]

call InvalidateRect

wmpaint:

push offset pnt

push dword ptr [ebp+08h]

call BeginPaint

mov hdc,eax

push 5

push offset clear

push 100

push 100

push hdc

call TextOutA

push 1

push offset char

push 100

push 100

push hdc

call TextOutA

push offset pnt

push eax

call EndPaint

mov eax,0

jmp finish

wmcreate:

mov eax,0

jmp finish

defwndproc:

push dword ptr [ebp+14h]

push dword ptr [ebp+10h]

push dword ptr [ebp+0ch]

push dword ptr [ebp+08h]

call DefWindowProcA

jmp finish

wmdestroy:

push 0

call PostQuitMessage

mov eax,0

finish:

pop edi

pop esi

pop ebx

pop ebp

ret 16

WndProc endp

lenstr proc

push ebp

mov ebp,esp

push esi

mov esi,dword ptr [ebp+8]

xor ebx,ebx

lbl1:

cmp byte ptr [esi],0

jz lbl2

inc ebx

inc esi

jmp lbl1

lbl2:

pop esi

pop ebp

ret 4

lenstr endp

_Code ends

end Start

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Где скачать еще рефератов? Здесь: letsdoit777.blogspot.com
Евгений06:42:50 19 марта 2016
Кто еще хочет зарабатывать от 9000 рублей в день "Чистых Денег"? Узнайте как: business1777.blogspot.com ! Cпециально для студентов!
19:49:38 28 ноября 2015

Работы, похожие на Реферат: Создание программы с использованием программного продукта Turbo Assembler

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(150490)
Комментарии (1831)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru       реклама на сайте

Рейтинг@Mail.ru