Історія створення монітора

Основні параметри, що визначають якість LCD-моніторів та екрану. Роздільна здатність дисплея телевізора або монітора персонального комп’ютера. АРІ–програмування в ОС Windows. Опис API функцій які використовуються в програмі для визначення параметрів.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 15.09.2020
Размер файла 1,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

4. Магда Ю.С. Ассемблер для процессоров Intel Pentium. -СПб.: Питер, 2006.

5. Пирогов В.Ю Асемблер для Windows. Изд. 4-е перераб. И доп. - СПб.: БХВ-Петербург, 2007.

6. Пирогов В.Ю. ASSEMBLER. Учебный курс. - М: Издатель Мологачева С.В., Издательство Нолидж, 2001.

7. Рудольф Марек. Ассемблер на примерах. Базовий курс. - СПб: Наука и техника, 2005.

8. Фельдман С.К. Системное программирование на персональном компьютере.

9. Юров В.И Assembler. Практикум. 2-е изд. - СПб.: Питер, 2006.

10. Юров В.И Assembler. Учебник для вузов 2-е изд. - СПб.: Питер, 2003.

Додаток А

монітор комп'ютер windows програмування

.model flat,stdcall

option casemap:none ; case sensitive

include \masm32\include\windows.inc

include \masm32\include\user32.inc

include \masm32\include\gdi32.inc

include \masm32\include\kernel32.inc

include \masm32\include\masm32.inc

includelib \masm32\lib\user32.lib

includelib \masm32\lib\gdi32.lib

includelib \masm32\lib\kernel32.lib

includelib \masm32\lib\masm32.lib

WinMain PROTO:DWORD,:DWORD,:DWORD,:DWORD

WndProc PROTO:DWORD,:DWORD,:DWORD,:DWORD

TopXY PROTO:DWORD,:DWORD

.data

hInstance dd 0

vidModeNum dd 0

nomoreflag dd 0

szClassName db "EnumDisplaySetting

s",0

szDisplayName db "EnumDisplaySettings",0

colorbits db " Color Bit Setting: ",0

pixelwidth db " Screen Pixel Width: ",0

pixelheight db " Screen Pixel Height: ",0

displayfreq db "Monitor Display Freq: ",0

modeindex db " Graphics Mode Index: ",0

ThatsAll db "Thats All Supported Graphic Modes!",0

HowToUse db "Left click mouse bottom to increment graphics mode index.",0

tempbuffer db 128 dup(0)

deviceInfo DISPLAY_DEVICE <>

vidModeInfo DEVMODE <>

lgfnt LOGFONT <14,0,0,0,FW_NORMAL,0,0,0,0,0,0,0,0,"Lucida Conso

.code

start:

invoke GetModuleHandle,0

mov hInstance,eax

invoke WinMain,hInstance,0,0,0

invoke ExitProcess,eax

WinMain proc hInst:DWORD,hPrevInst:DWORD,CmdLine:DWORD,CmdShow:DWORD

LOCAL wc:WNDCLASSEX

LOCAL msg:MSG

LOCAL hWnd:DWORD

LOCAL Wwd:DWORD

LOCAL Wht:DWORD

LOCAL Wtx:DWORD

LOCAL Wty:DWORD

mov wc.cbSize,sizeof WNDCLASSEX

mov wc.style,CS_HREDRAW or CS_VREDRAW or CS_BYTEALIGNWINDOW

mov wc.lpfnWndProc,OFFSET WndProc

mov wc.cbClsExtra,0

mov wc.cbWndExtra,0

mov eax,hInst

mov wc.hInstance,eax

mov wc.hbrBackground,COLOR_WINDOW+1

mov wc.lpszMenuName,0

mov wc.lpszClassName,OFFSET szClassName

invoke LoadIcon,hInstance,500

mov wc.hIcon,eax

invoke LoadCursor,0,IDC_ARROW

mov wc.hCursor,eax

invoke LoadIcon,hInstance,500

mov wc.hIconSm,eax

invoke RegisterClassEx,ADDR wc

mov Wwd,550

mov Wht,250

