Уважаемые программисты! Если вам нечего делать и вы хотите потренироваться в написании програм на Assembler и самоутвердиься, помогите в написании программы. Заранее благодарю. Вопросы и пожелания присылайте на мыло
illerium@yandex.ruПрограмма должна быть написана на Visual Studio Net, Microsoft Visual C++.NET
Ввести последовательно, по запросу программы, два числа в заданной системе счисления. Отдельной строкой вывести перечень выполняемых операций (операторов). Ввод пользователем оператора из предложенного списка инициирует программу на вывод результата для введённых чисел. Необходимо предоставить возможность пользователю в дальнейшем либо ввести другую операцию, либо следующую пару чисел с последующим выбором оператора.
Реализацию арифметических операторов выполнить на основе использования соответствующих арифметических команд (add, sub, imul, idiv, cwd), а логических операторов - команды cmp в сочетании с необходимыми командами условных переходов. Формат результата операции умножения при 16-разрядных входных сомножителях 32 бита; внутренний формат делимого при 16 разрядных входных числах перед выполнением операции деления должен быть подвергнут расширению со знаком до 32 бит.
СОГЛАШЕНИЯ (обязательные требования к разработке задания).
- Диапазон вводимых знаковых чисел от -32768 до 32767, диапазон выводимых чисел такой же за исключением результата от выполнения операции умножения - увеличивается в два раза;
- Ввод числа осуществляется по запросу программы. Первым вводится символ знака "-" (если число отрицательное), затем число старшими разрядами вперёд. Ввод числа заканчивается нажатием клавиши <Enter>.
- "8"-,"10"- и "16"-тeричные вводимые и выводимые числа представляются в естественном виде (т. е. значащими цифрами модуля с указанием знака для отрицательных чисел), а двоичные - 16- разрядным дополнительным кодом. Числа должны представляться соответствующими со-общениями на экране дисплея и заканчиваться (кроме десятичных) спецификаторами оснований.
- Ошибки ввода числа выявляются в процессе преобразования введённого числа в двоичный дополнительный код. К ним относятся:
- ошибка переполнения, когда введённое число не укладывается в диапазон знаковых чисел 16-разрядного компьютера или, например, когда произошло переполнение при выполнении операций сложения или вычитания;
- ввод недопустимого символа при изображении данного числа.
- Если в ходе преобразования была обнаружена ошибка, то выводится сообщение о характере этой ошибки.
- Если при выполнении арифметической операции произошло переполнение, то выводится со-ответствующее сообщение, а сам результат не выводится.
- В конце каждого цикла преобразования программа выдаёт запрос на продолжение работы или её завершение. Управление осуществляется функциональными клавишами.
Система счисления для ввода чисел - десятичная
Выполняемые операторы и форма вывода результата - "-,*,/" ,шестнадцатеричная, GE, True/false