close

Вход

Забыли?

вход по аккаунту

?

лаба9(1)

код для вставкиСкачать
 ГБОУ СПО СПб КИТ
Лабораторная работа № 9
Программирование арифметических задач на Ассемблере для микропроцессора К580
Цель лабораторной работы - рассмотреть особенности выполнения простейших арифметических операций над целыми числами без знака на МП, познакомиться с программированием в машинных кодах и мнемокодах, научиться пользоваться средствами управления и клавиатурой устройств.
1 Сложение двухбайтовых десятичных чисел
Цель: Выполнить операцию сложения двух двухбайтных чисел
Таблица 1 - Программа PRG 1 сложения двух десятичных чисел
АдресКод Мнемоника Комментарий00003EMVI A,8AМладший байт первого слагаемого заносится в аккумулятор 8A16 A00018A0002060003B400048000053200065000070000083E000908000А06000В10000С88000D32000E51000F00001076 Данная программа выполняет операцию 88A16 + 10B416 = 193E16 (218610 + 427610 = 646210). Сначала складываются младшие байты чисел, затем старшие с учетом переноса в старший байт. Младший байт суммы содержится в ячейке памяти 0050, а старший байт суммы в ячейке памяти 0051. Проверить результат сложения. Выполнить индивидуальное задание. Заполнить третий и четвертый столбец таблицы 1. Проверить и зафиксировать в отчете содержимое регистра F после сложения младших и старших байтов, а также результат сложения. Программу выполнять в режиме команд. Индивидуальное задание 1
В отчете представить:
1. Арифметические вычисления в десятичной и шестнадцатеричной системе счисления.
2. Результат сложения двух чисел поместить в ячейки 0020 и 0021.
3. Скриншот программы до выполнения.
4. Скриншот программы после выполнения.
5. Таблицу с текстом программы и комментариями.
ВариантФИОЗадание (в десятичной с. с.)1Баканин Руслан1234+34782Болгов Иван2098+45123Бондаренко Михаил1980+34114Долин Ярослав2316+27895Жариков Евгений2561+34016Зайцев Дмитрий2309+32057Иванов Кирилл1234+56018Коркин Кирилл2094+41679Костюк Иван3400+217610Кривокора Владислав4309+218911Ливенский Александр4705+261212Логвинец Евгений3091+187013Новокшонов Павел 3890+167014Огаркова Анна3487+156915Осипов Антон4511+190816Осипов Владислав3284+215617Пасюта Александр2351+123018Прокофьев Виталий4181+214419Семячков Антон3091+238920Соболев Михаил2190+421121Степанов Игорь1904+389022Тимаревский Михаил2311+435623Черницын Матвей2111+2900243406+1940 2 Вычитание одинаковых по длине чисел
Цель: Выполнить операцию вычитания двух двухбайтных чисел.
Таблица 2 - Программа PRG 2 вычитания двух чисел.
АдресКод Мнемоника Комментарий00003E0001270002D600038300043200055000060000073E0008210009DE000А10000В32000С51000D00000E76 Данная программа выполняет операцию 212716 - 108316 = 10A416 (848710 - 422710 = 426010). Сначала из младшего байта уменьшаемого вычитается младший байт вычитаемого, результат помещается в ячейку памяти 0050. Далее с учетом заема в младший байт из старшего байта уменьшаемого вычитается старший байт вычитаемого, результат помещается в ячейку памяти 0051. Проверить результат вычисления. Выполнить индивидуальное задание. Заполнить третий и четвертый столбец таблицы 2. Проверить и зафиксировать в отчете содержимое регистра F после вычитания младших и старших байтов, а также результат вычитания чисел - ячейки памяти 0050 (младший байт разности) и 0051 (старший байт разности). Программу выполнять в режиме команд.
Проверьте правильность полученного результата для примера:
А30416 (4173210) - 7E2116(3228910) = 24E316(944310).
Самостоятельно, поместите результат вычислений в ячейки 0020 и 0021.
Индивидуальное задание 2
В отчете представить:
1. Арифметические вычисления в десятичной и шестнадцатеричной системе счисления.
2. Результат вычитания двух чисел поместить в ячейки 0020 и 0021.
3. Скриншот программы до выполнения.
4. Скриншот программы после выполнения.
5. Таблицу с текстом программы и комментариями.
ВариантФИОЗадание (в десятичной с. с.)1Баканин Руслан40567-340082Болгов Иван32891-234513Бондаренко Михаил23000-87114Долин Ярослав19834-76115Жариков Евгений23456-108886Зайцев Дмитрий45088-24567Иванов Кирилл54123-251208Коркин Кирилл63410-76549Костюк Иван43091-230910Кривокора Владислав45900-2109811Ливенский Александр50145-1098712Логвинец Евгений49800-3311113Новокшонов Павел 19089-890014Огаркова Анна36510-2098715Осипов Антон32198-1234516Осипов Владислав54009-2651117Пасюта Александр49001-5623418Прокофьев Виталий51234-2341119Семячков Антон36709-1209920Соболев Михаил34211-1098121Степанов Игорь41308-2576522Тимаревский Михаил54100-3414523Черницын Матвей23400-130222447890-2341
3 Команды логического умножения
Цель: исследование команд логического умножения.
Для выполнения заданий данного пункта необходимо перейти к двоичной форме записи содержания регистров. Таблица 3 - Программа PRG 3 логическое умножение
АдресКод Мнемоника Комментарий00003E0001A300020600038B0004A0000576 Здесь выполняется операция логического умножения чисел:
101000112 (А316)  100010112 (8В16) = 100000112 (8316)
1010001110001011=10000011Проверить результат вычисления. Выполнить индивидуальное задание. Заполнить третий и четвертый столбец таблицы 3. Дописать программу, переместив результат вычислений из аккумулятора в ячейку 0020.
Индивидуальное задание 3
В отчете представить:
1. Арифметические вычисления в десятичной, шестнадцатеричной и двоичной системе счисления.
2. Результат логического умножения двух чисел поместить в ячейку 0020.
3. Скриншот программы до выполнения.
4. Скриншот программы после выполнения.
5. Таблицу с текстом программы и комментариями.
ВариантФИОЗадание (в десятичной с. с.)1Баканин Руслан1052092Болгов Иван991233Бондаренко Михаил245984Долин Ярослав1901075Жариков Евгений211896Зайцев Дмитрий2411207Иванов Кирилл1981328Коркин Кирилл2091119Костюк Иван23912310Кривокора Владислав12315611Ливенский Александр21020112Логвинец Евгений14623413Новокшонов Павел 6613814Огаркова Анна7819915Осипов Антон9813916Осипов Владислав5620017Пасюта Александр18911218Прокофьев Виталий9911019Семячков Антон1149820Соболев Михаил14912221Степанов Игорь2195422Тимаревский Михаил2514523Черницын Матвей19811724139120
4 Команды обнуления битов Цель: исследование команд маскирования.
Для выполнения заданий данного пункта необходимо перейти к двоичной форме записи содержания регистров. Таблица 4 - Программа PRG 4 маскирование
АдресКод Мнемоника Комментарий00002100014000020000033E0004330005360006210007А6000876 С помощью байта-маски 001000012 (2116) сбрасывается 1-й и 4-й биты байта 001100112 (3316). Здесь выполняется операция логического умножения чисел:
001100112 (3316)  001000012 (2116) = 001000012 (2116)
0011001100100001=00100001Проверить результат вычисления и зафиксировать в отчете содержимое регистров A, F. Выполнить индивидуальное задание. Заполнить третий и четвертый столбец таблицы 4. Дописать программу, переместив результат вычислений из аккумулятора в ячейку 0020. Индивидуальное задание 4
В отчете представить:
1. Арифметические вычисления в шестнадцатеричной и двоичной системе счисления.
2. Результат логического умножения двух чисел поместить в ячейку 0020.
3. Скриншот программы до выполнения.
4. Скриншот программы после выполнения.
5. Таблицу с текстом программы и комментариями.
Задание: в соответствии с таблицей кодировки символов ASCII найти код символа и при помощи маски обнулить пятый бит (в результате из кода прописной буквы получится код строчной буквы).
ВариантФИОСимвол1Баканин РусланA2Болгов ИванS3Бондаренко МихаилD4Долин ЯрославF5Жариков ЕвгенийG6Зайцев ДмитрийH7Иванов КириллJ8Коркин КириллK9Костюк ИванL10Кривокора ВладиславP11Ливенский АлександрO12Логвинец ЕвгенийI13Новокшонов Павел U14Огаркова АннаY15Осипов АнтонT16Осипов ВладиславR17Пасюта АлександрE18Прокофьев ВиталийW19Семячков АнтонQ20Соболев МихаилZ21Степанов ИгорьX22Тимаревский МихаилC23Черницын МатвейV24B
5 Команды логического сложения
Цель: исследование команд логического сложения.
Для выполнения заданий данного пункта необходимо перейти к двоичной форме записи содержания регистров. Таблица 5 - Программа PRG 5 логическое сложение чисел
АдресКод Мнемоника Комментарий00002100014000020000033E0004A300053600068B0007B6000876 Здесь выполняется операция логического сложения чисел:
101000112 (А316) + 100010112 (8В16) = 101010112 (АВ16)
+1010001110001011=10101011Проверить результат вычисления и зафиксировать в отчете содержимое регистров A, F. Выполнить индивидуальное задание. Заполнить третий и четвертый столбец таблицы 5. Дописать программу, переместив результат вычислений из аккумулятора в ячейку 0020. Индивидуальное задание 5
В отчете представить:
1. Арифметические вычисления в шестнадцатеричной и двоичной системе счисления.
2. Результат логического сложения двух чисел поместить в ячейку 0020.
3. Скриншот программы до выполнения.
4. Скриншот программы после выполнения.
5. Таблицу с текстом программы и комментариями.
ВариантФИОЗадание (в десятичной с. с.)1Баканин Руслан234+672Болгов Иван123+993Бондаренко Михаил141+2344Долин Ярослав123+1895Жариков Евгений237+1216Зайцев Дмитрий278+1907Иванов Кирилл207+1118Коркин Кирилл233+1989Костюк Иван209+17110Кривокора Владислав213+17711Ливенский Александр237+12812Логвинец Евгений241+19213Новокшонов Павел 231+12314Огаркова Анна200+12315Осипов Антон145+19216Осипов Владислав130+19917Пасюта Александр234+7818Прокофьев Виталий251+2219Семячков Антон167+3420Соболев Михаил200+9821Степанов Игорь178+11622Тимаревский Михаил189+8123Черницын Матвей170+12524207+128
6 Команды восстановления битов
Цель: исследование команд логического сложения.
Для выполнения заданий данного пункта необходимо перейти к двоичной форме записи содержания регистров. Таблица 6 - Программа PRG 6 маскирование
АдресКод Мнемоника Комментарий00003E00013300020E0003880004B1000576 С помощью байта-маски 100010002 (8816) устанавливаются единицы в 3-м и 7-м битах байта 001100112 (3316). Здесь выполняется операция логического сложения чисел:
100010002 (8816) + 001100112 (3316) = 101110112 (ВВ16)
+1000100000110011=10111011Проверить результат вычисления и зафиксировать в отчете содержимое регистров A, F. Выполнить индивидуальное задание. Заполнить третий и четвертый столбец таблицы 6. Дописать программу, переместив результат вычислений из аккумулятора в ячейку 0020. Индивидуальное задание 6
В отчете представить:
1. Арифметические вычисления в шестнадцатеричной и двоичной системе счисления.
2. Результат логического сложения двух чисел поместить в ячейку 0020.
3. Скриншот программы до выполнения.
4. Скриншот программы после выполнения.
5. Таблицу с текстом программы и комментариями.
Задание: в соответствии с таблицей кодировки символов ASCII найти код символа и при помощи маски восстановить пятый бит (в результате из кода строчной буквы получится код прописной буквы).
ВариантФИОСимвол1Баканин Русланq2Болгов Иванw3Бондаренко Михаилe4Долин Ярославr5Жариков Евгенийt6Зайцев Дмитрийy7Иванов Кириллu8Коркин Кириллi9Костюк Иванo10Кривокора Владиславp11Ливенский Александрm12Логвинец Евгенийn13Новокшонов Павел b14Огаркова Аннаv15Осипов Антонc16Осипов Владиславx17Пасюта Александрz18Прокофьев Виталийl19Семячков Антонk20Соболев Михаилj21Степанов Игорьh22Тимаревский Михаилg23Черницын Матвейf24d
7 Инвертирование чисел
Цель: исследование команд инвертирования чисел.
Для выполнения заданий данного пункта необходимо перейти к двоичной форме записи содержания регистров. Таблица 7 - Программа PRG 7 инвертирование числа
АдресКод Мнемоника Комментарий00003E00018A00022F000376 Здесь выполняется операция инвертирования числа
Не 100010102 (8А16) = 011101012 (7516)
не1000101001110101Проверить результат вычисления и зафиксировать в отчете содержимое регистров A, F. Выполнить индивидуальное задание. Заполнить третий и четвертый столбец таблицы 7. Дописать программу, переместив результат вычислений из аккумулятора в ячейку 0020. Индивидуальное задание 7
В отчете представить:
1. Арифметические вычисления в шестнадцатеричной и двоичной системе счисления.
2. Результат инверсии поместить в ячейку 0020.
3. Скриншот программы до выполнения.
4. Скриншот программы после выполнения.
5. Таблицу с текстом программы и комментариями.
ВариантФИОИнвертировать число (исходное в 10 с.с.) 1Баканин Руслан2452Болгов Иван2193Бондаренко Михаил434Долин Ярослав875Жариков Евгений456Зайцев Дмитрий897Иванов Кирилл1058Коркин Кирилл1789Костюк Иван23110Кривокора Владислав9011Ливенский Александр3012Логвинец Евгений18913Новокшонов Павел 3914Огаркова Анна8115Осипов Антон2916Осипов Владислав7317Пасюта Александр4918Прокофьев Виталий19419Семячков Антон20120Соболев Михаил7721Степанов Игорь3322Тимаревский Михаил4123Черницын Матвей12924115
8 Инвертирование флага переноса
Цель: исследование команд инвертирования.
Для выполнения заданий данного пункта необходимо перейти к двоичной форме записи содержания регистров. Таблица 8 - Программа PRG 8 инвертирование флага переноса регистра F
АдресКод Мнемоника Комментарий00003F000176 Здесь выполняется операция инвертирования флага переноса регистра F.
Проверить и зафиксировать в отчете содержимое регистра F до и после выполнения программы (скриншоты).
9 Инвертирование заданных битов числа
Цель: исследование команд инвертирования чисел.
Для выполнения заданий данного пункта необходимо перейти к двоичной форме записи содержания регистров. Таблица 9 - Программа PRG 9 инвертирование битов числа
АдресКод Мнемоника Комментарий00003E0001B100020E00038A0004A9000576 Здесь выполняется операция инвертирования 1, 3 и 7 бита байта 10110001 (В1) с помощью байта-маски 10001010 (8А).
не1011000110001010=00111011В результате получается число 001110112 (3В16). Проверить результат вычисления и зафиксировать в отчете содержимое регистров A, F. Выполнить индивидуальное задание. Заполнить третий и четвертый столбец таблицы 9. Дописать программу, переместив результат вычислений из аккумулятора в ячейку 0020. Индивидуальное задание 8
В отчете представить:
1. Арифметические вычисления в шестнадцатеричной и двоичной системе счисления.
2. Результат инвертирования поместить в ячейку 0020.
3. Скриншот программы до выполнения.
4. Скриншот программы после выполнения.
5. Таблицу с текстом программы и комментариями.
ВариантФИОИнвертировать 2-й, 4-й и 5-й биты числа
(исходное в 10 с.с.) 1Баканин Руслан2452Болгов Иван2193Бондаренко Михаил434Долин Ярослав875Жариков Евгений456Зайцев Дмитрий897Иванов Кирилл1058Коркин Кирилл1789Костюк Иван23110Кривокора Владислав9011Ливенский Александр3012Логвинец Евгений18913Новокшонов Павел 3914Огаркова Анна8115Осипов Антон2916Осипов Владислав7317Пасюта Александр4918Прокофьев Виталий19419Семячков Антон20120Соболев Михаил7721Степанов Игорь3322Тимаревский Михаил4123Черницын Матвей12924115
10 Сравнение чисел
Цель: исследование команд поразрядного сравнения чисел (операция исключающая или).
Для выполнения заданий данного пункта необходимо перейти к двоичной форме записи содержания регистров. Таблица 10 - Программа PRG 10 поразрядное сравнение чисел
АдресКод Мнемоника Комментарий00003E0001B10002EE0003B2000476 Здесь выполняется операция поразрядного сравнения числа 101100012 (В216).
1011000110110010=00000011В результате получается число 000000112 (0316). Проверить результат вычисления и зафиксировать в отчете содержимое регистров A, F. Выполнить индивидуальное задание. Заполнить третий и четвертый столбец таблицы 10. Дописать программу, переместив результат вычислений из аккумулятора в ячейку 0020. Индивидуальное задание 9
В отчете представить:
1. Арифметические вычисления в шестнадцатеричной и двоичной системе счисления.
2. Результат сравнения двух чисел поместить в ячейку 0020.
3. Скриншот программы до выполнения.
4. Скриншот программы после выполнения.
5. Таблицу с текстом программы и комментариями.
ВариантФИОСравнить поразрядно числа
(исходное в 10 с.с.) 1Баканин Руслан245 и 1342Болгов Иван219 и 2073Бондаренко Михаил43 и 1104Долин Ярослав87 и 1005Жариков Евгений45 и 986Зайцев Дмитрий89 и 1117Иванов Кирилл105 и 898Коркин Кирилл178 и 2099Костюк Иван231 и 19810Кривокора Владислав90 и 10011Ливенский Александр30 и 13012Логвинец Евгений189 и 19813Новокшонов Павел 39 и 12514Огаркова Анна81 и 11615Осипов Антон29 и 8116Осипов Владислав73 и 3717Пасюта Александр49 и 9418Прокофьев Виталий194 и 20019Семячков Антон201 и 15020Соболев Михаил77 и 10021Степанов Игорь33 и 6622Тимаревский Михаил41 и 9823Черницын Матвей129 и 18324115 и 151
1
Документ
Категория
Рефераты
Просмотров
10
Размер файла
376 Кб
Теги
лабораторная работа, лаба, лаба9, лабораторная
1/--страниц
Пожаловаться на содержимое документа