Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная_работа_1-4(8086).doc
Скачиваний:
58
Добавлен:
21.03.2015
Размер:
217.09 Кб
Скачать

Перевод чисел в различные системы счисления

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

Перевод из десятичной системы счисления в двоичную осуществляется последовательными сдвигами на один бит вправо. Таким образом, значение очередного бита можно вычислить, проанализировав флаг переноса CF (если CF=1 то анализируемый бит был равен 1, и если CF=0, то анализируемый бит – 0).

Перевод из десятичной системы счисления в восьмеричную осуществляется последовательными сдвигами на три бита вправо. После очередного сдвига все биты кроме трех младших обнуляются (например, наложением маски командой AND). Таким образом, в регистре получается восьмеричная цифра, для получения ее символьного отображения к значению в регистре необходимо прибавить код нуля (30h).

Перевод из десятичной системы счисления в шестнадцатеричную осуществляется последовательными сдвигами на четыре бита вправо. После обнуления всех битов кроме четырех младших в регистре получается десятичный эквивалент шестнадцатеричной цифры (число от 0 до 15). Для его представления в шестнадцатеричной символьной форме необходимо организовать таблицу соответствия, которая в простейшем случае представляет собой следующую строку «0123456789ABCDEF». При перекодировании значение десятичного эквивалента используется как смещение в таблице относительно ее начала (перекодировка может осуществляться при помощи команды XLAT).

Лабораторная работа №3 Подпрограммы, работа с файлами через описатели.

Цель. Получить навыки организации подпрограмм и навыки работы с файлами через описатели.

Задание. Разработать программу в соответствии с вариантом задания, работающую с файлами, используя описатели.

Таблица. Варианты заданий

Вариант

Задание

1

Вывести на экран содержимое файла. Имя вводится с клавиатуры, если файл с указанным именем не существует, то выдать соответствующее сообщение.

2

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

3

Произвести переименование файла. Старое и новое имя вводится с клавиатуры, если файл с указанным именем не существует, то выдать соответствующее сообщение.

4

Произвести слияние файлов, имена которых вводятся с клавиатуры. Если файлы с указанными именами не существуют, то выдать соответствующие сообщения.

5

Произвести сравнение файлов, имена которых вводятся с клавиатуры. Если файлы с указанными именами не существуют, то выдать соответствующие сообщения.

6

Вычислить размер файла и вывести его на экран в десятичной форме. Имя файла вводится с клавиатуры, если файл с указанным именем не существует, то выдать соответствующее сообщение.

7

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

8

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

9

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

10

Подсчитать количество цифр в файле и вывести на экран результат в шестнадцатеричной форме. Имя файла задается пользователем, если файл с указанным именем не существует, то выдать соответствующее сообщение.