- •Команды языка ассемблера
- •3.2.1 Программные сегменты. Директива assume
- •6. Арифметические команды ……………………………………………….
- •Архитектура пк.
- •Регистры.
- •Регистры общего назначения.
- •1.1.2. Сегментные регистры
- •1.1.3 Регистр флагов
- •Организация памяти.
- •1.3. Представление данных
- •1.3.1 Типы данных
- •1.3.2 Представление символов и строк
- •Операторы программы на ассемблере
- •2.1 Команды языка ассемблера
- •2.2. Режимы адресации и форматы машинных команд
- •3. Псевдооператоры
- •3.1 Директивы определения данных
- •3.2 Структура программы на ассемблере
- •3.2.1 Программные сегменты. Директива assume
- •Начальная загрузка сегментных регистров
- •Упрощенная директива сегментации
- •4. Ассемблирование и компоновка программы.
- •5. Команды пересылки данных
- •5.1 Команды общего назначения
- •5.2 Команды работы со стеком
- •4.3 Команды ввода-вывода
- •5.4 Команды пересылки адреса
- •5.5 Команды пересылки флагов
- •6. Арифметические команды
- •Арифметические операции над целыми двоичными числами.
- •6.1.1 Сложение и вычитание.
- •6.1.2 Команды приращения и уменьшения приемника на единицу
- •6.2 Умножение и деление.
- •6.3 Изменение знака.
- •7. Логические операции
- •8. Сдвиги и циклические сдвиги
- •9. Строковые операции
- •10. Логика и организация программ
- •10.1 Безусловные переходы
- •10.2 Условные переходы
- •10.3 Циклы
- •10.4 Процедуры в языке ассемблера
- •10.5 Прерывания int
- •10.6 Системное программное обеспечение
- •10.6.1.1 Чтение клавиатуры.
- •10.6.1.2 Вывод символов на экран.
- •10.6.1.3 Завершение программ.
- •10.6.2.1 Выбор режимов дисплея.
- •11. Дисковая память
- •11.1 Оглавление диска (каталог)
- •11.2 Таблица распределения файлов
- •11.3 Операции ввода-вывода на диск
- •11.3.1 Запись файла на диск
- •11.3.1.1 Данные в формате asciiz
- •11.3.1.2 Файловый номер
- •11.3.1.3 Создание дискового файла
- •Чтение дискового файла
11. Дисковая память
Диск является распространенным средством для более или менее долговременного хранения данных. Процессы обработки данных на твердом диске (винчестре) аналогичны процессам для гибких дисков (дискет), за исключением того, что возможно потребуется обеспечить пути для доступа к многочисленным подоглавлениям винчестера. Для обработки файлов полезно ознакомиться с организацией дисковой памяти.
Каждая cторона 3 ½ дюймовой дискеты содержит 80-160 концентрических дорожек, пронумерованных от 00 до 79-159. На каждой дорожке форматируется девять секторов по 512 байтов каждый. На жестком диске вместо термина дорожки используются цилиндры.
Данные записываются на диск в виде файлов, аналогично тому, как вы записываете ассемблерные программы. На типы данных, которые можно хранить в файле, не существует каких-либо ограничений.
Для программирования дисковых файлов следует, в общих чертах ознакомится только с концепцией и терминологией.
11.1 Оглавление диска (каталог)
Для того, чтобы организовать хранение информации на диске, операционная система DOS резервируют определенные сектора для своих нужд. Организация данных на дискете или на твердом диске существенно зависит от их емкости. Форматированная двухстороняя дискета содержит следующую системную информацию:
А) Запись начальной загрузки (один кластер);
Б) Таблицу распределения файлов (FAT);
В) Каталог;
Г) Файлы данных.
Размеры FATа, каталога зависят от емкости диска. Записи заносятся сначала на 0-ю сторону n-й доpожки, затем на 1-ю сторону n-й дорожки, затем на 0-ю сторону n+1-й дорожки и т.д. Такая особенность заполнения дисковой памяти на противоположных дорожках снижает число перемещений головки дисковода. Данный метод используется как для гибких, так и для твердых дисков.
При использовании утилиты FORMAT/S для форматизации дискеты, модули DOS IBMBIO.COM и IBMDOS.COM записывается в первые сектора области данных.
Все файлы, даже меньшие 512 байт (или кратные 512), начинаются на границе сектора. Для каждого файла DOS создает элемент оглавления. Каждый такой элемент описывает элементы, определяющие имя, тип, атрибуты, дату, начальный сектор и pазмер файла.
Элементы оглавления имеют следующий формат:
Байт Назначение
0-7 Имя файла, определяемое из программы, создавшей
данный файл. Первый байт может указывать на статус
файла: шест.00 обозначает, что данный файл не
используется, шест.E5 - файл удален, шест. 2E -
элемент подоглавления.
8-10 Тип файла
11 Атрибут файла, определяющий его тип:
шест.00 - обычный файл;
шест.01 - файл можно только читать;
шест.02 - "спрятанный" файл;
шест.04 - системный файл DOS;
шест.08 - метка тома;
шест.10 - подоглавление;
шест.20 - архивный файл (для твердого диска).
12-21 Зарезервировано для DOS.
22-23 Время дня, когда файл был создан или последний раз
изменялся, в следующим двоичном формате:
¦чччччммммммссссс¦
24-25 Дата создания или последнего изменения файла, сжатая
в два слова в следующем двоичном формате:
¦гггггггм¦мммддддд¦
где год начинается с 1980 и может принимать значения
от 0 до 119, месяц - от 1 до 12, а день - от 1 до 31.
26-27 Начальный кластер файла. Относительный номер
последних двух секторов каталога. Первый файл данных
(без COM-модулей DOS) начинается на относительном
кластере 002. Текущая сторона, дорожка и кластер
зависят от емкости диска.
28-31 Размер файла в байтах. При создании файла DOS
вычисляет и записывает размер файла в это поле.
Все поля в каталоге диска, превышающие один байт, записываются в обратной последовательности байтов.