Лабораторная работа n 4 icon

Лабораторная работа n 4




Скачати 58.41 Kb.
НазваЛабораторная работа n 4
Дата03.08.2012
Розмір58.41 Kb.
ТипЛабораторная работа

ЛАБОРАТОРНАЯ РАБОТА N 4



Использование прерываний DOS и BIOS для работы с текстовым экраном.


Краткие теоретические сведения


Прерывание BIOS 10H (обмен данными с дисплеем).


Это прерывание обеспечивает выполнение 16-и операций с дисплеем. Выбор операции производится в зависимости от значения регистра AH. Операции с дисплеем можно разделить на 5 групп:


1. Операции интерфейса

  • AH = 00h установка видеорежима

  • AH = 01h установка конфигурации курсора

  • AH = 02h установка позиции курсора

  • AH = 03h получение положения курсора

  • AH = 04h чтение положения светового пера

  • AH = 05h выбор активной страницы

  • AH = 06h прокрутка активной страницы (экрана) вверх

  • AH = 07h прокрутка активной страницы (экрана) вниз

^ 2. Операции обработки символов.

  • AH = 08h чтение символа и его атрибута в текущей позиции курсора

  • AH = 09h запись символа и атрибута в текущую позицию курсора

  • AH = 0Ah запись символа в текущую позицию курсора

^ 3. Операции графического интерфейса.

  • AH = 0BH задание палитры цветов

  • AH = 0CH изображение точки

  • AH = 0DH чтение точки (позиция, атрибут)

^ 4. Операция вывода в режиме телетайпа - позволяет использовать монитор, как простой терминал (вывод на экран с перемещением курсора)

AH = 0EH

5. Операция чтения в видеорежиме

AH = 15 0FH получение видеорежима


Примеры:


^ Позиционирование курсора.


mov ah,2 ; запрос на установку курсора

mov dh,8 ; номер строки - 8

mov dl,12 ; номер столбца - 12

mov bh,0 ; номер страницы

int 10H


^ Очистка экрана.


Для очистки экрана используется прокрутка, т.к. при этой операции появляющиеся на

экране строки заполняются пробелами.


mov ax,0600H |mov ah,6 ; прокрутка вверх

|mov al,0; строки, появляющиеся внизу, заполняются

|пробелами. 0 - все окно заполняется пробелами

mov bh, 3fh ;байт атрибута

mov cx,0000 ¦mov ch,0 - номер строки верхнего левого угла окна

¦mov cl,0; номер столбца верхнего левого угла окна


mov dx,184FH ¦mov dh,18H;номер строки нижнего правого угла окна

¦mov dl,4FH;номер столбца нижнего правого угла |окна

int 10H


Байт атрибута


Мерцание

Цвет фона

Интесивн.

Цвет символов

0/1

Red

Green

Blue

0/1

Red

Green

Blue

7

6

5

4

3

2

1

0



^

Запись символа в позицию курсора


Записывает символ ASCII кода в текущую позицию курсора. Символ принимает атрибут, установленный ранее для этой позиции. После вывода курсор следует сместить к следующей позиции функцией 02h.


mov AH, 0ah

mov AL, ‘a’ ;выводимый символ (или его порядковый номер в ;таблице.)

mov BH, 0 ;установка видеостраницы

mov CX, 1 ;коэффициент повторения

int 10h


^ Вывод строки символов на экран ..


Прерывание _DOS 21H функция 9

Регистры DS:DX должны содержать адрес строки, которая должна заканчиваться

символом $.


Пример.


dseg segment para 'data'

str2 db 'Введите исходные данные:','$'

dseg ends

cseg segment para 'code'

................

mov ah,9

lea dx,str2

int 21H


Использование символов возврата каретки, перевода строки и табуляции при выводе информации на экран:


Десятичные коды Шестнадцатиричные коды


Возврат каретки CR 13 0DH

Перевод строки LF 10 0AH

TAB 09 09H


Пример.


str2 db 'Введите исходные данные',13,10,'$'


В первом примере после вывода строки курсор останется после последнего выведенного символа, во втором - перейдет на следующую строку.




^




Задания к лабораторной работе





  1. Напишите .COM программу вывода на экран монитора четырех смежных квадратов в шахматном порядке: два синих два желтых.


.model tiny

.code

org 100h ;начало программы после 256 байт, ставленных для опер. системы


first: ;точка входа

mov ax,0002h ;установка видеорежима с номером в AL

int 10h ;прерывание BIOS


mov ax,0600h ;прокрутка вверх (AL=0 - заполняет экран пробелами)

mov bh,01100000b ;устанавливает цвет фона(желтый) и символа

mov cx,0000h ;координаты верхнего левого угла (строка, столбец)

mov dx,0306h ;координаты нижнего правого угла

int 10h


mov bh,00010000b ;синий

mov cx,0007h

mov dx,030Dh

int 10h


