Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Assembler (Уч_пос_Лаб_Ч1).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.43 Mб
Скачать

9.2.4. Задание к работе. Порядок выполнения

ВАРИАНТЫ 1-7 (табл. 4.3).

Таблица 4.3

Варианты заданий 1-7

Вариант

Система счисления

Выполняемая операция над байтами ASCII числа

Ввод с клавиатуры

Вывод на экран

1

восьмеричная

16-разрядный двоичный код, восьмеричная, десятичная

Циклический сдвиг вправо

на 1 байт

2

восьмеричная

16-разрядный двоичный код, восьмеричная, шестнадцатеричная

Циклический сдвиг влево на

1 байт

3

десятичная

16-разрядный двоичный код,

десятичная, восьмеричная

Определить байт с наибольшим ASCII-кодом

4

десятичная

16-разрядный двоичный код,

десятичная, восьмеричная

Определить байт с наименьшим ASCII-кодом

5

десятичная

16-разрядный двоичный код, десятичная, шестнадцатеричная

Произвести реверс байтов

ASCII числа

6

шестнадцатеричная

16-разрядный двоичный код, шестнадцатеричная, восьмеричная

Расположить цифры числа по

возрастанию

7

шестнадцатеричная

16-разрядный двоичный код, шестнадцатеричная, десятичная

Расположить цифры числа по

убыванию

Последовательность действий для выполнения задания.

  1. Вводится в буфер памяти знаковое ASCII-число в заданной системе счисления (в диапазоне эквивалентному представлению от –32768 до 32767) с последующим преобразованием его в 16-разрядный двоичный дополнительный код (внутреннее представление целочисленных данных).

  2. Рассматривая исходное ASCII-число в буфере как некоторую последовательность байт, выполните над ними заданное преобразование (операцию). Результат операции (новую последовательность байт) вывести на экран.

  3. Двоичный дополнительный код преобразуется в числовой ASCII-формат для различных оснований с последующим выводом на экран.

ВАРИАНТЫ 8-14 (табл. 4.4).

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

Таблица 4.4

Варианты заданий 8-14

Вари-ант

Система счисления для ввода чисел

Выполняемые операторы и форма вывода результата

8

восьмеричная

+  *

десятичная

EQ

True/false

9

восьмеричная

/ + 

шестнадцатеричная

NE

True/false

10

десятичная

 * /

двоичная

GE

True/false

11

десятичная

* / +

восьмеричная

GT

True/false

12

десятичная

 * /

шестнадцатеричная

GE

True/false

13

шестнадцатеричная

+  *

восьмеричная

LT

True/false

14

шестнадцатеричная

/ + 

десятичная

LE

True/false

Реализацию арифметических операторов выполнить на основе использования соответствующих арифметических команд (add, sub, imul, idiv, cwd), а логических операторов – команды cmp в сочетании с необходимыми командами условных переходов. Формат результата операции умножения при 16-раз-рядных входных сомножителях – 32 бита; внутренний формат делимого при 16-разрядных входных числах перед выполнением операции деления должен быть подвергнут расширению со знаком до 32 бит.

Соглашения (обязательные требования к разработке для всех 14 вариантов).

  • Программа должна включать один основной и несколько вспомогательных модулей (см. п. 9.2.5);

  • Диапазон вводимых знаковых чисел от –32768 до 32767, диапазон выводимых чисел такой же за исключением результата от выполнения операции умножения – увеличивается в два раза;

  • Ввод числа осуществляется по запросу программы. Первым вводится символ знака "–" (если число отрицательное), затем число старшими разрядами вперёд. Ввод числа заканчивается нажатием клавиши <Enter>.

  • "8"-,"10"- и "16"-тeричные вводимые и выводимые числа представляются в естественном виде (т.е. значащими цифрами модуля с указанием знака для отрицательных чисел), а двоичные – 16-разрядным дополнительным кодом. Числа должны представляться соответствующими сообщениями на экране дисплея и заканчиваться (кроме десятичных) спецификаторами оснований.

  • Ошибки ввода числа выявляются в процессе преобразования введённого числа в двоичный дополнительный код. К ним относятся:

  • ошибка переполнения, когда введённое число не укладывается в диапазон знаковых чисел 16-разрядного компьютера или, например, когда произошло переполнение при выполнении операций сложения или вычитания;

  • ввод недопустимого символа при изображении данного числа.

  • Если в ходе преобразования была обнаружена ошибка, то выводится сообщение о характере этой ошибки.

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

  • В конце каждого цикла преобразования программа выдаёт запрос на продолжение работы или её завершение. Управление осуществляется функциональными клавишами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]