adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
(1) - реализована на процессоре 386 с использованием специальных
регистров;
(2) - за инструкцией может следовать любое 8-битовое непосредст-
венное значение х (по умолчанию 10);
(3) - расширения процессора 286;
(4) - генерирует переопределение CS, может следовать за инструк-
цией;
(5) - генерирует переопределение DS, может следовать за инструк-
цией;
(6) - генерирует переопределение SS, может следовать за инструк-
цией;
(7) - генерирует переопределение ES, может следовать за инструк-
цией;
(8) - генерирует переопределение FS, может следовать за инструк-
цией;
(9) - генерирует переопределение GS, может следовать за инструк-
цией;
(10) - явный возврат управления ближнего типа;
(11) - явный возврат управления дальнего типа;
(12) - при переходах воспринимает аргумент ближнего или дальнего
типа;
(13) - размер операнда в операторе цикла определяется размером
сегмента;
(14) - аналогично LOOP;
(15) - размер операнда в цикле всегда равен слову (CX);
(16) - аналогично LOOPW;
(17) - размер операнда в цикле всегда равен двойному слову (ECX);
(18) - размер операнда в JCXZ равен слову (CX);
(19) - размер операнда в JECXZ равен двойному слову (ECX).
Компьютеры IBM PC и XT
-----------------------------------------------------------------
Мы сосредоточились на рассмотрении языка Ассемблера процес-
сора 8086, но суть вопроса состоит в том, что процессор 8086
представляет собой часть вычислительной системы, а на программи-
рование на языке Ассемблера в большой степени влияют аппаратная
конфигурация и операционная система.
Подавляющее большинство когда-либо написанных для процессора
8086 программ (и, возможно, большинство программ, написанных за
время существования ЭВМ) написаны для компьютеров IBM PC и XT и
совместимых с ними машин, которые работают под управлением опера-
ционной системы MS-DOS (далее мы будем просто называть это семей-
ство компьютеров IBM PC). Вы также, вероятно, планируете разраба-
тывать программы на Ассемблере для операционной среды IBM PC.
Без знания аппаратной конфигурации и операционной системы,
под управлением которой будут работать ваши программы, нельзя вы-
полнить ввод или вывод данных или даже завершить работу програм-
мы. Мы не будет обсуждать все возможности компьютеров IBM PC и
системного программного обеспечения, но расскажем о некоторых ос-
новных характеристиках IBM PC, предполагая, что вы самостоятельно
изучите соответствующие книги и руководства.
Устройства ввода и вывода
-----------------------------------------------------------------
Во всех компьютерах IBM PC имеется клавиатура, дисплейный
адаптер и монитор, а также дисковод на гибком диске. Часто также
имеются такие устройство, как модемы, принтеры, "мышь" и жесткие
диски. Каждое из этих устройств управляется с помощью весьма
сложной последовательности обращений к портам ввода-вывода или
памяти (или к тому и другому). Например, выбор нового видеорежима
на цветном графическом адаптере (CGA) требует выполнения более 30
инструкций OUT, а последовательности инструкций, использующиеся
для управления клавиатурой, модемом или диском еще более сложные.
Означает ли это, что для написания на Ассемблере полезных
программ для IBM PC вам потребуется освоить бесконечные последо-
вательности инструкций управления? Вовсе нет, системное прог-
раммное обеспечение вашего IBM PC выполнит за вас большую часть
этой работы.
Системное программное обеспечение для семейства IBM PC
-----------------------------------------------------------------
Системное программное обеспечение - это такое программное
обеспечение, которое служит для управления и используется в ка-
честве промежуточного уровня между прикладным программным обеспе-
чением (например, Турбо Ассемблером или Quattro) и аппаратным
обеспечением вашего компьютера (см. Рис. 4.9).
--------------------------------------------------------------
| Прикладное программное обеспечение |
--------------------------------------------------------------
| | |
| V |
| -------------------------------------- |
| | DOS | |
| | (обращение а DOS через функции | |
| | INT 21 и другие прерывания) | |
| -------------------------------------- |
| | |
| V V
| ---------------------------------
| | BIOS |
| | (обращение к базовой системе |
| | ввода-вывода (BIOS) через |
| | функции BIOS с помощью неко- |
| | торых прерываний) |
| ---------------------------------
| |
V V
--------------------------------------------------------------
| Аппаратное обеспечение IBM PC |
| Дисплейный адаптер, клавиатура, принтер, диск, "мышь", |
| джойстик и т.д. Обращение к устройствам - через порты |
| ввода-вывода и ячейки памяти (зависит от конкретных |
| устройств) |
--------------------------------------------------------------
Рис. 4.9 Программное обеспечение DOS и BIOS с точки зрения
управления и интерфейсного уровня.
В частности, системное программное обеспечение обрабатывает
все сложности организации интерфейса с отдельными устройствами.
Например, для того, чтобы обработать на вашем компьютере IBM PC
одно нажатие клавиши, требуется программа в несколько сотен строк
на Ассемблере, однако ваша программа может получить символ (код)
клавиши с помощью только одной системной функции. Это стало воз-
можным с помощью двух основных компонентов системного программно-
го обеспечения IBM PC: операционной системы DOS и базовой системы
ввода-вывода BIOS.
Как можно видеть на Рис. 4.9, системы программного обеспе-
чения DOS и BIOS служат управляющим и промежуточным уровнем между
прикладным программным обеспечением и аппаратным обеспечением IBM
PC. Прикладное программное обеспечение всегда имеет возможность
управлять аппаратными средствами непосредственно, но лучше по
возможности пользоваться функциями DOS и BIOS.
Операционная система DOS
-----------------------------------------------------------------
Операционная система DOS (известная также, как PC-DOS или
MS-DOS) - это программа, которая управляет вашим компьютером с
момента считывания им диска после включения питания и пока вы его
не выключите. DOS занимает часть из 640К доступной оперативной
памяти, но это малая плата за те трудности, с которыми пришлось
бы столкнуться при ее отсутствии. DOS выводит на экране подсказ-
ку A> или C> (или другую подсказку, если она задана на вашем
компьютере). Именно DOS воспринимает и выполняет такие команды,
как DIR.
Но это только видимая часть DOS. В операционной системе пре-
дусмотрено также большое число функций, которые широко использу-
ются любой прикладной задачей. С помощью функций DOS прикладные
задачи выполняют чтение из файлов и запись в них данных, получают
символы клавиш, или устанавливают и получают текущее время. Нап-
ример, фрагмент программы на Ассемблере:
.
.
.
mov ah,2 ; функция DOS вывода символа
mov dl,'A' ; A - это символ, который
; нужно вывести на экран
int 21h
.
.
.
вызывает функцию DOS вывода на экран, чтобы вывести символ A в
текущей позиции курсора.
Функции DOS следует вызывать, где это возможно, для таких
операций, как ввод с клавиатуры или из файла, вывод на экран или
в файл и печать информации. Поскольку сама операционная система
DOS - это не что иное, как программа на Ассемблере, ваши програм-
мы на Ассемблере могут делать все то, что делает операционная
система, но это нельзя назвать хорошим методом программирования.
Не все РС-подобные компьютеры одинаковы, и DOS часто скрывает
различия между ними. Таким образом, если вы игнорируете функции
DOS и выходите непосредственно на аппаратуру, ваши программы мо-
гут не работать на других машинах.
Кроме того может оказаться, что программы, работающие в об-
ход DOS, не смогут сосуществовать с другими программами, напри-
мер, с такими резидентными в памяти программами, как SideKick и
SuperKey. К тому же зачем писать лишний код, когда DOS уже сдела-
ла для вас эту работу? Короче, если функция DOS может выполнить
то, что вам нужно, используйте ее.
Основным справочником по функциям DOS может служить "Спра-
вочное руководство по DOS". (Имеется также ряд полезных русскоя-
зычных и англоязычных справочных программ по DOS, в которых можно
найти всю информацию по функциям DOS и BIOS.)
В том случае, когда DOS не обеспечивает нужную вам функцию,
можно использовать функцию BIOS. Мы кратко расскажем о функциях
BIOS, но давайте сначала рассмотрим наиболее существенные функции
DOS, выполняющие ввод, вывод и завершение программы.
|
adfun.ru
|
|
|
|