Сист. прогр. Ч1 (Методические указания к выполнению лабораторных работ по СПО), страница 13

2018-01-12СтудИзба

Описание файла

Файл "Сист. прогр. Ч1" внутри архива находится в следующих папках: Методические указания к выполнению лабораторных работ по СПО, сист прогр лабы. Документ из архива "Методические указания к выполнению лабораторных работ по СПО", который расположен в категории "". Всё это находится в предмете "операционные системы" из 7 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "операционные системы" в общих файлах.

Онлайн просмотр документа "Сист. прогр. Ч1"

Текст 13 страницы из документа "Сист. прогр. Ч1"

Первый /NT: PC Excha АХ = 08
Второй /NT: nge,0D,0A AX = 05

Программа может определить факт ввода законченного текста: а) если в регистре АХ получится значение меньше, чем в регистре СХ; 6) если содержимое АХ и СХ равно, но последние два символа в области ввода - 0D и 0А.

Встроенные в DOS проверки по функции 0АН для ввода с клавиатуры имеют более мощные средства. Их выбор для использования в программах является предпочтительным.

Упражнение: Ввод данных

Выполним упражнение, в котором можно проследить операцию ввода с клавиатуры с помощью отладчика DEBUG. Предполагаемая программа позволяет вводить до 12 символов, включая символы возврата каретки и перевода строки. Загрузите DEBUG и после вывода на экран приглашения введите А 100 для начала ввода ассемблерных команд начиная с адреса 100. Не забудьте, что DEBUG предполагает, что все числа вводятся в шестнадцатеричном формате:

100 MOV AH,3F

102 MOV BX, 00

105 MOV CX, 0C

108 MOV DX,10F

10В INT 21

10D JMP 100

10F DB ‘ ‘

Программа устанавливает регистры АН и ВХ для запроса на ввод с клавиатуры, заносит максимальную длину ввода в регистр СХ и загружает в регистр DX значение 10F - область DB в конце программы. В эту область будут помещаться вводимые символы.

Когда вы наберете все команды, нажмите еще раз Return. С помощью команды U (U 100,108) выполните дисассемблирование программы для проверки. Затем используйте команды R и Т для трассировки четырех команд MOV. Остановившись по адресу 10В, введите G 10D для выполнения команды INT (входить в BIOS не следует). Теперь отладчик позволит ввести данные, завершаемые клавишей Return. Проверьте содержимое регистра АХ, состояние флага CF и, используя команду D10F, просмотрите введенные данные в памяти. Для завершения работы введите команду Q.

ИСПОЛЬЗОВАНИЕ СИМВОЛОВ ВОЗВРАТА КАРЕТКИ, ПЕРЕВОДА СТРОКИ И ТАБУЛЯЦИИ ДЛЯ ВЫВОДА НА ЭКРАН

Один из способов получения более эффективного вывода на экран - использование управляющих символов возврата каретки, перевода строки и табуляции:

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

CR 13 0DН

LF 10 0АН

TAB 09 09Н

Эти символы при операциях . ввода-вывода выполняют одинаковые действия как в базовой, так и в расширенной версиях DOS. Например:

MESSAGE DB 09,'PC Users Group Annual Report',13,10

……………..

MOV AH, 40H ; Запрос на вывод

MOV BX, 01 ;Номер файла

MOV CX,31 ;Длина текста

LEA DX, MESSAGE ;Адрес текста

INT 21H ;Вызов DOS

Использование директивы EQU для определения кодов делает программу более понятной:

CR EQU 13 : иаи EQU ОDН

LF EQU 10 ; или EQU OAH

TAB EQU 09 ;или EQU 09H

MESSAGE DB TAB, 'PC Users Group Annual' DB 'Report', CR, LF

ОСНОВНЫЕ ПОЛОЖЕНИЯ НА ПАМЯТЬ

  • Команда INT 10Н передает управление в BIOS для ввода с клавиатуры или вывода на экран. Команда INT 21Н передает управление в DOS для выполнения некоторых более сложных действий при операциях ввода-вывода.

  • Будьте внимательны при использовании шестнадцатеричной нотации, например INT 21 и INT 21Н - это не одно и то же. Будьте внимательны при установке значений в регистры АХ, ВХ, СХ и DX для операций ввода-вывода.

  • При использовании INT 21Н в базовой версии DOS устанавливайте символ-ограничитель ($•) непосредственно в конце области вывода. Будьте осторожны при очистке области - не удалите символ-ограничитель. Отсутствие ограничителя может привести к непредвиденным эффектам на экране. Для ввода в базовой версии DOS тщательно определяйте список параметров. Экранные функции INT 21Н предполагают, что первый байт содержит максимальную длину ввода, а второй байт заполняется системой автоматически значением действительной длины введенных данных.

  • Для вывода на экран под управлением расширенной версии DOS устанавливайте в регистре АН значение 40Н, а в регистре ВХ - файловый номер 01.

  • Для ввода с клавиатуры под управлением расширенной версии DOS устанавливайте в регистре АН значение функции 3FH, а в регистре ВХ - файловый номер 00. Введенные в область ввода данные завершаются символами возврат каретки и перевод строки. Данная операция не контролирует ввод, превышающий по длине максимальное значение.

