|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Задания 11. Написать программу сложения или вычитания двух n-байтовых чисел, где число n будет являться параметром. 2. Написать программу, вычисляющую сумму чисел от 1 до n с помощью цикла. 3. Написать программу, вычисляющую первые n чисел Фибоначчи. (Т.е. последовательность, в которой каждый последующий член является суммой двух предыдущих: 0,1,1,2,3,...) 4. Написать программу нахождения наибольшего общего делителя по алгоритму Евклида. (Берется исходная пара чисел. Из большего числа вычитается меньшее, потом меньшее число из первой пары и разность первой пары становятся следующей парой, и алгоритм повторяется снова до тех пор, пока в паре не окажутся одинаковые числа. Это и будет наибольшим общим делителем.) 5. Написать программы умножения и деления, используя команды сложения и вычитания. 6. Написать программу поиска максимального элемента в массиве. 7. Перемножить два беззнаковых 16-разрядных числа, используя команду 8-разрядного умножения.
8. Написать программы для вычисления приведенных ниже выражений, где переменные являются 8-разрядными положительными числами. Частное и остаток результата отдельно записать в память: Y=12/(14*A+(B-C+35)) 9. Y=(A*B-78)/(27*C+78) 10. Y=((4*A+B)-(2*A-45))/C 11. Y=(A+2*B-165)^2/(C+124) 12. Y=A^2/(25*B-C+119) 13. Y=A/(B-15*C+37). Задания 2 Составить программу на основе команд арифметических операций для вычисления следующего выражения согласно своему варианту: 1. Y = (А + В) / С 2. Y = (А - В) * (С - В) 3. Y = А - С / В 4. Y = (А + В - С) * В 5. Y = А * В + С 6. Y = А - В + С 7. Y = (А - С) / В 8. Y=A + C-B*C Принять значения А равным 14, В равным 2, С равным 4. Контрольные вопросы. 1. Объясните логику работы команд сложения и вычитания с учетом флагов С и OV. 2. Опишите способы адресации команд ADD, ADDC, SUBB. 3. Опишите способы адресации команд MUL, DIV. 4. Опишите способы адресации команд INC, DEC. 5. Как работает команда DA. 6. Для чего чаще всего используются команды INC и DEC. 7. В чем различие команд арифметических операций без учета и с учетом переноса. 8. Для каких целей применяются команды инкрементирования и декрементирования содержимого отдельных регистров. 9. Каким образом и с какой целью осуществляется десятичная коррекция аккумулятора. 10. В чем особенности команд умножения и деления MUL и DIV. В каком случае при их выполнении взводится флаг переполнения OV. ЛАБОРАТОРНАЯ РАБОТА №4 ЛОГИЧЕСКИЕ КОМАНДЫ. КОМАНДЫ СДВИГА И РАБОТЫ С БИТАМИ
Практическая часть.
Маскирование при вводе. Ввести в регистр R7 информацию из линий 0,1,3,4 и 7: MOV A,P1; Ввод байта из порта 1 ANL A,#10011011B; Маскирование MOV R7,A; Передача
;Выполнение подпрограммы ORG LOC; Восстановление счетчика адреса SERV: PUSH PSW; Запоминание регистра PSW PUSH AСС PUSH В PUSH DPI Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |