Вы находитесь на странице: 1из 7

Министерство Образования Республики Молдова

Технический Университет Молдовы


Факультет вычислительной техники, информатики и
микроэлектроники

ОТЧЕТ
по лабораторной работе №6
по дисциплине «Arhitectura calculatoarelor»
Тема: «Применение сервисных функций Bios для работы с
экраном и клавиатурой»

Подготовила: ст. гр. TI-182fr: Лищенко А.

Проверил: конф. унив. Постован Дм.

Кишинев 2021
Цель работы: Изучение функций BIOS.
Задание:
Вывести на экран флаг некоторого государства. Используйте
DOSBox.

«DOSBox — это самый распространённый эмулятор операционной


системы MS-DOS». DOSBox программно эмулирует старый процессор
Intel 286/386 с его наборами команд, а также работу с портов, что
позволяет полноценно использовать возможности ОС. При этом
обеспечивается поддержка звука, джойстика, сетевых интерфейсов.
Реализована русская раскладка клавиатуры, а в некоторых сборках (не
официальных) обеспечивается запуск DOS игр в реальном 3D
графическом режиме с использованием ускорения от 3Dfx Glide! Это
обозначает полноценную эмуляцию видеокарт 3Dfx VooDoo и
возможностей полноценной трёхмерной графики в MS-DOS играх.  Стоит
добавить, что существуют версии DOSBox  для Windows, BeOS, Linux,
MacOS.

Возможности DOSBox:
- Совместимость со всеми современными операционными
системами, включая Windows 10.

- Простая установка. Возможность работы практически без


установки — достаточно скопировать в директорию соответствующие
файлы и произвести настройки, внеся изменения в файл конфигурации.

- Гибкие настройки конфигурации с использованием текстового


файла настроек с расширением *.conf.

- Возможность использовать установленный на компьютере


CD(DVD)-ROM диск, флешку, флоппи-диск и вообще любое устройство, а
также эмулировать любое устройство путём монтирования (понятие
больше известное пользователям Linux).

 - Практически стопроцентная гарантия использования звука в


программах DOS (как MIDI формата, так и WAVE), включая игры и
музыкальные проигрыватели. При этом, при желании можно установить
частоту дискретизации (влияет на качество) звука.
- Возможность менять стандартные DOS разрешения экрана
(640×7480) на нестандартные (1024×768).

 - Возможность использования эмулятора 3Dfx видеокарт с


полноценным 3D ускорением графики отдельных DOS игр.

 - Простая настройка памяти DOS (xms, ems, umb).

- Подключение джойстика к поддерживающим указанную опцию


играм.

- Поддержка устройств, подключаемым к портам расширения (serial


port ), например модема (modem to com1 port), эмуляция IPX (ipx over
UDP/IP emulation).

 - Возможность пользоваться, входящими в стандартную поставку


программами захвата видео и звука.

- Эмулируемая система позволяет заниматься программированием,


писать и компилировать DOS приложения на большинстве модных языков
программирования того времени — Assembler, C, C++, Pascal. Однако
основное её предназначение в наше высокотехнологичное время — запуск
DOS игр.

Код программы:
Include irvine16.inc
.code
main proc
start: mov ax,@data
mov ds,ax

mov ah,00h ; устанавливаем видеорежим


mov al,12h; разрешение 640 x480
int 10h ; вызов BIOS

mov ah,0ch ; запись графической точки

mov bh,0 ;страница video (базовая 0 )


mov cx,0 ; столбец
mov dx,0 ; строка

m2: mov al,4h ; цвет точки (табл. 1.1)


int 10h
inc cx ; след. точка
cmp cx,640
jne m2
inc dx ; след. строка
xor cx,cx
cmp dx,160
jne m2

m3: mov al,7h ; цвет точки


int 10h
inc cx ; след. точка
cmp cx,640
jne m3
inc dx ; след. строка
xor cx,cx
cmp dx,320
jne m3

m4: mov al,1h ; цвет точки


int 10h
inc cx ; след. точка
cmp cx,640
jne m4
inc dx ; след. строка
xor cx,cx
cmp dx,480
jne m4

mov ah,0; click (pauza)


int 16h

mov ax,03 ; текстовый режим


int 10h

Exit
main ENDP ; завершение процедуры main
END main ;завершение программы/ точка входа в программу

Листинг программы:
Include irvine16.inc
C ; Irvine16.inc - Include file for programs using
C ; the Irvine16.lib (Real-address mode library).
C
C ; Last update: 7/29/05
C
C .NOLIST
C .LIST
C
0000 .code
0000 main proc
0000 B8 ---- R start: mov ax,@data
0003 8E D8 mov ds,ax

0005 B4 00 mov ah,00h ; устанавливаем


видеорежим
0007 B0 12 mov al,12h; разрешение 640 x480
0009 CD 10 int 10h ; вызов BIOS

000B B4 0C mov ah,0ch ; functia – запись


графической точки

000D B7 00 mov bh,0 ;страница video (базовая 0 )


000F B9 0000 mov cx,0 ; столбец
0012 BA 0000 mov dx,0 ; строка

0015 B0 04 m2: mov al,4h ; цвет точки (табл. 1.1)


0017 CD 10 int 10h
0019 41 inc cx ; след. точка
001A 81 F9 0280 cmp cx,640
001E 75 F5 jne m2
0020 42 inc dx ; след. строка
0021 33 C9 xor cx,cx
0023 83 FA 64 cmp dx,100
0026 75 ED jne m2

0028 B0 07 m3: mov al,7h ; цвет точки (табл. 1.1)


002A CD 10 int 10h
002C 41 inc cx ; след. точка
002D 81 F9 0280 cmp cx,640
0031 75 F5 jne m3
0033 42 inc dx ; след. строка
0034 33 C9 xor cx,cx
0036 81 FA 00C8 cmp dx,200
003A 75 EC jne m3
003C B0 01 m4: mov al,1h ; цвет точки (табл. 1.1)
003E CD 10 int 10h
0040 41 inc cx ; след. точка
0041 81 F9 0280 cmp cx,640
0045 75 F5 jne m4
0047 42 inc dx ; след. строка
0048 33 C9 xor cx,cx
004A 81 FA 012C cmp dx,300
004E 75 EC jne m4

0050 B4 00 mov ah,0; click (pauza)


0052 CD 16 int 16h

0054 B8 0003 mov ax,03 ; текстовый режим


0057 CD 10 int 10h

Exit
005D main ENDP ; завершение процедуры main
END main ;завершение программы/ точка входа в
программу

Результат программы:

Вывод:
После проведения лабораторной работы № 6 на тему:
«Использование системных функций на языке ассемблера» я
познакомилась с функциями операционной системы (функциями BIOS и
DOS) и их использованием на языке ассемблера. В заключение я
разработала программу, которая рисует на графическом экране флаг
Нидерландов.