- •Общие указания
- •Литература для самоподготовки
- •Лабораторная работа 1 изучение учебной микроэвм (умк)
- •1. Состав и конструкция учебной микроэвм
- •2 Описание и принцип работы узлов учебной микроэвм
- •2.5. Устройство блока питания (бп)
- •2. Описание клавиатуры и индикации
- •3. Команды системы “Монитор”
- •3.1. Индикация и изменение содержимого памяти
- •3.2. Индикация и изменение содержимого регистров
- •3.3. Передача управления программе пользователя
- •3.4. Определение контрольной суммы массива памяти
- •3.5. Заполнение массива памяти константой
- •3.6. Перемещение массива памяти в адресном пространстве
- •3.7. Прерывание выполнения программы пользователя
- •3.8. Пошаговое выполнение программы
- •2. Порядок выполнения работы
- •2. Порядок выполнения лабораторной работы
- •2. Порядок выполнения работы
- •3. Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №7 Тема: Изучение блока ввода-вывода информации на семисегментные индикаТоры
- •Методические указания
- •91034 Г. Луганск,
2. Порядок выполнения работы
2.1. Перевести адрес памяти, мнемокоды команд в шестнадцатеричные коды.
2.2. Загрузить коды программы в память.
2.3. .Выполнить программу в шаговом режиме. После выполнения каждой команды анализировать содержимое ячеек памяти и РОНов, участвующих в выполнении данной команды, записать слово состояние при выполнении команд.
2.4. .Выполнить программу в динамическом режиме и сопоставить результаты.
Таблица 3.1
Адрес памяти |
Мнемокод |
Комментарий |
|
800H 801H 802H |
LDA |
815 |
Загрузка в аккумулятор первого слагаемого из ячейки памяти с адресом 815 |
803H 804H 805H |
LXI H, |
848 |
Загрузка адреса второго слагаемого (848) в регистровую пару НL |
806H |
ADD M |
|
Сложение содержимого аккумулятора со вторым слагаемым и запись результата в аккумулятор |
807H 808H 809H |
LXI H, |
871 |
Загрузка адреса третьего слагаемого (871) в пару НL |
80AH |
ADD M |
|
Сложение содержимого аккумулятора с третьим слагаемым |
80BH 80CH 80DH |
STA, |
870 |
Запись суммы из аккумуляторов в ячейку памяти с адресом 870 |
80EH |
HLT |
|
Останов |
3.Содержание отчета
3.1. Схема алгоритма
3.2. Листинг программы с кодами команд и комментариями
3.3. Состояние шин адреса, данных и состояния при пошаговом выполнении команд
3.4. Выводы
Контрольные вопросы
1. Перечислить группы команд
2. Перечислить команды пересылки, арифметико-логические команды
3. Почему для размещения команд в памяти отводится различное число ячеек?
Лабораторная работа 4
Программирование алгоритмов с циклической структурой
Цель работы: приобретение навыков программирования алгоритмов с циклической структурой.
1. Общие указания
Алгоритм циклической структуры — алгоритм, в котором предусмотрено неоднократное выполнение одной и той же последовательности действий. Эту последовательность предписанных действий называют циклом. Циклический алгоритм позволяет существенно сократить объем программы.
Для организации цикла необходимо задать: начальное назначение параметра цикла — значение переменной, которая будет изменяться при повторяемых циклах; изменение значения параметра цикла перед каждым повторением цикла; проверку условия выхода из цикла и переход к началу цикла, если условие не выполнено. Для организации цикла в программе используются команды сравнения и логические: ANA, ANI, XRA, XRI, ORA, ORI, CMP, CPI.
Инкрементирование (декрементирование) данных в регистрах или ячейках памяти: INR, DCR, INX, DCX и команды условных переходов: JC, JNC, JZ, JNZ, JP, JRE, JRO.
Типовая блок-схема циклического алгоритма представлена на рис.4.1.
В блоке 1 устанавливается адрес счетчика команд начала программы. В блок 2 с помощью команды пересылки MUI устанавливается значение счетчика (количество повторений цикла). В блоке 3 помещается основная программа вычислительного процесса. В блоке 4 программируется увеличение (уменьшение) на единицу содержимого регистров, в которых хранятся адреса памяти переменных вычислительного процесса и счетчика циклов. В блоке 5 производится проверка равенства 0 счетчика циклов. Содержимое счетчика циклов проверяется с помощью любой из команд сравнения и по результатам сравнения программируется условный переход на начало цикла или окончание программы. В блоке 6 программируется конец программы с помощью команды END.
В качестве примера выполнения циклического алгоритма служит программа перезаписи «память — память» (табл. 4.1).
Программа выполняет переписывание информации из одной области памяти с начальным адресом NAM в другую с начальным адресом VAM. В область памяти с начальным адресом NAM предварительно вносится необходимая информация.
Рис.4.1.
Таблица 4.1
|
ORG |
815H |
;определение начала программы |
|
MVI H, |
CONST |
;загрузить в Н значение счетчика |
|
LXI B, |
NAM |
;загрузить в ВС начальный адрес исходной области памяти |
|
LXI D, |
VAM |
;загрузить в DE начальный адрес выходной области памяти |
MO: |
LDAX B |
|
;загрузить в аккумулятор байт данных из памяти, адрес который находиться в регистре ВС |
|
STAX D |
|
;переписать из аккумулятора информацию по адресу, находящемуся в DE |
|
INX B |
|
;увеличить содержимое ВС на единицу |
|
INX D |
|
;увеличить содержимое DЕ на единицу |
|
DCR H |
|
;уменьшить содержимое Н на единицу |
|
JNZ M0 |
|
;переход, если не=0 |
|
END |
|
;конец программы |