ЛАБОРАТОРНАЯ РАБОТА № 2.




ОРГАНИЗАЦИЯ ПАМЯТИ В МИКРО-ЭВМ.

 

Примеры программ с использованием прямой адресации для микро-ЭВМ «Энерго».

Программа имеет вид:

 

Адрес OBJ Метка КОП Операнды Комментарий:
          : младший байт числа
1000H 7D   MOV A, L : A <= L
1001H 2F   CMA   : A <= (-A)
1002H 5F   MOV E, A : E <= A
          : старший байт числа
1003H 7C   MOV A, H : A <= H
1004H 2F   CMA   : A <= (-A)
1005H     MOV D, A : D <= A
1006H     INX D : DE <= DE+1
1007H C3   JMP ENTRY : Выход в монитор с
1008H         : сохранением содержимых
1009H         : регистров
           

Ввод программы в микро-ЭВМ «Энерго»

 

Комментарий Клавиатура Дисплей
1. Включить микро-ЭВМ и осуществить сброс Reset "Энерго" "Энерго"
2. Ввод директивы Mem. просмотра и измения содержимого ячеек памяти ОЗУ Next Mem. ? П xxxx
3. Набор адреса 1000H 1, 0, 0, 0 П 1000
4. Ввод набранного адреса Next П 1000 xx
5. Набор данных 7D 7, D П 1000 7D
6. Ввод набранных данных, при этом осуществляется переход к следующей ячейки памяти Next П 1001 = xx
7. Набор следующих данных. 2, F П 1001 = 2F
8. Ввод набранных данных, при этом осуществляется переход к следующей ячейке памяти и т.д. Next П 1002 = xx
22. Набор последних данных 0, 0 П 1009 = xx
23. Ввод набранных данных Next П 100A = xx
24. Выход из директивы Mem. Reset "Энерго"
     

Теперь следует опять ввести директиву Mem. и аналогичным образом проверить содержимое ячеек памяти с адреса 1000H по адрес 1009H и если при вводе объектного кода программы была допущена ошибка, то исправить ее.

Загрузим NEX число в регистровую пару HL.

 

Комментарий Клавиатура Дисплей
    "Энерго"
1. Ввод директивы Reg. просмотра и изменения содержимого регистров МП. Next Reg. 9 (HL) ? r r xxxx HL
2. Ввод регистровой пары HL HEX числа 0001H 0, 0, 0, 1 r 0001 HL
4. Ввод набранного числа в регистровую пару HL, при этом осуществляется переход к следующей регистровой пары SP. Next r xxxx SP
5. Выход из директивы REG. Reset "Энерго"

 

Запуск программы на выполнение:

Комментарий Клавиатура Дисплей
1. Ввод директивы GO старты программы. Next Go ? G xxxx
2. Набор адреса старта 1000H 1, 0, 0, 0 G 1000
3. Запуск программы Next  

 

Программа выполняется мгновенно и на дисплее появится информация «br – Stop». Теперь необходимо просмотреть содержимое регистровой пары DE, куда помещен результат. Это делается с помощью рассмотренной директивы Reg. следующим образом.

Комментарий Клавиатура Дисплей
1. Ввод директивы Reg. Next ?
  Reg. r
  D (DE) r FFFF bE

 

HEX число 0FFFFH и есть дополнительный код HEX числа 0001H, хранящегося в регистровой паре HL.

 

Пример 2. Произвести подсчет числа единиц в байте, находящемся в аккумуляторе, результат поместить в регистр C и выйти в монитор.

 

Ввод программы в микро-ЭВМ осуществляется описанным выше способом посредством директивы Mem. После чего необходимо проверить правильность введенных кодов.

 

Программа имеет вид:

Адрес OBJ Метка КОП Операнды Комментарий:
1000H 0E   MVI C, OOH : C <= 0 счетчик
1001H          
1002H     MVI B, 08H : B <= 8 число сдвигов
1003H          
1004H   MET 1: RLC   : a7 <= a6 <= … <= a0 <= CY <= a7
1005H D2   JNC MET 2 : переход если CY равно 0
1006H          
1007H          
1008H 0C   INR C : C <= C + 1
1009H   MET 2: DCR B : B <= B - 1
100AH C2   JNZ MET 1 : переход если Z = 0
100BH          
100CH          
100DH C3   JMP ENTRY : выход в монитор
100EH          
100FH          

 

С помощью директивы Reg. в аккумулятор процессора вводиться байт C7 (5 единиц) и директивой Go 1000 программа запускается на выполнение.

После подсчета числа единиц в байте, находящемся в аккумуляторе процессора, произойдет выход в монитор и на дисплее появится информация «br-Stop».

Теперь, используя директиву Reg, можно убедиться, что байт, находящийся в аккумуляторе остался без изменения, а в регистре C находится число 05, соответствующее числу единиц содержимого аккумулятора.

 

Пример 3. Содержимое регистровой пары BC сложить с содержимым регистровой пары DE, результат суммы поместить в регистровую пару HL, после чего выйти в монитор.

 

Ввод программы осуществляется описанным выше способом, после чего производится проверка правильности введённых кодов.

В регистровые пары BC и DE заносятся любые два HEX числа, например, 02FFH и A301H. Их сумма появится после выполнения программы в регистровой паре HL, это будет число A600H.

 

 

Программа имеет вид:

Адрес OBJ Метка КОП Операнды Комментарий:
1000H     MOV A, C : A <= C
1001H     ADD E : A <= A + E
1002H 6F   MOV L, A : L <= A
          : сложение ст. байтов
1003H     MOV A, B : A <= B
1004H 8A   ADC D : A <= A+D+CY
1005H     MOV H, A : H <= A
1006H C3   JMP ENTRY : остановка процессора
1007H          
1008H          


Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-07-22 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: