Изучение системы команд микро ЭВМ семейства МК51
МІНІСТЕРСТВО
ОСВІТИ І НАУКИ УКРАЇНИ
СУМСЬКИЙ
ДЕРЖАВНИЙ УНІВЕРСИТЕТ
КАФЕДРА
ЕЛЕКТРОННОЇ ТА КОМП’ЮТЕРНОЇ ТЕХНІКИ
Лабораторна
робота №1
по
дисципліні
«Мікропроцесорні
системи»
Виконав Гоженко
В.В.
студент
групи ЕС-01/1
Перевірив
Викладач Скордіна
О.М.
Суми
2014
Изучение системы команд микро ЭВМ семейства МК51
Цель работы - изучение функциональных
возможностей программы ISIS
Proteus, системы команд и
способов адресации данных в микро ЭВМ семейства МК51.
Ход работы
. В файл с расширением *.asm
впишите программу, реализующую следующую задачу:
· Запишите в R0
0-го банка памяти число 51;
· Запишите в R4
1-го банка памяти число 30;
· Загрузите в аккумулятор число 35Н;
· Переслать содержимое аккумулятора в
регистр R4 2-го банка памяти.
Программа на языке assembler
51:
Состояния регистров и внутренней памяти данных
после выполнения программы:
Рисунок 1 - Состояния регистров после выполнения
программы
Рисунок 2 - Состояния внутренней памяти после
выполнения программы
программа регистр адресация данные
2. В файл с расширением *.asm
впишите программу, реализующую следующую задачу:
· Установите указатель стека на ячейку
памяти 50Н;
· Поместите в регистр R2
1-го банка памяти число 40;
· Поместите в регистр R3
2-го банка памяти число 10;
· Загрузите в аккумулятор число 20 и
сложите с числом, хранящимся в регистре R3
2-го банка памяти;
· Сохраните содержимое в стеке;
· Сложите содержимое регистра R2
1-го банка памяти с числом, хранящимся в ячейке памяти, на которую указывает
указатель стека.
Программа на языке assembler
51:
org 0000h
jmp start: MOV
SP,#50HRS0R2,#40RS0RS1R3,#10A,#20A,R3ACCRS0RS1ACCA,R2
jmp start
Состояния регистров и внутренней памяти данных
после выполнения программы:
Рисунок 3 - Состояния регистров после выполнения
программы
Рисунок 4 - Состояния внутренней памяти после
выполнения программы
. В файл с расширение *.asm
впишите программу, реализующую следующую задачу:
Запишите в ячейки ОЗУ с 30Н по 40Н числа 1-16
соответственно, использую команду пересылки в резидентную память данных из
аккумулятора. Прочитайте в аккумулятор ячейку ОЗУ с номером 35Н, используя
команду с прямоадресуемым байтом.
Программа на языке assembler
51:
org 0000hstart0100h: MOV
R0,#30hA,#1: MOV @R0,AR0AA,#17,m1A,35hstart
Состояния регистров и внутренней памяти данных
после выполнения программы:
Рисунок 5 - Состояния регистров после выполнения
программы
Рисунок 6 - Состояния внутренней памяти после
выполнения программы
. В файл с расширение *.asm
впишите программу, реализующую следующую задачу:
Загрузите в ячейку памяти с номером 25H
число 0FH. Установите
в единицу 6-й и 4-й биты, а в 0 - 1-й и 3-й биты. Проинвертируйте 1-й и 5-й
биты.
Программа на языке assembler
51:
org 0000hstart0100h: mov
25h,#0Fh25h.425h.625h.125h.325h.125h.5start
Состояния регистров и внутренней памяти данных
после выполнения программы:
Рисунок 7 - Состояния регистров после выполнения
программы
Рисунок 8 - Состояния внутренней памяти после
выполнения программы
Значение 25h
ячейки принимало значение: 0Fh,
1Fh, 5Fh,
5Dh, 55h,
57h, 77h.