ЛАБОРАТОРНАЯ РАБОТА № 1
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ, ВЫВОД СИМВОЛОВ,
ВЫВОД ДВОИЧНЫХ ЧИСЕЛ
Цель работы
Целью настоящей работы является первоначальное знаком-
ство с программой Debug — важнейшим помощником разработ-
чика программ на языке Ассемблер. С помощью этой программы
производится анализ и заполнение ячеек регистровой и опера-
тивной памяти, осуществляется пошаговое выполнение програм-
мы. Другая цель: знакомство с некоторыми инструкциями Ас-
семблера, выполняющими арифметические операции, знакомство
с инструкциями программного прерывания, с инструкциями пе-
ресылки данных, операторами сдвигов, операторами циклов.
В процессе выполнения работы решается практически важ-
ная задача вывода чисел на экран, осуществляется вывод на экран
двоичного числа в виде последовательности единиц и нулей.
ЛАБОРАТОРНАЯ РАБОТА № 2
ВВОД-ВЫВОД ЧИСЕЛ, ПРОГРАММИРОВАНИЕ
НА АССЕМБЛЕРЕ
Цель работы
В процессе выполнения работы решается практически важ-
ная задача вывода чисел на экран и их ввода с клавиатуры. Дан-
ная задача решается в следующей последовательности. Во-
первых, рассматривается задача вывода на экран шестнадцате-
ричных чисел. Во-вторых, рассматривается ввод шестнадцате-
ричных чисел с клавиатуры.
В ходе работы производится знакомство с очень важными
понятиями флагов состояния, стека и процедуры. Изучаются ин-
струкции для работы с этими объектами, а также инструкции
сдвига, цикла, условных переходов и некоторые другие.
Для успешного выполнения лабораторной работы № 2 нуж-
но изучить из пособия [1] темы: 6. ВЫВОД НА ЭКРАН ЧИСЕЛ В
ШЕСТНАДЦАТЕРИЧНОЙ ФОРМЕ, 9. ВВОД С КЛАВИАТУРЫ
ШЕСТНАДЦАТЕРИЧНЫХ ЧИСЕЛ.
Одной из целей работы является развитие навыков алгорит-
мизации задач и отладки программ.
До сих пор нашим единственным помощником при написа-
нии и отладке машинных программ была системная программа
Debug. Мы и далее будем широко использовать Debug при отлад-
ке своих программ. Что касается написания программы, то тут
помощь Debug явно недостаточна, и процесс написания сколько-
нибудь сложной программы скорее всего продлится очень долго.
По этой причине мы переходим к написанию программ на языке
ассемблера.
Целью выполнения данной работы является получение на-
чальных навыков по разработке программ на языке ассемблера. А
именно — рассматриваются псевдооператоры, позволяющие раз-
рабатывать простые ассемблерные программы, а также произво-
дится первоначальное знакомство с системными программами
(EDIT, NASM), обеспечивающими преобразование программы на
языке ассемблера в машинную программу.
КОНТРОЛЬНАЯ РАБОТА № 1
ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В ЭВМ И ЭЛЕМЕНТЫ
ЯЗЫКА АССЕМБЛЕРА
Контрольная работа № 1 компьютерная и выполняется в
диалоге с контролирующей программой. Ниже приводятся при-
меры решений заданий и методические рекомендации по их вы-
полнению.
КОНТРОЛЬНАЯ РАБОТА № 2
РАЗРАБОТКА ПРОГРАММЫ НА АССЕМБЛЕРЕ
Введение
Целью выполнения данной работы является комплексная
проверка навыков программирования на языке ассемблера.
Результаты работы представляются в виде совокупности
следующих документов:
1) титульный лист;
2) дерево подпрограмм;
3) файловая структура программы;
4) блок-схемы алгоритмов процедур;
5) исходный файл (файлы) программы;
6) загрузочный модуль программы.
Пример титульного листа приведен в Приложении 4.
Пример дерева подпрограмм приведен в Приложении 3 (рис. 4).
Примеры файловой структуры программы приведены в [1]
рис. 56 и 57.
Основным требованием к блок-схемам алгоритмов процедур
является выполнение требований структурного программирова-
ния [приложение 3]. Примеры алгоритмов процедур приведены в
[1] на рис. 54.
Основным требованием к исходным модулям (файлам) про-
граммы является наличие комментариев.
Дерево подпрограмм, файловая структура программы и
блок-схемы процедур представляются в виде файлов, получен-
ных с помощью текстового редактора Word. Остальные докумен-
ты представляются в виде файлов с расширениями .asm и .com и
помещаются в папку CONTR2.
ЗаказатьВарианты заданий контрольной работы № 2
Вариант 1. По запросу программы пользователь вводит с
клавиатуры последовательность целых двузначных положитель-
ных десятичных чисел, разделенных пробелами. Ввод последова-
тельности заканчивается нажатием <Enter>.
Программа выводит на экран сумму этих чисел, представ-
ленную в десятичной и шестнадцатеричной системах счисления.
Вариант 2. По запросу программы пользователь вводит с
клавиатуры целое положительное десятичное число N. По сле-
дующему запросу он вводит с клавиатуры N целых трехзначных
положительных десятичных чисел, разделенных пробелами.
Программа выводит на экран сумму этих чисел, представ-
ленную в десятичной и «троичной» системах счисления.
Вариант 3. По запросу программы пользователь вводит с
клавиатуры последовательность целых трехзначных положитель-
ных десятичных чисел, разделенных пробелами. Ввод последова-
тельности заканчивается нажатием <Enter>.
Программа выводит наибольшее число из введенных, пред-
ставленное в десятичной и «пятиричной» системах счисления.
Вариант 4. По запросу программы пользователь вводит с
клавиатуры целое положительное десятичное число N. По сле-
дующему запросу он вводит с клавиатуры N целых трехзначных
положительных десятичных чисел, разделенных пробелами.
Программа выводит наибольшее число из введенных, пред-
ставленное в десятичной и шестнадцатеричной системах счисле-
ния.
Вариант 5. По запросу программы пользователь вводит с
клавиатуры последовательность целых трехзначных положитель-
ных десятичных чисел, разделенных пробелами. Ввод последова-
тельности заканчивается нажатием <Enter>.
Программа выводит наименьшее число из введенных, пред-
ставленное в десятичной и восмеричной системах счисления.
Вариант 6. По запросу программы пользователь вводит с
клавиатуры целое положительное десятичное число N. По сле-
дующему запросу он вводит с клавиатуры N целых трехзначных
положительных десятичных чисел, разделенных пробелами.
Программа выводит наименьшее число из введенных, пред-
ставленное в десятичной и «шестиричной» системах счисления.
23
Вариант 7. По запросу программы пользователь вводит с
клавиатуры последовательность целых трехзначных положитель-
ных десятичных чисел, разделенных пробелами. Ввод последова-
тельности заканчивается нажатием <Enter>.
Программа выводит последовательность этих же чисел, но
записанных в обратном порядке и в шестнадцатеричной системе
счисления.
Вариант 8. По запросу программы пользователь вводит с
клавиатуры последовательность целых трехзначных положитель-
ных десятичных чисел, разделенных пробелами. Ввод последова-
тельности заканчивается нажатием <Enter>.
Программа выводит эти же числа на экран в порядке убыва-
ния величины числа, причем в двоичной системе счисления.
Вариант 9. По запросу программы пользователь вводит с
клавиатуры последовательность целых трехзначных положитель-
ных десятичных чисел, разделенных пробелами. Ввод последова-
тельности заканчивается нажатием <Enter>.
Программа выводит эти же числа на экран в порядке возрас-
тания величины числа, причем в «девятиричной» системе счис-
ления.
Вариант 10. По запросу программы пользователь вводит с
клавиатуры целое положительное десятичное число N. По сле-
дующему запросу он вводит с клавиатуры N целых трехзначных
положительных десятичных чисел, разделенных пробелами.
Программа выводит эти же числа на экран в порядке возрас-
тания величины числа, причем в «троичной» системе счисления.
Вариант 11. По запросу программы пользователь вводит с
клавиатуры целое положительное десятичное число N. По сле-
дующему запросу он вводит с клавиатуры N целых трехзначных
положительных десятичных чисел, разделенных пробелами.
Программа выводит последовательность этих же чисел, но
записанных в обратном порядке и в восьмеричной системе счис-
ления.
Вариант 12. По запросу программы пользователь вводит с
клавиатуры целое положительное десятичное число N. По сле-
дующему запросу он вводит с клавиатуры N целых трехзначных
положительных десятичных чисел, разделенных пробелами.
24
Программа выводит эти же числа на экран в порядке убыва-
ния величины числа, причем в шестнадцатеричной системе счис-
ления.
Вариант 13. По запросу программы пользователь вводит с
клавиатуры сообщение на русском языке, заканчивающееся сим-
волом «.» или «!».
Программа выводит на экран это же сообщение, записанное
только заглавными буквами.
Вариант 14. По запросу программы пользователь вводит с
клавиатуры сообщение на русском языке, заканчивающееся сим-
волом «.» или «?».
Программа выводит на экран это же сообщение, записанное
только строчными (малыми) буквами.
Вариант 15. По запросу программы пользователь вводит с
клавиатуры сообщение на английском языке, заканчивающееся
символом «.» или «?».
Программа выводит на экран это же сообщение, записанное
только заглавными буквами.
Вариант 16. По запросу программы пользователь вводит с
клавиатуры сообщение на английском языке, заканчивающееся
символом «.» или «!».
Программа выводит на экран это же сообщение, записанное
только строчными (малыми) буквами.
Вариант 17. По запросу программы пользователь вводит с
клавиатуры два целых четырехзначных положительных десятич-
ных числа, разделенных знаком операции «+» или «–».
Программа выводит на экран результат операции в двух
системах счисления — в десятичной и в двоичной (в дополни-
тельном коде).
Вариант 18. По запросу программы пользователь вводит с
клавиатуры два целых четырехзначных положительных десятич-
ных числа, разделенных знаком операции « * »
Программа выводит на экран результат операции умноже-
ния.
Вариант 19. По запросу программы пользователь вводит с
клавиатуры два целых четырехзначных положительных десятич-
ных числа, разделенных знаком операции « / »
25
Программа выводит на экран результат операции деления
(частное и остаток).
Вариант 20. По запросу программы пользователь вводит с
клавиатуры два целых трехзначных положительных десятичных
числа.
Программа выводит на экран сообщение о том, делится ли
первое число на второе без остатка, а затем сообщение — делится
ли без остатка второе число на первое.
Примечание 1
При вводе с клавиатуры десятичного числа следует учесть,
что получение двоичного представления такого числа выполняет-
ся иначе по сравнению с шестнадцатеричным числом. При этом
каждую очередную десятичную цифру следует умножить на вес
позиции числа, а затем просуммировать результаты умножения.
Например, при вводе 3-значного числа первая цифра умножается
на сто, вторая — на десять, а третья цифра берется без изменения.
Примечание 2
Для перевода числа из десятичной системы счисления в лю-
бую другую воспользуйтесь алгоритмом вывода на экран деся-
тичных и шестнадцатеричных чисел, тема в пособии 14. ВЫВОД
НА ЭКРАН ДЕСЯТИЧНЫХ И ШЕСТНАДЦАТЕРИЧНЫХ ЧИ-
СЕЛ.
Для удобства наших клиентов, проходящих обучение на ФДО ТУСУРа, была создана данная форма заказа, с помощью которой Вы можете БЕСПЛАТНО УЗНАТЬ СТОИМОСТЬ оказания помощи в выполнении работ по тем дисциплинам, которые Вам необходимы. Если Вы хотите заказать ОПТОМ выполнение одного и более семестров, то мы предложим Вам выполнение работ под ключ по самым выгодным ценам. Пожалуйста свяжитесь с нами по следующим контактам
Помощь студентам ФДО ТУСУР