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

С помощью Ассемблера выполнить следующие задания, используя прерывания BIOS int 10h и int 16h.

ЗАДАНИЕ
Ввести символьный массив, отсортировать и вывести на экран.
Ввести символьный массив, и вывести на экран встречающиеся в нем буквы по алф.
Ввести символьный массив, и вывести на экран отдельно гласные и согласные по алфавиту
Ввести символьный массив, и вывести на экран отдельно гласные и согласные в том порядке, как они встречаются.
Ввести символьный массив, и вывести на экран буквы в порядке убывания частоты встречаемости.
Ввести символьный массив, и вывести на экран, и вывести его в обратном порядке.
Ввести символьный массив, и вывести на экран буквы в порядке возрастания частоты встречаемости.
Ввести символьный массив, и вывести на экран его анаграмму (перемешать буквы).
Ввести символьный массив, и вывести на экран по словам, выводя каждое слово разным цветом.
Ввести символьный массив, и вывести на экран содержащиеся в нем слова в столбик.
В графическом режиме нарисовать замкнутый многоугольник, пользуясь курсорными клавишами.
В графическом режиме нарисовать произвольную кривую, пользуясь курсорными клавишами.
В графическом режиме нарисовать множество пикселов на экране, пользуясь курсорными клавишами.
В графическом режиме заполнить экран произвольными символами, пользуясь курсорными клавишами.
В графическом режиме отредактировать содержимое экрана, вставляя или стирая пиксели и пользуясь курсорными клавишами.
В графическом режиме нарисовать геометрическую фигуру и вывести надпись, пользуясь курсорными клавишами.
В графическом режиме нарисовать схематическое изображение кошки, пользуясь курсорными клавишами.
В графическом режиме нарисовать схематическое изображение дерева, пользуясь курсорными клавишами.
В графическом режиме нарисовать схематическое изображение домика, пользуясь курсорными клавишами.
В графическом режиме нарисовать схематическое изображение самого себя, пользуясь курсорными клавишами.


Краткие сведения о прерываниях BIOS

Перед вызовом соответствующей функции необходимо занести передаваемые ей параметры в требуемые регистры. В частности, код функции заносится в регистр AH, а код подфункции – в регистр AL.Результат выполнения функции также заносится в регистры. Например, чтобы поместить код символа, вводимого с клавиатуры, в переменные scancodиasciicod,необходимо задать в регистре AHкод функции 00, выполнить команду прерывания INTс параметром 16h,а затем извлечь информацию из регистров AH(скен-код символа)и AL(ascii-код символа), и перемеcтить их в память для переменных :

……………………………………………………………………………………………………

Mov ah,0

Int 16h

Mov scancod,ah

Mov asciicod,al

……………………………………………………………………………………………………

Опишем сразу остальные функции прерывания 16h:

Функция 01h.Получение состояния клавиатуры.Возвращает состояние буфера без извлечения из него символа.

Вход: AH=01h.

Выход: если буфер пуст, флаг ZF=1;

если в буфере есть ожидающие символы, то ZF=0, а скен- и ascii- коды символа находятся в регистрах ALиAH, как и для функции 00.

Функция 01h.Получение флагов клавиатуры.Возвращает байт состояния управляющих клавиш.

Вход: AH=02h.

Выход: AL=флаги. Биты байта флагов имеют следующие значения:

0 – нажата левая клавиша Shift

1 – нажата правая клавиша Shift

2 – нажата клавиша Ctrl

3 – нажата клавиша ALT

4 – включён режим Scroll Lock

5 – включён режим Num Lock

6 – включён режим Caps Lock

7 – включён режим Insert

Функции прерывания 10h (функции видеорежимов).

Функция 00h. Установка видеорежима.

Вход: AH=00h

AL=видеорежим.

03h– текстовый, 80x25, 16 цветов

12h –графический, 640х480, 16 цветов (VGA)

12h –графический, 320х200, 256 цветов (VGA)

Функция 02h.Установка позиции курсора.

Данная функция работает как в текстовом, так и в графическом режимах. Однако, в графическом режиме курсор не виден.

Вход: AH=02h

BH=номер видеостраницы (0–3)

DH=номер видеостроки (строки в текстовом режиме нумеру-

ются снизу вверх от 1, строки в графическом режиме нумеруются

сверху вниз от 0.)

DL=номер видеостолбца

Функция 09h.Запись символа и атрибута в позицию курсора.

Данная функция также работает как в текстовом, так и в графическом режимах.

