close

Вход

Забыли?

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

?

Лабораторная работа №9(Логвинец)

код для вставкиСкачать
 ГБОУ СПО СПб КИТ
Курсовая работа по теме "Программирование арифметических задач на Ассемблере для микропроцессора К580" Выполнил: Логвинец Евгений
Цель: изучение алгоритмов деление двух однобайтных чисел, составление и выполнение программы деления двух однобайтных чисел без знака.
3091(C1316) + 1870(74E16) = 4961(136116)
АдресКод Мнемоника Комментарий00003EMVI AМладший байт первого слагаемого заносится в аккумулятор 8A16 A000113000206MVI BЗаписать в регистр B00034EМладший байт второго слагаемого заносится в аккумулятор000480ADD BСложить младшие байты000532STA adrЗаписать содержимое аккумулятора B000620-Результат в ячейку 0020000700--00083EMVI AСтарший байт первого слагаемого заносится в аккумулятор00090C000А06MVI BЗаписать в регистр B000В07Старший байт второго слагаемого заносится в аккумулятор000С88ADС BСложить старшие байты000D32STA adrЗаписать содержимое аккумулятора B000E21000F00001076
Скриншот до выполнения:
После: Ответ: 1361
2 Вычитание одинаковых по длине чисел
Цель: Выполнить операцию вычитания двух двухбайтных чисел.
Таблица 2 - Программа PRG 2 вычитания двух чисел.
49800 (С28816) + 33111 (815716) = 16689(413116)
АдресКод Мнемоника Комментарий00003EMVI AМладший байт первого слагаемого заносится в аккумулятор 8A16 A000188000206MVI BЗаписать в регистр B000357Младший байт второго слагаемого заносится в аккумулятор000490ADD BВычесть младшие байты000532STA adrЗаписать содержимое аккумулятора B000620-Результат в ячейку 0020000700--00083EMVI AСтарший байт первого слагаемого заносится в аккумулятор0009С2000А06MVI BЗаписать в регистр B000В81Старший байт второго слагаемого заносится в аккумулятор000С98ADС BВычесть старшие байты000D32STA adrЗаписать содержимое аккумулятора B000E21000F00001076 Скриншот до:
После:
Ответ: 4131
3 Команды логического умножения
Цель: исследование команд логического умножения
146(92)234(EA)
100100112 (9216)  111010102 (EA16) = 1011111002 (17C16)
Таблица 3 - Программа PRG 3 логическое умножение
АдресКод Мнемоника Комментарий00003EMVI A, d8000192POP PSW000206MVI B, d80003EAMOV A,B0004A0ANA B000532STA adr000620-000700NOP000876HLT Здесь выполняется операция логического умножения чисел:
100100102 (9216)  111010102 (EA16) = 100000102 (8216)
1001001011101010=10000010
До:
После:
Ответ:82
4 Команды обнуления битов Цель: исследование команд маскирования.
Задание: в соответствии с таблицей кодировки символов ASCII найти код символа и при помощи маски обнулить пятый бит (в результате из кода прописной буквы получится код строчной буквы).
Таблица 4 - Программа PRG 4 маскирование
АдресКод Мнемоника Комментарий000021LXI H, d16000140MOV B, B000200NOP00033EMVI A, d8000449MOV C, C000536MVI M, d8000620-000786ADD M000832STA adr000920-000A00NOP000B76HLT С помощью байта-маски 001000002 (2016) сбрасывается 5-й бит байта I = 010010012 (4916). Здесь выполняется операция логического сложения чисел:
010010012 (4916)  001000002 (2016) = 011010012 (6916) = i +0100100100100000=01101001
До:
После:
5 Команды логического сложения
Цель: исследование команд логического сложения.
Для выполнения заданий данного пункта необходимо перейти к двоичной форме записи содержания регистров. Таблица 5 - Программа PRG 5 логическое сложение чисел
АдресКод Мнемоника Комментарий000021LXI H000140MOV B000200NOP00033EMVI A0004F1POP PSW000536MVI M0006C0RNZ0007B6ORA M000832STA adr000920-000A00NOP000B76HLT Здесь выполняется операция логического сложения чисел:
111100012 (F116) + 110000002 (C016) = 111100012 (F116)
+1111000111000000=11110001
До:
После:
Ответ: F1
6 Команды восстановления битов
Цель: исследование команд логического сложения.
Задание: в соответствии с таблицей кодировки символов ASCII найти код символа и при помощи маски восстановить пятый бит (в результате из кода строчной буквы получится код прописной буквы). Таблица 6 - Программа PRG 6 маскирование
АдресКод Мнемоника Комментарий000021LXI H 000140MOV B000200NOP00033EMVI A000437STC000536MVI M000620-000796SUB M 000832STA adr000920-000A00NOP000B76HLT С помощью байта-маски 001000002 (2016) устанавливаются единицы в 5 бите байта 001101112 (3716). Здесь выполняется операция логического вычитания чисел:
001101112 (3716) - 001000002 (2016) = 000101112 (1716)
-0011011100100000=00000111
До:
После:
7 Инвертирование чисел
Цель: исследование команд инвертирования чисел.
Для выполнения заданий данного пункта необходимо перейти к двоичной форме записи содержания регистров. Таблица 7 - Программа PRG 7 инвертирование числа
АдресКод Мнемоника Комментарий00003EMVI A00018AADC D00022FCMA000332STA adr000420-000500NOP000676HLT Здесь выполняется операция инвертирования числа
Не 101111012 (8А16) = 010000102 (4216)
не1011110101000010
До:
После:
Ответ:75
8 Инвертирование флага переноса
Цель: исследование команд инвертирования.
Для выполнения заданий данного пункта необходимо перейти к двоичной форме записи содержания регистров. Таблица 8 - Программа PRG 8 инвертирование флага переноса регистра F
АдресКод Мнемоника Комментарий00003FCMC000176HLT Здесь выполняется операция инвертирования флага переноса регистра F.
Скриншот до:
Скриншот после:
9 Инвертирование заданных битов числа
Цель: исследование команд инвертирования чисел.
Для выполнения заданий данного пункта необходимо перейти к двоичной форме записи содержания регистров. Таблица 9 - Программа PRG 9 инвертирование битов числа
АдресКод Мнемоника Комментарий00003EMVI A0001BDCMP L00020EXRI d800038AADC D0004A9XRA C000532STA adr000620000700NOP000876HLT Здесь выполняется операция инвертирования 1, 3 и 7 бита байта 101111012 (BD16) с помощью байта-маски 100010102 (8А16).
не1011110110001010=00110111В результате получается число 001101112 (3716). Скриншот до:
Скриншот после:
10 Сравнение чисел
Цель: исследование команд поразрядного сравнения чисел (операция исключающая или).
Для выполнения заданий данного пункта необходимо перейти к двоичной форме записи содержания регистров. Таблица 10 - Программа PRG 10 поразрядное сравнение чисел
АдресКод Мнемоника Комментарий00003EMVI A0001BDCMP L0002EEXRI d80003C6ADI000432STA adr000520000600NOP000776HLT Здесь выполняется операция поразрядного сравнения числа 101100012 (BD16) 101100012 (C616).
1011110111000110=01111010В результате получается число 011110102 (7B16).
Скриншот до:
Скриншот после:
Санкт-Петербург, 2013
Документ
Категория
Рефераты
Просмотров
26
Размер файла
1 269 Кб
Теги
логвинец, работа, лабораторная
1/--страниц
Пожаловаться на содержимое документа