mov cx,0400h

mov dx,0706h

int 10h

mov bh,01100000b ;желтый

mov cx,0407h

mov dx,070Dh

int 10h

mov ah,04ch

int 21h

end first ; конец программы



  1. Напишите программу (типа .ЕХЕ) вывода на экран таблицы ASCII кодов в виде таблицы 16х16.

Цвет фона выберите 255 mod (Ваш номер в группе)

Цвет символов ‘цвет фона + 5

Для организации цикла используйте операторы:


mov cx, 16 ; счетчик внешнего цикла

metka1:

push cx ;сохранить значение регистра сх в стеке

mov cx, 16 ;счетчик вложенного цикла

metka2:

…………….. ;тело вложенного цикла

loop metka2

……………. ;тело внешнего цикла

pop cx ;извлечь из стека счетчик внешнего цикла

loop metka1 ; команда циклического выполнения


data segment

x db 0 ;строка str

y db 0 ;столбик stb

data ends


stack1 segment stack

db 256 dup(0)

stack1 ends


code segment

assume cs:code,ds:data,ss:stack1


second:

mov ax,data

mov ds,ax


mov ax,0002h ;установка видеорежима с номером в AL

int 10h ;прерывание BIOS


mov ax,0600h ;заполняет экран пробелами

mov bh,00000111b ;устанавливает цвет фона и символа

mov cx,0000h ;верхний левый угол

mov dx,184Fh ;нижний правый угол

int 10h ;обмен данными с дисплеем


mov al,0 ;номер выводимого символа

mov cx,16 ;счетчик внешнего цикла


str:

mov y,0 ;начинаем с первого столбца

push cx ;сохраняем значение внешнего цикла

mov cx,16 ;счетчик внутреннего цикла


stb:

mov ah,02 ;установка курсора

mov dh,x

mov dl,y

int 10h ;обмен данными с дисплеем


push cx

mov ah,0ah ;вывод символа

mov bh,0 ;номер видеостраницы

mov cx,1 ;количество выводимых символов

int 10h ;обмен данными с дисплеем

pop cx

inc y ;увеличить значение столбца на 1

inc al ;увеличить значение символа на 1

loop stb ;переход внутреннего цикла


inc x ;следующая строка

pop cx ;восстанавливаем значение внешнего цикла

loop str ;переход внешнего цикла


mov ah,4ch ; выход в DOS

int 21h


code ends ; конец сегмента кода

end second ; конец программы

Схожі:

Лабораторная работа n 4 iconЛабораторная работа n 9 Работа с командами обработки строк
В общем случае цепочечные команды позволяют выполнять действия над блоками памяти
Лабораторная работа n 4 iconЛабораторная работа №1 «Работа с командным процессором Windows 2000»
Написать командный файл, выводящий на экран содержимое файлов указанных в качестве параметров этого файла
Лабораторная работа n 4 iconЛабораторная работа №1 «Работа с командным процессором Windows 2000»
Написать командный файл, выводящий на экран содержимое файлов указанных в качестве параметров этого файла
Лабораторная работа n 4 iconЛабораторная работа №13 «Изучение явления электромагнитной индукции»
Занятие 83. Лабораторная работа №13 «Изучение явления электромагнитной индукции»
Лабораторная работа n 4 iconЛабораторная работа №9 Работа с данными в ms excel. Запустите программу «Microsoft Excel»
Откройте книгу "Заказы" из папки LabExcel. Если этой книги нет, скопируйте ее из папки Teach диска M
Лабораторная работа n 4 iconЛабораторная работа Знакомство с диаграммами расписаний проектов. Создание Gantt диаграммы расписания проекта. Требования к программному обеспечению
Лабораторная работа Знакомство с диаграммами расписаний проектов. Создание Gantt диаграммы расписания проекта
Лабораторная работа n 4 iconЛабораторная работа Знакомство с технологией структурного анализа и проектирования sadt, на примере case-системы bpwin Требования к программному обеспечению
Лабораторная работа Знакомство с технологией структурного анализа и проектирования sadt, на примере case-системы bpwin 0
Лабораторная работа n 4 iconДокументи
1. /Модуль 1 Access/Access Лабораторная работа ь 1.doc
2. /Модуль...

Лабораторная работа n 4 iconЛабораторная работа №1 Работа с объектами Windows Запустить программу «Проводник»
Для изменения режима просмотра вызовите меню Вид и выберите один из пунктов: “крупные значки”, “мелкие значки”, “список”, “таблица”....
Лабораторная работа n 4 iconЛабораторная работа №1 Работа с объектами Windows Запустить программу «Проводник»
Для изменения режима просмотра вызовите меню Вид и выберите один из пунктов: “крупные значки”, “мелкие значки”, “список”, “таблица”....
Лабораторная работа n 4 iconДокументи
1. /Лабораторная работа 11.pdf
Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©zavantag.com 2000-2013
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи