Смекни!
smekni.com

Лабораторные по информатике (стр. 2 из 2)


Подробнаяструктурная схема.

 
 
 
 
 
 
 
 
 
 
 

 

 
 
 

 

 

Блок-схема: знак завершения: Конец.

 
Блок-схема: решение: R5=0
 
 
 

Программа.

NAME S

название модуля программы для сборки

CSEG AT 0H

задание сегмента памяти программ с адреса 0Н
ORG 9000H задание адреса начала программы с 9000Н

MOV P1,#10101010B

запись двоичного числа 10101010 в порт P1

CALL 87bdh

MOV P3,#11001101B

запись двоичного числа 11001101 в порт P3

CALL 87bdh

MOV A,P1

запись данных из P1 в аккумулятор

CALL 87bdh

CPL A

инвертирование данных в аккумуляторе

CALL 87bdh

MOV P1,A

запись данных из аккумулятора в порт Р1

CALL 87bdh

MOV A,P3

запись данных из порта P3 в аккумулятор

CALL 87bdh

CPL A

инвертирование данных в аккумуляторе

CALL 87bdh

MOV P3,A

запись данных из аккумулятора в порт Р3

CALL 87bdh

MOV 21H,P1

запись данных из порта P1 в ячейку памяти с адресом 21H

CALL 87bdh

MOV 23H,P3

запись данных из порта P3 в ячейку памяти с адресом 21H

CALL 87bdh

MOV P1,#01010101B

запись двоичного числа 01010101 в порт P1

CALL 87bdh

MOV A,P1

запись данных из порта P1 в аккумулятор

CALL 87bdh

CPL A

инвертирование данных в аккумуляторе

CALL 87bdh

MOV P1,A

запись данных из аккумулятора в порт P1

CALL 87bdh

MOV 20H,P1

запись данных из порта P1 в ячейку памяти с адресом 20H

CALL 87bdh

MOV P3,#11001100B

запись двоичного числа 11001100 в порт P3

CALL 87bdh

MOV A,P3

запись данных из порта P1 в аккумулятор

CALL 87bdh

CPL A

инвертирование данных в аккумуляторе

CALL 87bdh

MOV P3,A

запись данных из аккумулятора в порт P3

CALL 87bdh

MOV 22H,P3

запись данных из порта P3 в ячейку памяти с адресом 20H

CALL 87bdh

MOV R0,#20H

в регистр R0 заносится операнд 20H

CALL 87bdh

MOV DPTR,#0

адресация внешней памяти

CALL 87bdh

MOV R5, #10

загрузка счетчика

CALL 87bdh

M1: MOV A,@R0

пересылка в аккумулятор содержимого внутренней памяти

CALL 87bdh

MOVX @DPTR,A пересылка из аккумулятора во внешнюю память, адресуемую регистром DPTR
CALL 87bdh

INC R0

 увеличение адреса внутренней памяти на 1;

CALL 87bdh

INC DPTR

 увеличение адреса внешней памяти на 1;

CALL 87bdh

DJNZ R5,M1

уменьшение счетчика на 1 и проверка его на 0, если его значение не равно 0, то переход на M1
CALL 87bdh
NOP

END

Контрольныйпример.

В порты быливведены числа в двоичном формате: в P0 - 01010101; в P1-10101010; в P2 - 11001100; в P3 – 11001101. На дисплее платы эти числа были отображены вшестнадцатеричном виде: 55, AA, CC,CD соответственно. После выполнения программы этизначения были инвертированы: AA, 55, 33, 32 соответственнои записаны в ячейки внешней памяти. Результаты совпали с расчетными.