Экранные операции II: Расширенные возможности

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

Монохромный дисплей

Для работы монохромного дисплея имеется память объемом 4 Кбайт, начинающаяся по шестнадцатеричному адресу В0000 (дисплейный буфер). Эта память включает:

  • 2 Кбайт для символов на экране (25 строк х 80 столбцов);

  • 2 Кбайт для байтов-атрибутов, обеспечивающих

инвертирование, мигание, выделение яркостью и

подчеркивание.

Цветной/графический дисплей

Для работы стандартного цветного графического дисплея имеется
16 Кбайт памяти (дисплейный буфер), начинающейся по
шестнадцатиричному адресу В8000. Такой дисплей может являться
текстовым (для нормального ASCII-кода) или графическим и
работать как в цветном, так и в черно-белом (BW) режиме.
Дисплейный буфер обеспечивает экранные страницы,
пронумерованные от 0 до 3 для экрана на 80 столбцов и от 0 до
7 для экрана на 40 столбцов. Номер страницы по умолчанию - О,
но можно установить любую страницу в памяти. В следующей
главе будет подробно рассмотрено управление цветом и графикой.

БАЙТ-АТРИБУТ

Байт-атрибут как для монохромного, так и для графического дисплея в текстовом (не графическом) режиме определяет характеристики каждого отображаемого символа. Байт-атрибут имеет следующие 8 бит:

Фон Текст

А трибу т: BLRGB IRGB

Номер битов: 7654 3210

Буквы RGB представляют битовые позиции, управляющие соответственно красным (Red), зеленым (Green) и синим (Blue) лучом в цветном мониторе. Бит 7 (BL) устанавливает мигание, а бит 3 (I) - интенсивность свечения. На монохромных мониторах текст высвечивается зеленым или оранжевым на темном фоне, хотя в данной главе такое изображение называется черно-белым (BW).

Для модификации атрибутов можно комбинировать биты следующим образом:

Эффект выделения Фон Текст

RGB RGB

Неотображаемый (черный по черному) 000 000

Подчеркивание (не для цвета) 000 001

Нормальный (белый по черному) 000 111

Инвертированный (черный по белому) 111 000

Цветные мониторы не обеспечивают подчеркивания; вместо этого установка битов подчеркивания выбирает синий цвет для текста и получается отображение синим по черному. Ниже приведены некоторые атрибуты, основанные на комбинации битов фона, текста, мигания и выделения яркостью:

Двоичный код Эффект выделения

0000 0000 00Н Неотображаемый (для паролей)

0000 0111 07Н Белый по черному, нормальный

1000 0111 87Н Белый по черному, мигание

0000 1111 0FH Белый по черному, яркий

0111 0000 70Н Черный по белому, инверсия

1111 0000 F0H Черный по белому, инверсия, мигающий

Эти атрибуты подходят для текстового режима как для монохромных, так и для цветных дисплеев. В следующей главе будет показано, как выбирать конкретные цвета. Для генерации атрибута можно использовать команду INT 10Н. При этом регистр BL должен содержать значение байта-атрибута, а регистр АН -один из следующих кодов: 06 (прокрутка вверх), 07 (прокрутка вниз), 08 (ввод символа с атрибутом), 09 (вывод символа с атрибутом). Если программа установила некоторый атрибут, то он остается таким, пока программа его не изменит. Если установить значение байта-атрибута равным 00, то символ вообще не будет отображен.

ПРЕРЫВАНИЕ BIOS INT 10Н

Прерывание INT 10H обеспечивает управление всем экраном. В регистре АН устанавливается код, определяющий функцию прерывания. Команда сохраняет содержимое регистров ВХ, СХ, DX, SI и ВР. Ниже описывается все возможные функции.

АН = 00: Установка режима. Данная функция позволяет переключать цветной монитор в текстовый или графический режим. Установка режима для выполняемой в текущий момент программы осуществляется с помощью INT 10H. При установке происходит очистка экрана. Содержимое регистра AL может быть следующим:

00 40 х 25 черно-белый текстовой режим

01 40 х 25 стандартный 16-цветовой текстовой режим

02 80 х 25 черно-белый текстовой режим

03 80 х 25 стандартный 16-цветовой текстовой режим

04 320 х 200 стандартный 4-цветовой графический

