Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


REP Повтор




Команда: REP КОР (команда обробки рядків).

Логіка: while CX < > 0; для КОР MOVS, LODS або STOS

виконати КОР

CX = CX - 1

while CX < > 0; для КОР CMPS або SCAS

CX = CX - 1

if ZF = 0 то закінчуємо цикл.

REP - це префікс, що може бути вжитий перед будь-якою КОР (CMPS, LODS, MOVS, SCAS і STOS). Префікс REP змушує виконуватися наступну за ним КОР у повторному режимі доти, доки CX не стане рівним 0; CX зменшується на 1 після кожного виконання КОР. Для КОР CMPS і SCAS циклічний повтор переривається також, якщо ознака нульового результату ZF виявляється скинутою після чергового виконання КОР. КОР, яка повторюється і була перервана між повторами, буде коректно відновлена після повернення з переривання. Однак, якщо перед КОР знаходяться також інші префікси у доповнення до REP, то всі префікси, крім того, що безпосередньо знаходиться поперед команди, будуть втрачені. Якщо потрібно використовувати команду з декількома префіксами одночасно, то належить заборонити переривання на час виконання команди.

 

 

13. Информация на дисках содержится в файлах. Файл - это поименованная область на диске или

на другом носителе информации. В файлах могут храниться тексты программ, документы, готовые к выполнению программы и любые другие данные.

В операционной системе DOS обозначения файлов состоят из двух частей: имени и расширения. В имени файла может быть от 1 до 8 символов. В расширении файла может быть от 1 до 3 символов. Между именем и расширением ставится точка.

Когда требуется выполнить команды не с одним, а с группой файлов, используются маски файлов. Символ "*" означает любые символы в любом количестве. Символ "?" означает любой один символ.

Команды работы с файлами

копирование файла

создание текстового файла

вывод файла на печать

вывод файла на экран

переименование файла

удаление файла

склейка файлов

 

 

14. Создание, открытие, закрытие и удаление файла

Создание и открытие файла в Win32 производится одной функцией CreateFile. HANDLE CreateFi1eCLPCTSTR ipFileName, DWORD dwDesiredAccess. DWORD dwShareMode. LPSECURITY_ATTRIBUTES ipSecurityAttributes, DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes. HANDLE hTemplateFile):
Параметры данной функции имеют размер двойного слова.

Удаление файла

Для удаления файла применяется функция Del eteFi I e:
BOOL DeleteFile(LPCTSTR TpFileName);
У нее единственный параметр — указатель на ASCIIZ-строку с именем (путем) удаляемого файла. Перед удалением файл необходимо закрыть, хотя в некоторых версиях Windows это не является обязательным.
При удачном завершении функция возвращает ненулевое значение в регистре ЕАХ. В случае неудачи функция возвращает в регистре ЕАХ значение NULL.

 

 

15. Чтение-запись в файле производятся с текущей файловой позиции, на которую указывает

файловый указатель. Функция 42h MS DOS предоставляет гибкие возможности как для начального, так и для текущего позиционирования файлового указателя для последующей операции ввода-вывода.
Вход: АН = 42h; BX = дескриптор файла, полученный при его открытии; AL = начальное положение в файле, относительно которого производится операция чтения-записи (OOh — смещение (беззнаковое значение в CX:DX) от начала файла; O1h — смещение (значение со знаком в CX:DX) от текущей позиции в файле; 02h — смещение (значение со знаком в CX:DX) от конца файла); CX:DX = смещение новой позиции в файле относительно начальной.
Выход: CF = 0 — DX:AX = значение новой позиции в байтах относительно начала файла; CF = 1 — АХ = код ошибки: 1 — неверное значение в AL; 6 — недопустимый дескриптор файла.
Методы позиционирования, заданные величиной в AL, по-разному трактуют значение в паре регистров CX:DX. Метод al = 00 трактует значение в CX:DX как абсолютное. Два других метода (al = 01 и al = 02) трактуют содержимое CX:DX как значение со знаком. Необходимо быть внимательным при выполнении операции позиционирования для избежания последующих ошибок при операции чтения-записи. Так, значение в СХ: DX, позиционирующее указатель, может указывать за пределы файла. При этом выделяются два случая:

значение в СХ: DX указывает на позицию перед началом файла — в этом случае последующая операция чтения-записи будет выполнена с ошибкой;

значение в СХ:DX указывает на позицию за концом файла — в этом случае последующая операция записи приведет к расширению файла в соответствии со значением в CX:DX.

 

Запись в файл производится функцией 40h с текущей позиции файлового указателя. Вход: АН = 40 h; ВХ = дескриптор файла; СХ = количество байтов для записи;
DS:DX — указатель на область, из которой записываются данные. Выход: CF = 0 — АХ = число действительно записанных байтов в файл или устройство; CF = 1 — АХ = код ошибки: 5 — в доступе отказано; 6 — недопустимый дескриптор.
Если при вызове функции 40h регистр СХ равен нулю, то данные в файл не записываются и он усекается или расширяется до текущей позиции файлового указателя. Если СХ не равен нулю, то данные в файл записываются начиная с текущей позиции файлового указателя. Операция записи также продвигает файловый указатель на число действительно записанных байтов.
Положение файлового указателя можно изменять явно с помощью функции 42h

 

 





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 462 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Победа - это еще не все, все - это постоянное желание побеждать. © Винс Ломбарди
==> читать все изречения...

2268 - | 2092 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.