- •Методические указания к лабораторным работам по дисциплине «компьютерная схемотехника»
- •Методические указания к лабораторным работам по дисциплине «компьютерная схемотехника»
- •Методические указания к лабораторным работам по курсу ««компьютерная схемотехника»
- •Общие указания
- •Литература для самоподготовки
- •Лабораторная работа 1 изучение учебной микроэвм (умк)
- •1. Состав и конструкция учебной микроэвм
- •2 Описание и принцип работы узлов учебной микроэвм
- •2.1.Тэз пц
- •2.2.Тэз пин
- •2. Описание клавиатуры и индикации
- •3. Команды системы “Монитор”
- •3.1. Индикация и изменение содержимого памяти
- •3.2. Индикация и изменение содержимого регистров
- •3.3. Передача управления программе пользователя
- •3.4. Определение контрольной суммы массива памяти
- •3.5. Заполнение массива памяти константой
- •3.6. Перемещение массива памяти в адресном пространстве
- •3.7. Прерывание выполнения программы пользователя
- •3.8. Пошаговое выполнение программы
- •4.Порядок выполнения работы
- •5.Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 3 программирование алгоритмов с линейной структурой
- •1.Общие указания
- •2.Порядок выполнения работы
- •3.Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 4
- •1. Общие указания
- •2. Порядок выполнения лабораторной работы
- •2. Порядок выполнения работы
- •2. Порядок выполнения работы
- •Методические указания
- •91034 Г. Луганск,
2. Порядок выполнения лабораторной работы
Изучить команды условных переходов микропроцессора К580ИК80А.
Предложить алгоритм выполнения циклического вычислительного процесса.
Составить циклическую программу для перезаписи из одной области памяти в другую своей фамилии на языке ассемблера.
Провести ассемблирование предложенной программы и ее набор на УМК.
Ввести в соответствующие ячейки памяти исходную информацию.
Выполнить программу в пошаговом режиме.
3. Содержимое отчета
Формат команд условных переходов
Алгоритм выполнения программы
Листинг программы
Выводы
Контрольные вопросы
Что такое цикл?
Какие команды микропроцессора КР580ИК80А используются для образования циклического процесса?
Что такое алгоритм циклической структуры?
Как организовывается счетчик циклов?
Лабораторная работа 5
Программирование алгоритмов
с разветвленной структурой
Цель работы:изучить способы выполнения программ с разветвленной структурой вычислительного процесса.
1. Общие сведения
Алгоритм разветвленной структуры — алгоритм, в котором предусмотрено изменение естественного порядка выполнения действий в зависимости от результата проверки какого-то условия. Изменять естественный порядок выполнения команд программы позволяют команды перехода (ветвления) и вызова программ. Существуют два способа изменения порядка выполнения команд программы: безусловный и условный переход.
При безусловном способе последовательность выполнения программы изменяется всякий раз, когда встречается команда безусловного перехода (JMP).
В соответствии со вторым способом последовательность изменяется только в том случае, если значение указанного условия совпадает с заданным. Для организации такого изменения служат команды условного перехода (см. лабораторную работу №4).
Обычно алгоритмы с ветвящейся структурой содержат в себе циклические элементы. Пример алгоритма с ветвящейся структурой можно рассматривать на примере многобайтных чисел. Диапазон чисел, представляемых в машинах с микропроцессором К580ИК80А, небольшой. Поэтому при сложении больших чисел (число байт больше двух) применяется побайтное сложение с переносом (ADC), причем операция начинается со сложения младших байтов. Все последующие байты складываются с переносом предыдущего сложения. Схема алгоритма сложения многобайтовых чисел приведена на рис.5.1.
Рис.5.1
Так, при сложении младших байтов входной перенос должен быть равен нулю, вводится команда очистки бита переноса.
Загрузка адресов памяти, в которых хранится значение байтов слагаемых чисел, производится с помощью команд LXI.
Запоминание результата можно осуществлять командой STAX.
В блоке 6 алгоритма осуществляется условный переход, который определяет по условию равенства нулю содержимое счетчика. Если счетчик не равен нулю, процесс сложения продолжается. При этом в седьмом блоке с помощью команд инкремента в регистрах адресов слагаемых байтов устанавливается следующий адрес и, используя команду безусловного перехода JMP,происходит возврат к блоку 4 для выполнения операции сложения. В случае равенства 0 содержимое счетчика вычислительный процесс прекращается и происходит переход на конец программы.
Программа сложения приведена в табл.5.1.
В программе N— количество байтов слагаемого числа,FIRST — адрес младшего байта 1-го слагаемого,SECND — адрес младшего байта 2-го слагаемого,LOOP, DONE— метки программы. Байты слагаемых чисел расположены в следующих друг за другом ячейках памяти, причем младший байт находится в ячейке с меньшим номером.
Таблица 5.1
|
MVI E, |
N |
Организация счетчика до N |
|
XRA A |
|
Очистка бита перехода |
|
LXI B, |
FIRST |
Загрузка адреса младших байтов обоих слагаемых в регистры BC и HL |
|
LXI H, |
SECOND | |
LOOP: |
LDAX B |
|
Загрузка байта из регистра BC в аккумулятор |
|
ADC M |
|
Сложение байтов запомнить в BC |
|
STAX B |
|
|
|
DCR E |
|
Уменьшить счетчик на 1 |
|
JZ DONE |
|
Условный переход по «0» |
|
INX B |
|
Увеличение BC на 1 |
|
INX H |
|
Увеличение HL на 1 |
|
JMP LOOP |
|
Перейти на метку |
DONE: |
HLT |
|
Выход |