05 320 х 200 черно-белый графический режим

06 640 х 200 черно-белый графический режим

07 80 х 25 черно-белый стандартный монохромный

08 - 0А форматы для модели PCjr

0D 320 х 200 16-цветовой графический режим (EGA)

0Е 640 х 200 16-цветовой графический режим (EGA)

0F 640 х 350 черно-белый графический режим (EGA)

10 640 х 350 64-цветовой графический режим (EGA)

EGA обозначает усовершенствованный графический адаптер. Следующий пример показывает установку стандартного 16-цветового текстового режима:

MOV АН,00 ;Функция установки режима

MOV AL,03 ;Стандартный цветной текст 80x25

INT 10H ;Вызвать BIOS

Для определения типа адаптера, установленного в системе, служит прерывание BIOS INT 11H. Данная команда возвращает в регистре АХ значение, в котором биты 5 и 4 указывают на видеорежим:

01 40x25 черно-белый режим в цветном адаптере

10 80x25 черно-белый режим в цветном адаптере

11 80x25 черно-белый режим в черно-белом адаптере

Программа, работающая с неизвестным типом монитора, может проверить тип по регистру АХ после INT 11H и затем установить необходимый режим.

АН = 01: Установка размера курсора. Курсор не является символом из набора ASCII-кодов. Компьютер имеет собственное аппаратное обеспечение для управления видом курсора. Для этого имеется специальная обработка по INT-прерыванию. Обычно символ курсора похож на символ подчеркивания. Используя INT 10Н, можно управлять вертикальным размером курсора: биты 4-0 в регистре СН для верхней линии сканирования, а биты 4-0 в регистре CL - для нижней. Можно установить любой размер курсора по вертикали: от 0 до 13 для монохромных и EGA-мониторов и от 0 до 7 для большинства цветных мониторов. Приведем пример для увеличения размера курсора от его верхней линии сканирования до нижней:

MOV АН,01 ;Остановить размер курсора

MOV CH,00 ;Верхняя линия сканирования

MOV CL,13 ;Нижняя линия сканирования

INT 10Н ; Вызвать BIOS

В результате выполнения этих команд курсор превратится в сплошной мигающий прямоугольник. Можно установить любой размер курсора между верхней и нижней границами, например 04/08, 03/10 и т.д. Курсор сохраняет свой вид, пока программа не изменит его. Использование размеров 12/13 (для моно) и 6/7 (для цвета) переводит курсор в его нормальный вид.

АН = 02: Установка позиции курсора. Эта функция устанавливает курсор в любую позицию на экране в соответствии с координатами строки и столбца. Номер страницы обычно равен 0, но может иметь значение от 0 до 3 при 80 столбцах на экране. Для установки позиции курсора необходимо занести в регистр АН значение 02, в регистр ВН - номер страницы и в регистр DX -координаты строки и столбца:

MOV АН,02 ;Установить положение курсора

MOV BH,00 ;Страница 0

MOV DH,строка ;Строка

MOV DL,столбец ;Столбец

INT 10H ;Вызвать BIOS

АН = 03: Чтение текущего положения курсора. Программа может определить положение курсора на экране (строку и столбец), а также размер курсора следующим образом:

MOV АН,03 ;Определить положение курсора

MOV BH,00 ;Страница 0

INT 10Н ;Вызвать BIOS

После возврата регистр DH будет содержать номер строки, а регистр DL - номер столбца. В регистре СН будет верхняя линия сканирования, а в регистре CL - нижняя.

АН = 04: Чтение положения светового пера. Данная функция используется в графическом режиме для определения положения светового пера.

АН = 05: Выбор активной страницы. В текстовом режиме с
форматом экрана 80 х 25 устанавливается до 4 страниц (от 0 до
3), а для формата 40 х 25 - до 8 страниц (от 0 до 7).

MOV АН,05 ;Установить активную страницу

MOV AL,страница ;Номер страницы

INT 10Н ; Вызвать BIOS

АН = 06: Прокрутка экрана вверх. Когда программа пытается выдать текст на строку ниже последней на экране, то происходит переход на верхнюю строку. Даже если с помощью прерывания будет специфицирован нулевой столбец, нижние строки на экране будут испорчены. Для решения этой проблемы используется прокрутка экрана.

Ранее код 06 использовался для очистки экрана. В текстовом режиме установка в регистре AL значения 00 приводит к полной прокрутке вверх всего экрана, очищая его пробелами. Установка ненулевого значения в регистре AL определяет количество строк прокрутки экрана вверх. Верхние строки уходят с экрана, а чистые строки вводятся снизу. Следующие команды выполняют прокрутку всего экрана на одну строку:

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5302
Авторов
на СтудИзбе
416
Средний доход
с одного платного файла
Обучение Подробнее