Вход: AH=09h

AL=символ

BH=номер видеостраницы

BL=атрибут (текстовый режим), или цвет (графический реж.)

CX=коэффициент повторения

В текстовом режиме каждый символ, выводимый на экран, задаётся двумя байтами: байтом кода и байтом атрибута. Байт атрибута содержит информацию о цвете и яркости фона и символа в виде irgbIRGB, где irgb – биты яркости, красного, зелёного и синего цветов для фона, а IRGB соответственно – для символа. В графическом режиме код цвета представляет номер цветового регистра палитры, в котором содержится подробная информация по воспроизведению заданного цвета.

Функция 09h. Запись пиксела в заданную графическую позицию.

Вход: AH=0ch

AL=цвет

BH=номер видеостраницы

CX=графический столбец

DX=графическая строка

ПриложениЕ

Государственный стандарт дисциплины “Вычислительные системы, сети и телекоммуникации”

ОПД.Ф.01 ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ, СЕТИ И ТЕЛЕКОММУНИКАЦИИ Физические основы вычислительных процессов. Основы построения и функционирования вычислительных машин: общие принципы построения и архитектуры вычислительных машин, информационно-логические основы вычислительных машин, их функциональная и структурная организация, память, процессоры, каналы и интерфейсы ввода вывода, периферийные устройства, режим работы, программное обеспечение. Архитектурные особенности и организация функционирования вычислительных машин различных классов: многомашинные и многопроцессорные вычислительные системы, типовые вычислительные структуры и программное обеспечение, режимы работы. Классификация и архитектура вычислительных сетей, техническое, информационное и программное обеспечение сетей, структура и организация функционирования сетей (глобальных, региональных, локальных). Структура и характеристики систем телекоммуникаций: коммутация и маршрутизация телекоммуникационных систем, цифровые сети связи, электронная почта. Эффективность функционирования вычислительных машин, систем и сетей телекоммуникаций; пути ее повышения. Перспективы развития вычислительных средств. Технические средства человеко-машинного интерфейса.

ЛИТЕРАТУРА

1. Вычислительные системы, сети и телекоммуникации. Учебник/А.П.Пятибратов, Л.П.Гудыно, А.А.Кириченко: под ред.
П. Пятибратова. - М.: Финансы и статистика, 2001. 509 с.

2. Бройдо В.Л. Вычислительные системы, сети и телекоммуникации. СПб Питер, 2003. 688 с.

3. А.В. Гордеев, А.Ю. Молчанов. Системное программное обеспечение.

СПб, Питер, 2001.

4. Гук Михаил. Аппаратные средства IBM PC. Энциклопедия, 2-е изд. –СПб.: Питер, 2002. – 928 с.: ил.

5. Дейтел Х. Введение в операционные системы: Пер. с англ. М.: Мир, 1987. т.1. 359с.,

т.2. 398с.

6. Дьяконов В. MathCAD 2000: учебный курс. – СПб.: Питер, 2001. – 592 с.

7. Иртегов Д. Введение в операционн7ые системы. СПб:«БХВ-Петербург», 2002.

8. Лорин Х., Дейтел Г. Операционные системы: Пер. с англ. М.: Мир, 1984.–392 с., ил.

9. Пустоваров В.И. Ассемблер: программирование и анализ корректности машинных программ. «Ирина», BHV, Киев, 2000. 480 с

10. Финогенов К.Г. Самоучитель по системным функциям MS DOS. М.: Радио и связь, Энтроп, 1995. – 382 с.,ил.

11. Юров В. Ассемблер. Учебник. СПб.:Питер, 2001. 624 с.: ил.

12. Бэкон Дж, Харрис Т. Операционные системы. Параллельные и распределенные системы. СПб, Питер, Киев, 2004.

13. Ватолин А., Ратушняк А., Смирнов М., Юкин В.. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. – М.: ДИАЛОГ–МИФИ, 2002.–384 с.

14. Гурский Ю.А., Васильев А.В. Photoshop CS. Трюки и эффекты. – СПб.: Питер – 2005. – 555 с.: ил.

15. Джермейн К. Программирование на IBM/360: Пер. с англ. М.: Мир, 1978.–870 с., ил.

16. Кейлингерт П. Элементы операционных систем. Введение для пользователей: Пер. с англ. М. Мир, 1985. 295с.

17. Кейслер С. Проектирование операционных систем для малых ЭВМ.: Пер. с англ.–М.: Мир, 1986.– 680 с., ил.

18. Лэй Р. И «Уэйт-Груп». Написание драйверов для MS/DOS. : Пер. с англ. М.: Мир, 1995.–527 с., ил.

19. Майерс Г. Архитектура современных ЭВМ: В 2-х кн. : Пер. с англ. М.: Мир, 1985. кн. 1 – 364 с., ил.; кн. 2 – 312 с., ил.

20. Мэдник С., Донован Дж. Операционные системы: Пер. с англ. М.:Мир, 1987. 792 с.

21. В.Г. Олифер, Н.А. Олифер. Компьютерные сети. Принципы, технологии, протоколы. . СПб, Питер, 2004.

22. Трасковский А.В. BIOS. – СПб.: БХВ-Петербург, 2004. – 544 с. ил.

23. Харт Джонсон М. Системное программирование в среде Win32, 2-е изд. : Пер. с англ. М.: Издательский дом «Вильямс», 2001. – 464 с.: ил.

  1. Шоу А. Логическое проектирование операционных систем: Пер. с англ. М.: Мир, 1982.
  2. http://chernykh.net/content/view/601/800/
  3. http://ru.wikipedia.org/wiki/Виртуальная_память
  4. http://ru.wikipedia.org/wiki/Кеш-память
  5. Самарин В.В., Речнов А.В., Смирнова Т.Н., Мерлина Н.И. Высокоуровневые методы информатики и программирования: Автоматизированная математическая система Mathcad: Чебоксары, 2002.76 с.
  6. Глушков С.В., Мельников В.В. Сурядный А.С. Программирование в среде Windows. Учебный курс. Харьков. Фолио; М.: ООО “Изд-во АСТ”. 2001. 487 c.
  7. Левин А. Транзистор – дитя многих родителей. Компьютера, 2005, №45. c.72
  8. CERN Courier, 2005, V. 45, №3.
  9. Компьютера, 2006, №3.
  10. Деникин А.С., Загребаев В.И., Самарин В.В., Алексеев А.П., Кожин Ф.Ю. Сетевая база знаний по низкоэнергетической ядерной физике.// Труды Всеросс. научн. конф. “Научный сервис в сети Интернет” (Новороссийск, сент. 2003 г.),- М.: Изд-во Моск. ун-та, 2003, с. 14.
  11. Тим О’Рейли. Что такое Веб 2.0. Компьютера 2005, №37, с. 60, № 38, с. 58.
  12. Э.Хеллвег. Что ждет нас в 2006 г. Мир ПК, 2006, №1, с. 8
  13. CERN Courer 2005, V. 45, № 7, p. 19
  14. H&S 2005, №12, с. 10,11
  15. CERN Courer 2005, V. 45, № 5, p. 18
  16. CERN Courer 2005, V. 45, № 5, p. 18.
  17. Курс общей физики: Квантовая оптика. Атомная физика. Физика твердого тела. Физика атомного ядра и элементарных частиц, Кн. 5 2002 В3 С12
  18. Робертсон Б. Современная физика в прикладных науках М.: Мир, 1985. 272 с.
  19. Александров В.А., Загребаев В.И., Самарин В.В., Филиппов Г.М. Ядерная физика. Лабораторный практикум. Чебоксары, изд-во ЧГУ, 1998.
  20. Китель. Ч. Введение в физику твердого тела. М.: Мир, 1978, 791 с.
  21. Физическая энциклопедия.. Т.4. М.: Научное издательство “Большая российская энциклопедия”, 1994.
  22. Эндерлайн Р. Микроэлектроника для всех. - М.: Мир, 1989, 190 с.
  23. Мнеян М.Г. Физические принципы работы ЭВМ.- М.: Просвещение, 1987, 192 с.
  24. Карабуто А. Как делают микросхемы. Компьютера. Компьютерный еженедельник. 6.10.2004, № 561, http://www.computerra.ru/offline/2004/561/36071/.
  25. Под одной крышкой. Знакомство с процессором AMD Athlon 64 X2. Upgrade 2005, № 30, с 18.
  26. Upgrade, 2005 №6.
  27. H&S 2005, №12, с. 66.
  28. А.Самардак. Спинтроника: от “микро” к “нано”.Компьютерра, 2006, №5, с. 48.
  29. Д. Румянцев, Что такое техпроцесс. Технология создания процессоров и микросхем. Upgrade, 2004, №36, c.18.
  30. Ю.Романов. Зеленоград или Зеленополис?, с. 26. “Микрон”. Ставка на силу.Компьютерра, 2005, №43, с. 24.
  31. С.Озеров Ячейка, она же клетка, она же… Cell. Компьютера, 2005, №38, с. 38.
  32. Компьютера, 2006, №4, с. 9.
  33. Компьютера, 2006, №7, с. 3.
  34. Компьютера, 2006, №3, с. 6.
  35. С.Озеров “64”.Компьютерра 2005 №41 с. 22.
  36. H&S 2005, №12, с. 65.
  37. Набережный А. AMD Athlon 64 FX-60: пока он лучший. Мир ПК. 2006 , №1, с.20.
  38. Меркулов Д. Магия жидких кристаллов. Наука и жизнь, 2004, №12, с. 126.
  39. Л.Музыковский, Почему 20? Домашний компьютер 2006, №1, с. 40.
  40. А.Дмитриев 17-дюймовые ЖК-мониторы для офиса, Мир ПК, 2005, №11 с.44.
  41. С.Андрианов Выбираем ЖК-монитор. Мир ПК, 2005, №11 с.106.
  42. Чепурной В. Устройства хранения информации.- СПб, “BHV-Санкт-Петербург”, 1998. 208 с.
  43. H&S 2005, № 12, с.24.
  44. Рыбаков М. Вдоль и поперек жесткого диска.Hard и Soft 2005, №12, с. 12.
  45. Домашний компьютер, 2006, №2 с.16.
  46. H&S 2005, №12, с. 54.
  47. Физическая энциклопедия. Т.1. М.: Научное издательство “Большая российская энциклопедия”, 1994. с.508.
  48. М.Рыбаков Данные в трех измерениях H&S 2005, № 12, с. 76.
  49. Д. Зарубов, Суперпарамагнитный беспредел-2. Upgrade, 2005, №19, c.24.
  50. Компьютерра 2005 №41 с. 6.
  51. Королев Л.Н. Микропроцессоры, микро- и мини-ЭВМ.-М: Изд-во Моск. Ун-та. 1988, 212 с.
  52. Гусева О.Л.// Информатика и образование, 2001, №3, с. 77, №4, с. 83.
  53. Немнюгин С. Параллельное программирование для многопроцессорных вычислительных систем. /Немнюгин С., Стесик О. – С-Пб: “БХВ-Петербург”, 2002, 396 с.
  54. М.Дьяков Путешествие по системной плате. Hard&Soft, 2005, №10, c. 70.
  55. С.Озеров. Ремонт компьютера своими руками. Компьютера, 2006, № 4, , с.20.
  56. Создайте свой ПК заново. Мир ПК, 2005, № 11. с. 120– перевод Jim Aspinwall Reinvent PC. PC World, август 2005, С. 68.
  57. А.Баулин, Где хранить два терабайта. Мир ПК, 2005, №11, с.60.
  58. Е.Яворских, Компьютер из ниоткуда. Домашний компьютер, 2006, №1, с. 58.
  59. Компьютера, 2006, № 3, с. 11.
  60. Пильщиков В.Н. Программирование на языке ассемблера IBM PC. М.: Диалог-МИФИ, 2000, 286 с.
  61. Юров В. Assembler: практикум– СПб: Питер, 2000. - 448 с.
  62. Жуков А., Авдюхин А. Ассемблер.-СПб: БХВ-Петербург, 2002, 448 с.
  63. Белецкий Я. Энциклопедия языка Си. М.: Мир, 1992, 686 с.
  64. Подбельский В.В. Программирование на языке Си. - М.: ФиС, 2000, 360 с.
  65. Трофимов С.А. CASE-технологии: практическая работа в Rational Rose. – М.: Бином-Пресс, 2002 г. – 228 с.
  66. Введение в программирование /Сост. Гольденберг/ М. ООО Харвест, 1997, 528 с.
  67. Павловская Т.А. С/С++. Программирование на языке высокого уровня - СПб: Питер, 2004. - 461 с.
  68. Секунов Н. Самоучитель Visual C++ 6. - СПб: БХВ-Петербург, 2004, 960 с.
  69. С.Озеров. Архитектура CPU Компьютерра 2005№ 37 с. 24.
  70. С.Озеров. Параллельное программирование. Компьютера, 2005, № 44, с. 46.
  71. Компьютеры и Оргтехника, 2006, № 1, с.3 www.cdrinfo.com.
  72. Компьютерра 2005. № 41 с.4.
  73. С.Озеров. Параллельные вычисления: кластеры. Компьютера, 2005, № 46, с. 46.

Учебное издание

Наши рекомендации