Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экзамен информатика.doc
Скачиваний:
27
Добавлен:
25.04.2019
Размер:
464.38 Кб
Скачать

38. Чтение из файла и запись в файл. Windows api процедуры записи и чтения файлов, их параметры.

Чтение и запись файла.

На языке Ассемблера существуют возможности работы с файлами, размещенными на диске. Причем, возможности эти представлены в полном объеме:

- можно открыть файл и читать из него информацию (причем, неважно, какой тип файла открывается – текстовый, исполняемый и т.п.)‏

- можно открыть файл для записи и соответственно дописывать в него

- можно открыть файл одновременно для записи и чтения.

- по окончании работы с файлом в программе – файл нужно закрыть!

ЧТЕНИЕ ФАЙЛА

Для чтения из файла нужно сначала получить дескриптор файла (для этого подойдет процедура CreateFile),

Затем использовать процедуру чтения, которая должна быть похожей на процедуру записи.

После открытия файла и запоминания его дескриптора за дело принимается процедура чтения файла ReadFile, устроенная так же, как и WriteFile. Ее параметры: дескриптор файла fHandle, адрес буфера, где окажутся прочитанные символы, число символов BSIZE, адрес переменной, хранящей число на самом деле прочитанных сим-волов: ADDR cRead и, наконец, завершающий NULL, нам уже знакомы.

Заметим, что количество на самом деле прочитанных символов не всегда равно указанному. Больше символов, чем есть в файле, прочитать нельзя. Сравнивая число прочитанных и число указанных символов, можно понять, что достигнут конец файла

ЗАПИСЬ В ФАЙЛ

Для записи в файл используется функция WriteFile,

Она имеет те же параметры, что и процедура WriteConsole:

1)дескриптор файла fHandle,

2)адрес области памяти, хранящей символы, — ADDR digs,

3)количество символов BSIZE,

4)адрес памяти, где хранится число действительно записанных в файл символов ADDR cWritten,

5)нулевой указатель NULL.

Файл читается последовательно.

39. Работа с вещественными числами на Ассемблере. Математический сопроцессор и его регистры. Форматы записи вещественных чисел.

Математический сопроцессор — сопроцессор для расширения командного множества центрального процессора и обеспечивающий его функциональностью модуля операций с плавающей запятой, для процессоров, не имеющих интегрированного модуля.

Регистры

В FPU можно выделить три группы регистров:

  • Стек процессора: регистры R0..R7. Размерность каждого регистра: 80 бит.

  • Служебные регистры

  • Регистр состояния процессора SWR (Status Word Register) — информация о текущем состоянии сопроцессора. Размерность: 16 бит.

  • Управляющий регистр сопроцессора CWR (Control Word Register) — управление режимами работы сопроцессора. Размерность: 16 бит.

  • Регистр слова тегов TWR (Tags Word Register) — контроль за регистрами R0..R7 (например, для определение возможности записи) Размерность: 16 бит.

  • Регистры указателей

  • Указатель данных DPR (Data Point Register). Размерность: 48 бит.

  • Указатель команд IPR (Instruction Point Register). Размерность: 48 бит.