Вход

Использованием подпрограмм для вывода изображений в графических режимах (Assembler, Ассемблер)

Рекомендуемая категория для самостоятельной подготовки:
Контрольная работа*
Код 301172
Дата создания 14 декабря 2013
Страниц 13
Мы сможем обработать ваш заказ (!) 29 марта в 18:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
550руб.
КУПИТЬ

Описание

Лабораторная работа по предмету:
Вычислительные машины, системы и сети.
Программа на ассемблере + отчет
Задание:
Выполнение работы.
1) Получить сведения о видеокарте в соответствии со стандартом VBE 2.0 использую программу VBE.exe. Сведения по возможности получить для видеокарты домашнего компьютера, видеокарты компьютера в компьютерном классе и программно эмулируемой видеокарты утилиты DOSBox.
2) Из списка видеорежимов, поддерживаемых видеокартой, выбрать один, поддерживающий разрешение экрана и количество байт на пиксель согласно варианту. Получить информацию о видеорежиме, требующуюся при работе с ним в реальном режиме.
№ Разрешение Цвет, байт
1 800 x 600 2
2 1024 x 768 2

3) Вывести изображение флага страны. Вывод осуществить в выбранном в пункте 2 видеорежиме.
№ изображения Страна Фла ...

Содержание

1. Постановка задачи
2.Краткие теоретические сведения
3.Выполнение работы
4.Вывод

Введение

Цель работы: использование подпрограмм для вывода изображений в графических режимах.

Фрагмент работы для ознакомления

75 006C EB 0B 90 jmp poisk_0
76 ;Сравнение размера точки
77 006F poisk_2:
78 006F 26: 8A 45 19 mov AL, ES:[DI+19h]
79 0073 3A 06 0004r cmp AL, Pixelcolor
80 0077 74 10 jz step_4
81
82 0079 poisk_0:
83 0079 FF 06 0005r inc Vmode
84 007D B8 0000 mov AX, 00h
85 0080 3B 06 0005r cmp AX, Vmode
86 0084 75 C6 jnz step_3
87 0086 E9 011D jmp ERROR1
88 ;Режим найден, выход из поиска
89 0089 step_4:
90 ;Задание кода режима и установка флагов
91 0089 8B 1E 0005r mov BX, Vmode
92 008D 81 E3 9BFF and BX, 1001101111111111b
93
94
95
96 ;Вызов функции VBE
97 0091 B8 4F02 mov AX, 4F02h
98 0094 CD 10 int 10h
99 ;Проверка статуса возврата функции
100 0096 3D 004F cmp AX, 4Fh
101 0099 74 03 jz step_5
102 009B E9 0108 jmp ERROR1
103 ;Режим успешно установлен
104 009E step_5:
105 ;Адрес начала видеоокна "A"
106 009E 26: 8B 45 08 mov AX, ES:[DI+08h]
107 00A2 A3 021Er mov WinA, AX
108 ;Атрибуты видеокна "B"
109 00A5 26: 8A 45 03 mov AL, ES:[DI+03h]
110 00A9 A2 0220r mov WinB, AL
111
112 ;Размер строки в байтах
113 00AC 26: 8B 45 10 mov AX, ES:[DI+10h]
114 00B0 A3 0223r mov Sline, AX
Turbo Assembler Version 4.1 08/12/10 19:39:47 Page 3
laba9.asm
115 ;Вычисляем размер точки в байтах
116 00B3 33 D2 xor DX, DX
117 00B5 8B 1E 0000r mov BX, Horsize
118 00B9 F7 F3 div BX
119 00BB A3 0225r mov Spixel, AX
120
121 ;подготовка окон
122 00BE A1 021Er mov AX, WinA
123 00C1 8E C0 mov ES, AX
124 00C3 33 FF xor DI, DI
125 ;Переход в цикл программы
126 00C5 EB 45 90 JMP MAIN
127 ; Подпрограмма установки окна Set_Win
128 00C8 Set_Win PROC
129 ;В регистр DX заносится номер окна
130 00C8 8B 16 0227r mov DX, Num_Win
131 ;Регистр BX очищается для установки окна "A"
132 00CC 33 DB xor BX, BX
133 ; Вызов процедуры BIOS
134 00CE B8 4F05 mov AX, 4F05h
135 00D1 CD 10 int 10h
136
137 ;Проверка существования окна "В"
138 00D3 F6 06 0220r 01 test WinB, 01h
139 00D8 74 08 je ResetB
140 ;Установка окна "В"
141 00DA BB 0001 mov BX, 01h
142 00DD B8 4F05 mov AX, 4F05h
143 00E0 CD 10 int 10h
144
145 ;Возврат в программу
146 00E2 ResetB:
147 00E2 C3 ret
148 ;Объявление завершения процедуры
149 00E3 Set_Win endp
150
151 00E3 DrawPoint PROC
152 ;вычисление горизонтальной координаты в байтах
153 00E3 A1 0229r mov AX, x
154 00E6 8B 16 0225r mov DX, Spixel
155 00EA F7 E2 mul DX
156 00EC 8B D8 mov BX, AX
157 ; Вычисление вертикальной координаты в байтах
158 00EE A1 0223r mov AX, Sline
159 00F1 8B 16 022Br mov DX, y
160 00F5 F7 E2 mul DX
161 ;сложение
162 00F7 03 C3 add AX, BX
163 ;проверка и испраление переноса
164 00F9 83 D2 00 adc DX, 0
165 ;Инициализация номера окна и смещения
166 00FC 89 16 0227r mov Num_Win, DX
167 0100 8B F8 mov DI, AX
168 ;вызов подпрограммы установки видеоокна
169 0102 E8 FFC3 CALL Set_Win
170 ;определение цвета точки
171 0105 A1 0231r mov AX, color
Turbo Assembler Version 4.1 08/12/10 19:39:47 Page 4
laba9.asm
172 ;запись точки в видеопамять
173 0108 26: 89 05 mov ES:[DI], AX
174 010B C3 ret
175 010C DrawPoint endp
176
177 010C MAIN: ;дальше рисуем флаг
178
179 ;верхняя красная полоса
180 010C B8 F000 mov AX, 0F000h
181 010F A3 0231r mov color, AX
182 0112 8B 0E 0000r mov CX, Horsize
183 0116 l5:
184 0116 89 0E 0229r mov x, CX
185 011A B9 00C8 mov CX, 200
186 011D l6:
187 011D 89 0E 022Br mov y, CX
188 ; add y, 0
189 0121 E8 FFBF call DrawPoint
190 0124 E2 F7 loop l6
191 0126 8B 0E 0229r mov CX, x
192 012A E2 EA loop l5
193
194 ;центральная белая полоса
195 012C B8 FFFF mov AX, 0FFFFh
196 012F A3 0231r mov color, AX
197 0132 8B 0E 0000r mov CX, Horsize
198 0136 l7:
199 0136 89 0E 0229r mov x, CX
200 013A B9 00C8 mov CX, 200
201 013D l8:
202 013D 89 0E 022Br mov y, CX
203 0141 81 06 022Br 00C8 add y, 200
204 0147 E8 FF99 call DrawPoint
205 014A E2 F1 loop l8
206 014C 8B 0E 0229r mov CX, x
207 0150 E2 E4 loop l7
208
209
210 ;треугольник
211 0152 C7 06 022Dr 0000 mov k,0
212 0158 B8 0F00 mov AX, 0F00h
213 015B A3 0231r mov color, AX
214 015E C7 06 0229r 0000 mov x,0 ;x
215 0164 C7 06 022Br 0000 mov y,0 ;y
216 016A C7 06 022Fr 0257 mov z,599
217 0170 l88:
218
219 0170 l9:
220
221 0170 89 0E 022Br mov y,cx
222 0174 E8 FF6C call DrawPoint
223
224 0177 FF 06 022Br inc y
225 017B 8B 0E 022Br mov cx,y
226 017F 3B 0E 022Fr cmp cx,z
227 0183 74 02 je l10
228 0185 EB E9 jmp l9
Turbo Assembler Version 4.1 08/12/10 19:39:47 Page 5
laba9.asm
229
230 0187 l10:
231 0187 81 3E 0229r 012B cmp x,299
232 018D 74 1E je exit
233 018F FF 06 0229r inc x
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00446
© Рефератбанк, 2002 - 2024