Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Eom_part1.doc
Скачиваний:
0
Добавлен:
28.08.2019
Размер:
411.65 Кб
Скачать

4.Приклади написання програм для оеом кр1816 ве48

4.1. Приклади використання команд передачі данних

1.1

Записати в резидентну память данних (РПД) в елементи памяті з адресaми 41 та 42 число 1С3FH.

LOAD: MOV R0,#41 ; завантаження в R0 показчика РПД

MOV @R0,#1CH ;завантаження в РДП числа 1СH

INC R0 ; переміщення показчика адреси РПД

MOV @R0,#3FH ; запис в РПД числа 3FH.

1.2.

Переслади поточний вміст таймера в R5 з збереженням вмісту аккумулятора.

XCHNG: XCH A,R5 ; обмін R5 і аккумулятора

MOV A,T ; пересилка вмісту таймера в аккумулятор

XCH A,R5 ; обмін R5 і аккумулятора

1.3

Передати вміст регістрів банка 0 в ЗПД, починаючи з адреси 50H:

MOV A,#10000B ; вибір банка регістрів 1

MOV PSW,A ;

MOV R0,#50H ; визначення посаткової адреси ЗПД

MOV R1,#0 ; визначення початкової адреси банку

регістрів

MOV R2,#8 ; лічильник регістрів (циклів) (----8

LOOP: MOV A,@R1 ; пересилка байта з регістра в ЗПД

MOVX @R0,A ; через аккумулятор

INC R0 ; переміщення показчика

INC R1

DJNZ R2,LOOP ; продовжити, якщо передані не всі

регістри

1.4

Ввести байт з порта 1 та перпедати його в порт 2.

TRAN: MOV A,#0FFH ; перевід порта 1 на режим вводу

OUTL P1,A ;

IN A,P1 ; ввод байта з порта 1 Вивести данні з порту в аккумулятор

OUTL P2,A ; вивод байта в порт 2

1.5

Вивести данні з порта P7

INPUT: MOVD A,P7 ; пересилка чотирьох бітів з порта 7 в

молодшу тетраду аккумулятора

1.6.

Обчислити добуток двох 4-бітних чисел, розміщених в молодших тетрадах ре-гістрів R0 i R1. Для обчислення використовується таблиця добутків для всіх комбінацій співмножників (всього 256). Добуток двох тетрад має формат 1 байт. Таким образом, необхідна таблиця добутків займає одну сторінку памяті. Дану таблицю удобно розмістити на третій сторінці РПП.

;ОБЧИСЛЕННЯ Z=XY

;R0=0000.XXXX

;R1=0000.YYYY

;X iY приймають значення 0 та 1

ORG 0 ; директива ассемблера, що задає початкову

адресу програми

MOV A,R0 ; пересилка множимого в аккумулятор

SWAP A ; облмін тетрадами аккумулятора

ORL A,R1 ; формування в аккумсуляторі адреси добутку

MOVP3 A,@A ; завантаження в аккумулятор добутку

ORG 0300H ; директива ассемблера, що задає початкову

адресу таблиці на третій сторінці РПП

;ДИРЕКТИВИ АССЕМБЛЕРА, ЩО ФОРМУЮТЬ ТАБЛИЦЮ ДОБУТКУ

DB 0,0,0,0,0,0,0,0; ;Z=0Y

DB 0,0,0,0,0,0,0,0

DB 10,11,12,…..10FH ;Z=1Y

. . .

. . .

DB 0FH0,0FH1,0FH2,. . . 0FH0FH; Z=0FY

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]