invoke GetSystemMetrics,SM_CXSCREEN ; get screen width in pixels

invoke TopXY,Wwd,eax

mov Wtx,eax

invoke GetSystemMetrics,SM_CYSCREEN ; get screen height in pixels

invoke TopXY,Wht,eax

mov Wty,eax

invoke CreateWindowEx,WS_EX_OVERLAPPEDWINDOW,

ADDR szClassName,

ADDR szDisplayName,

WS_OVERLAPPEDWINDOW,

Wtx,Wty,Wwd,Wht,

NULL,NULL,

hInstance,NULL

mov hWnd,eax

invoke ShowWindow,hWnd,SW_SHOWNORMAL

invoke UpdateWindow,hWnd

StartLoop:

invoke GetMessage,ADDR msg,0,0,0

cmp eax,0

je ExitLoop

invoke TranslateMessage,ADDR msg

invoke DispatchMessage,ADDR msg

jmp StartLoop

ExitLoop:

mov eax,msg.wParam

ret

WinMain endp

WndProc proc hWin:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD

LOCAL hDC:DWORD

LOCAL hFont:DWORD

LOCAL ps:PAINTSTRUCT

.if uMsg == WM_CREATE

mov deviceInfo.cb,SIZEOF deviceInfo

invoke EnumDisplayDevices,0,0,ADDR deviceInfo,0

mov vidModeInfo.dmSize,SIZEOF vidModeInfo

mov eax,OFFSET [deviceInfo.DeviceName]

invoke EnumDisplaySettings,eax,vidModeNum,ADDR vidModeInfo

.elseif uMsg == WM_LBUTTONDOWN

.if nomoreflag == 0

inc vidModeNum

mov eax,OFFSET [deviceInfo.DeviceName]

invoke EnumDisplaySettings,eax,vidModeNum,ADDR vidModeInfo

.if eax == 0

mov nomoreflag,1

dec vidModeNum

invoke MessageBox,hWin,ADDR ThatsAll,ADDR ThatsAll,MB_OK

.endif

.endif

invoke InvalidateRect,hWin,0,TR

.elseif uMsg == WM_PAINT

invoke BeginPaint,hWin,ADDR ps

mov hDC,eax

invoke CreateFontIndirect,ADDR lgfnt

mov hFont,eax

invoke SelectObject,hDC,hFont

invoke lstrlen,ADDR [deviceInfo.DeviceString]

invoke TextOut,hDC,20,20,ADDR [deviceInfo.DeviceString],eax

push esi

push edi

invoke TextOut,hDC,20,50,ADDR colorbits,22

mov esi,vidModeInfo.dmBitsPerPel

mov edi,OFFSET tempbuffer

invoke dwtoa,esi,edi

invoke lstrlen,ADDR tempbuffer

invoke TextOut,hDC,200,50,ADDR tempbuffer,eax

invoke TextOut,hDC,20,70,ADDR pixelwidth,22

mov esi,vidModeInfo.dmPelsWidth

mov edi,OFFSET tempbuffer

invoke dwtoa,esi,edi

invoke lstrlen,ADDR tempbuffer

invoke TextOut,hDC,200,70,ADDR tempbuffer,eax

invoke TextOut,hDC,20,90,ADDR pixelheight,22

mov esi,vidModeInfo.dmPelsHeight

mov edi,OFFSET tempbuffer

invoke dwtoa,esi,edi

invoke lstrlen,ADDR tempbuffer

invoke TextOut,hDC,200,90,ADDR tempbuffer,eax

invoke TextOut,hDC,20,110,ADDR displayfreq,22

mov esi,vidModeInfo.dmDisplayFrequency

mov edi,OFFSET tempbuffer

invoke dwtoa,esi,edi

invoke lstrlen,ADDR tempbuffer

invoke TextOut,hDC,200,110,ADDR tempbuffer,eax

invoke TextOut,hDC,20,130,ADDR modeindex,22

mov esi,vidModeNum

mov edi,OFFSET tempbuffer

invoke dwtoa,esi,edi

invoke lstrlen,ADDR tempbuffer

invoke TextOut,hDC,200,130,ADDR tempbuffer,eax

pop edi

pop esi

invoke lstrlen,ADDR HowToUse

invoke TextOut,hDC,20,180,ADDR HowToUse,eax

invoke DeleteObject,hFont

invoke EndPaint,hWin,ADDR ps

.elseif uMsg == WM_COMMAND

.elseif uMsg == WM_DESTROY

invoke PostQuitMessage,0

.else

invoke DefWindowProc,hWin,uMsg,wParam,lParam

ret

.endif

xor eax,eax

ret

WndProc endp

TopXY proc wDim:DWORD, sDim:DWORD

shr sDim,1

shr wDim,1

mov eax,wDim

sub sDim,eax

mov eax,sDim

ret

TopXY endp

end start

Размещено на Allbest.ru


Подобные документы

  • Основні блоки персонального комп'ютера та їх значення. Варіанти організації внутрішньомашиного інтерфейсу. Функціональна схема мікропроцесору. Види запам'ятовуючих пристроїв. Послідовність роботи блоків комп'ютера. Основні зовнішні та внутрішні пристрої.

    курсовая работа [346,8 K], добавлен 05.01.2014

  • Поняття та призначення технології скрінкастінгу. Огляд програм та сервісів для запису відео з екрану монітора. Основні концепції створення додатків у середовищі Wіndows. Особливості написання програм у середовищі Delphі. Програмна реалізація системи.

    дипломная работа [8,5 M], добавлен 22.10.2012

  • Системний блок як корпус, який містить основні компоненти персонального комп’ютера. Коротка характеристика головних зовнішніх та внутрішніх пристроїв персонального комп’ютера. Послідовність операцій при обтиску та обробленні роз'єму "витої пари".

    лабораторная работа [1,7 M], добавлен 02.06.2011

  • Загальна характеристика катодно-променевих моніторів, типи масок, принципи управління електронно-променевою трубкою. Історія розвитку рідкокристалічних моніторів та особливості їх роботи. Технологія виробництва плазмових екранів та їх параметри.

    реферат [31,1 K], добавлен 31.01.2011

  • Поняття комп'ютеру як універсальної технічної системи, спроможної виконувати визначену послідовність операцій певної програми. Програмні засоби, за допомогою яких визначають основні характеристики ПК. Утіліта EVEREST Home Edition 1.51, її призначення.

    контрольная работа [403,0 K], добавлен 01.12.2009

  • Постановка задачі: створення списку співробітників інституту. Аналіз мов програмування та вибір мови PascalABC.Net - 32-розрядної програми, яка може працювати на сучасних версіях Windows. Опис функцій та процедур, реалізації інтерфейсу користувача.

    курсовая работа [277,8 K], добавлен 25.06.2015

  • Синтез на основі поведінкового опису, виконаний розробниками на мові програмування класу HDL, як перспективний напрямок проектування цифрових пристроїв. Опис RISC-архітектури комп'ютерів. VHDL-модель прототипу RISC-комп'ютера. Основні модулі моделей.

    курсовая работа [1,1 M], добавлен 23.01.2014

  • Режими роботи з таблицями в Microsoft Access. Основні способи створення таблиць. Вимоги до технічних характеристик комп'ютера. Створення бази даних. Техніка безпеки та основні правила при виконанні робіт на комп'ютері. Порядок архівування роботи.

    реферат [1,5 M], добавлен 23.12.2010

  • Позитивні якості та недоліки плазмових моніторів. Сутність плазмового ефекту. Технологія капсульованого колірного фільтра та інші ноу-хау. Побудова та принцип роботи рідкокристалічного монітора. Функціональні можливості LCD-дисплеїв з активною матрицею.

    реферат [22,0 K], добавлен 24.11.2010

  • У наш час Windows ХР є найбільш сучасною настольною операційною системою. Windows ХР, яка займає серед настольних комп’ютерів долю у 84,56 % вимагає досить потужного комп’ютера. Порівняння інтерфейсу операційних систем Windows 98 та Windows ХР.

    реферат [4,4 M], добавлен 24.06.2008

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.