Главная страница
Случайная страница
КАТЕГОРИИ:
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Контрольна работа
Кафедра електропостачання та енергоменелджменту
з дисципліни «Обчислювальна та мікропроцесорна техніка»
Студент гр. Мороз М В
Керівник __________________________________ доцент. В.Л.Біляєв
Одеса 2015
Алгоритм до задачі 1
Таблица 1 – Текст программы к заданию 1
Адрес
| Мнемокод
| Машинный код
| Комментарий
|
| LDA 0BAF
| 3A
| Число " В" которое находится в ячейке 0BAF пересылается в аккумулятор (прямая адресация)
|
|
| AF
|
|
| 0B
|
| MOV B, A
|
| Число " В" из аккумулятора перемещаем в регистр " В" (регистровая адресация)
|
| lda 0BB0
| 3A
| Число " А" которое находится в ячейке 0BB0 пересылается в аккумулятор (прямая адресация)
|
|
| B0
|
|
| 0B
|
| Add B
|
| Слаживаем числа " А", которое находится в аккумуляторе и число " В" которое находится в регистре " В", ответ записывается в аккумулятор (А+В) (регистровая адресация)
|
| LXI H, 0BAE
|
| Записываем в регистр HL номер ячейки где хранится число " С" (непосредственная адресация)
|
|
| AE
| 080A
|
| 0B
| 080B
| ADD M
|
| Слаживаем числа которое находится в аккумуляторе (А+В) и число " С" адрес которого находится в регистре HL, ответ записывается в аккумулятор (А+В+С) (косвенно регистровая адресация)
| 080C
| LXI D, 0BAD
|
| Записываем в регистр DE номер ячейки где будет хранится результат " D" (непосредственная адресация)
| 080D
|
| AD
| 080E
|
| 0B
| 080F
| STAX D
|
| выполняем пересылку числа из аккумулятора в ячейку внешней памяти, адрес которой хранится в регистре DE (косвенная адресация)
|
| HLT
|
| окончание программы
|
Алгоритм до задачі 2
Таблица 3 – Текст программы к заданию 2
Адрес
| Мнемокод
| Машинный код
| Комментарий
|
| LDA 0BAF
| 3A
| Число " В" которое находится в ячейке 0BAF пересылается в аккумулятор (прямая адресация)
|
|
| AF
|
|
| 0B
|
| MOV B, A
|
| Число " В" из аккумулятора перемещаем в регистр " В" (регистровая адресация)
|
| LDA 0BB0
| 3A
| Число " А" которое находится в ячейке 0BB0 пересылается в аккумулятор (прямая адресация)
|
|
| B0
|
|
| 0B
|
| SUB B
|
| Вычитаем из числа " А", которое находится в аккумуляторе и число " В" которое находится в регистре " В", ответ записывается в аккумулятор (А+В) (регистровая адресация)
|
| LXI H, 0BAE
|
| Записываем в регистр HL номер ячейки где хранится число " С" (непосредственная адресация)
|
|
| AE
| 080A
|
| 0B
| 080B
| SUB M
|
| Вычитаем из числа которое находится в аккумуляторе (А+В) и число " С" адрес которого находится в регистре HL, ответ; записывается в аккумулятор (А+В+С) (косвенно регистровая адресация)
| 080C
| LXI D, 0BAD
|
| Записываем в регистр DE номер ячейки где будет хранится результат " D" (непосредственная адресация)
| 080D
|
| AD
| 080E
|
| 0B
| 080F
| STAX D
|
| Выполняем пересылку числа из аккумулятора в ячейку внешней памяти, адрес которой хранится в регистре DE (косвенная адресация)
|
| HLT
|
| окончание программы
|
Завдання 3. Скласти алгоритм і програму маскування вказаних у варіанті за-
вдання розрядів числа X і вказаних у варіанті завдання розрядів числа Y;. З виділе-
них розрядів чисел X, Y, скласти число Z яке розмістити в елементі пам'яті.
Таблиця 1- Вихідні дані
Схема алгоритму
Таблица 2- Текст програми до завдання 1
Адрес
| Мнемокод
| Машинный код
| Комментарий
|
| MVI B, 3E
|
| Записываем Х в регистр В
|
|
| 3E
|
| MVI C, F4
| 0Е
|
|
| F4
| Записываем У в регистр С
|
| MOV A, B
|
| Перемещаем Х из регистра В в аккумулятор
|
| ANI 2A
| Е6
|
|
| 2A
|
| MOV B, A
|
| Маскируем Х
|
| MOV A, C
|
| Перемещаем Х из аккумулятора в В
|
| ANI 54
| Е6
| 080A
|
|
| 080B
| ORA B
| ВО
| Маскируем У
| 080C
| LXI H, 0BBO
|
| Записываем в регистровую пару HL адресс ячейки, в которой будет храниться результат
| 080D
|
| ВО
| 080E
|
| 0B
| 080F
| MOV M, A
|
| Перемещаем число из аккумулятора в ячейку, адресс которой храниться в HL
|
| HLT
|
| Конец
|
Завдання 4. Скласти алгоритм і програму маскування вказаних у варіанті за-
вдання розрядів числа X і і вказаних у варіанті завдання розрядів числа Y. Виділені
розряди числа X перемістити в старші розряди регістра D. Виділені розряди числа Y
перемістити в молодші розряди регістра D
Таблиця 3-Вихідні данні
Алгоритм
- Початок
- Х → А
- Зсув вліво
- Маскуємо 5-0 розряди Х → А
- А → В
- Х → А
- Подвійний зсув вліво Х → А
- Маскуємо 7, 6, 3-0 розряди Х → А
- Логічне додавання А і В → А
- А → В
- Х → А
- Потрійний зсув вліво Х → А
- Маскуємо 7-4, 2-0 розряди Х → А
- Логічне додавання А і В → А
- А → В
- Y → А
- Зсув вправо на 5 розрядів Y → A
- Маскуємо 7-3, 1, 0 розряди Y → А
- Логічне додавання А і В → А
- А → В
- Y → А
- Потрійний зсув вправо Y → А
- Маскуємо 7-2, 0 розряди Y → А
- Логічне додавання А і В → А
- А → В
- Y → А
- Зсув вправо Y → А
- Маскуємо 7-1 розряди Y → А
- Логічне додавання А і В → А
- Адрес Z → HL
- A за адресом з HL
- Кінець
Таблица 4- Текст програми до завдання 2
Адрес
| Мнемокод
| Машинный код
| Комментарий
|
| LDA 0BB0
| 3A
| Число " X" которое находится в ячейке 0BB0 пересылается в аккумулятор (прямая адресация)
|
|
| B0
|
|
| 0B
|
| RLC
|
| Сдвиг влево
|
| ANI CO
| E6
| Маскируем 5-0 разряд (числом 1100 0000)
|
|
| CO
|
| MOV B, A
|
| Число " Х" из аккумулятора перемещаем в регистр " В" (регистровая адресация)
|
| LDA 0BB0
| 3A
| Число " X" которое находится в ячейке 0BB0 пересылается в аккумулятор (прямая адресация)
|
|
| B0
|
|
| 0B
| 080A
| RLC
|
| Сдвиг влево
| 080B
| RLC
|
| Сдвиг влево
| 080C
| ANI 20
| E6
| Маскируем 7, 6, 4, 3, 2, 1, 0 разряд (числом 0010 0000)
| 080D
|
|
| 080E
| ORA B
| B0
| Логическое сложение числа из Аккумулятора и числа из регистра В
| 080F
| MOV B, A
|
| Число из аккумулятора перемещаем в регистр " В" (регистровая адресация)
|
| LDA 0BB0
| 3A
| Число " Y" которое находится в ячейке 0BB0 пересылается в аккумулятор (прямая адресация)
|
|
| B0
|
|
| 0B
|
| RLC
|
| Сдвиг влево
|
| RLC
|
| Сдвиг влево
|
| RLC
|
| Сдвиг влево
|
| ANI 10
| E6
| Маскируем 7, 6, 5, 4, 2, 1, 0 разряд (числом 0000 1000)
|
|
|
|
| ORA B
| B0
| Логическое сложение числа из Аккумулятора и числа из регистра В
|
| MOV B, A
|
| Число из аккумулятора перемещаем в регистр " В" (регистровая адресация)
| 081A
| LDA 0BAF
| 3A
| Число " Y" которое находится в ячейке 0BAF пересылается в аккумулятор (прямая адресация)
| 081B
|
| AF
| 081C
|
| 0B
| 081D
| RRC
| OF
| Сдвиг вправо
| 081E
| RRC
| OF
| Сдвиг вправо
| 081F
| RRC
| OF
| Сдвиг вправо
|
| RRC
| OF
| Сдвиг вправо
|
| RRC
| OF
| Сдвиг вправо
|
| ANI 04
| E6
| Маскируем 7, 6, 5, 4, 3, 1, 0 разряд (числом 0000 0100)
|
|
|
|
| ORA B
| BO
| Логическое сложение числа из Аккумулятора и числа из регистра В
|
| MOV B, A
|
| Число из аккумулятора перемещаем в регистр " В" (регистровая адресация)
|
| LDA 0BAF
| 3A
| Число " Y" которое находится в ячейке 0BAF пересылается в аккумулятор (прямая адресация)
|
|
| AF
|
|
| 0B
|
| RRC
| OF
| Сдвиг вправо
| 082A
| RRC
| OF
| Сдвиг вправо
| 082B
| RRC
| OF
| Сдвиг вправо
| 082C
| ANI 02
| E6
| Маскируем 7, 6, 5, 4, 3, 2, 0 разряд (числом 0000 0010)
| 082D
|
|
|
| 082E
| ORA B
| BO
| Логическое сложение числа из Аккумулятора и числа из регистра В
| 082F
| MOV B, A
|
| Число из аккумулятора перемещаем в регистр " В" (регистровая адресация)
|
| LDA 0BAF
| 3A
| Число " Y" которое находится в ячейке 0BAF пересылается в аккумулятор (прямая адресация)
|
|
| AF
|
|
| OB
|
| RRC
| OF
| Сдвиг вправо
|
| ANI 01
| E6
| Маскируем 7, 6, 5, 4, 3, 2, 1 разряд (числом 0000 0001)
|
|
|
|
| ORA B
| BO
| Логическое сложение числа из Аккумулятора и числа из регистра В
|
| LXI D, 0BAE
|
| Записываем в регистр DE номер ячейки где будет хранится результат " Z" (непосредственная адресация)
|
|
| AE
|
|
| OB
| 083A
| STAX D
|
| Выполняем пересылку числа из аккумулятора в ячейку внешней памяти, адрес которой хранится в регистре DE (косвенная адресация)
| 083B
| HLT
|
| Окончание программы
|
Завдання 5. Складіть програму порівняння п'ятих розрядів двох ці-
лих чисел X і Y; якщо розряди однакові, записати 1 в осередок M, якщо немає,
записати 0.
Таблиця 1- Вихідні дані
Схема алгоритму
Таблица 2- Текст програми до завдання 1
Адрес
| Мнемокод
| Машинный код
| Комментарий
|
| LDA 0B1С
| 3A
| Число " X" которое находится в ячейке 0B1С пересылается в акумулятор (прямая адресация)
|
|
| 1C
|
|
| 0B
|
| ANI 20
| E6
| Маскируем 7, 6, 4, 3, 2, 1, 0 разряд (числом 0010 0000)
|
|
|
| 085A
| MOV B, A
|
| Число " Х" из акумулятора перемещаем в регистр " В" (регистровая адресация)
| 085B
| LDA 0B1D
| 3A
| Число " Y" которое находится в ячейке 0B1D пересылается в акумулятор (прямая адресация)
| 085C
|
| 1D
| 085D
|
| 0B
| 085E
| ANI 20
| E6
| Маскируем 7, 6, 4, 3, 2, 1, 0 разряд (числом 0010 0000)
| 085F
|
|
|
|
| LXI H 0B1E
|
| Записываем в регистр HL номер ячейки где будет хранится результат " Z" (непосредственная адресация)
|
|
| 1E
|
|
| 0B
|
| CMP B
| B8
| Сравнение числа из Аккумулятора и числа из регистра В
|
| JZ 086C
| CA
| если Z=1 переходим по адресу 086C
|
|
| 6C
|
|
|
|
| MVI M 00
|
| в ячейку адрес которой хранится в регистровой паре HL записываем число 0 (косвенно регистровая)
|
|
|
|
| JMP 086E
| C3
| переходим по адресу 086E
| 086A
|
| 6E
| 086B
|
|
| 086C
| MVI M 01
|
| в ячейку адрес которой хранится в регистровой паре HL записываем число 0 (косвенно регистровая)
| 086D
|
|
| 086E
| HLT
|
| окончание программы
|
Завдання 6. Скласти алгоритм і програму маскування вказаних у варіанті за-
вдання розрядів числа X і і вказаних у варіанті завдання розрядів числа Y. Виділені
розряди числа X перемістити в старші розряди регістра D. Виділені розряди числа Y
перемістити в молодші розряди регістра D
Таблиця 3- Вихідні данні
Схема алгоритму
Таблица 4- Текст програми до завдання 2
Адрес
| Мнемокод
| Машинный код
| Комментарий
|
| LDA 0B1C
| 3A
| Число " X" которое находится в ячейке 0B1C пересылается в акумулятор (прямая адресация)
|
|
| 1C
|
|
| 0B
|
| ANI 0F
| E6
| Маскируем 7, 6, 5, 4 разряд (числом 0000 1111)
|
|
| 0F
| 085A
| MOV B, A
|
| Число " Х" из акумулятора перемещаем в регистр " В" (регистровая адресация)
| 085B
| LDA 0B1D
| 3A
| Число " Y" которое находится в ячейке 0B1D пересылается в акумулятор (прямая адресация)
| 085C
|
| 1D
| 085D
|
| 0B
| 085E
| ANI 0F
| E6
| Маскируем 7, 6, 5, 4 разряд (числом 0000 1111)
| 085F
|
| 0F
|
| LXI D 0B1E
|
| Записываем в регистр DE номер ячейки где будет хранится результат " Z" (непосредственная адресация)
|
|
| 1E
|
|
| 0B
|
| CMP B
| B8
| Сравнение числа из Аккумулятора и числа из регистра В
|
| JM 086E
| FA
| если S=1 переходим по адресу 086E
|
|
| 6E
|
|
|
|
| LDA 0B1D
| 3A
| Число " Y" которое находится в ячейке 0B1D пересылается в акумулятор (прямая адресация)
|
|
| 1D
|
|
| 0B
| 086A
| STAX D
|
| Число " Y" которое находится в акумуляторе пересылается в ячейку, адрес которой хранится в DE
| 086B
| JMP 0872
| C3
| переходим по адресу 0872
| 086C
|
|
| 086D
|
|
| 086E
| LDA 0B1C
| 3A
| Число " X" которое находится в ячейке 0B1C пересылается в акумулятор (прямая адресация)
| 086F
|
| 1C
|
|
| 0B
|
| STAX D
|
| Число " X" которое находится в акумуляторе пересылается в ячейку, адрес которой хранится в DE
|
| HLT
|
| окончание программы
|
|