Порты ввода/вывода. Система управления МКЭВМ. Автономное использование МК-48. БИС расширителя ввода/вывода, страница 6

DJNZ Rn,ad

(Rn)ß(Rn)-1

если (Rn) не равно 0,

то(РС)0-7ßad

иначе (PC)ß(PC)+2

Пример: Повторить фрагмент команды 10 раз:

MOV R1,#10; счетчик циклов

INC A

DJNZ R1,CYCLE; если (R1) не равно 0

JC ad

Переход по флагу переноса

Если C=1, то (PC)0-7ßad

JNC ad

Если C=0, то (PC)0-7ßad

JZ adr

Переход по флагу признака 0

Если (А)=0, то (PC)0-7ßad

JNZ adr

Если (А)=1, то (PC)0-7ßad

JTO ad

Если T0=1, то (PC)0-7ßad

JNTO ad

Если T0=0, то (PC)0-7ßad

JT1 ad

Если T1=1, то (PC)0-7ßad

JNT1 ad

Если T1=0, то (PC)0-7ßad

JF0 ad

Если F0=1, то (PC)0-7ßad

JF1 ad

Если F1=1, то (PC)0-7ßad

JTF ad

Если TF=1, то (PC)0-7ßad TFß0

JNI ad

Если =0, то (PC)0-7ßad

JBb ad

где b=0,1…7 (номер бита аккумулятора)

если Bb=1,то (PC)0-7ßad

Пример:

MOV A,PSW

JB4 MET1

CALL ad11

(stack)ß(PSW)4-7 +(PC)0-10

(PC)0-10ßad

RET

(PC)0-10ß(stack)

RETR

Команды возврата из п/п обслуживания прерываний

(PC)0-10ß(stack)

(PSW)4-7ß(stack)

STRT T

Запуск таймера

STRT CNT

Запуск счетчика внешних событий.

На вход счетчика поступают сигналы с Т1.

STOP TCNT

Остановка таймера-счетчика

Командыпрерываний:

EN I

Разрешение прерываний

DIS I

Запретить внешнее прерывание

EN TCNTI

Разрешить прерывание таймера-счетчика (происходит переход на 007Н)

DIS TCNTI

Запретить –«-

SEL RB0

Выбор 0-го банка регистров

SEL RB1

Выбор 1-го банка регистров

SEL MB0

Выбор 0-го банка памяти (000-7FFH – 2Кб)

SEL MB1

(800H-FFFH)

SEL MB1

Реальный переход

CALL ad1

(JMP ad1)

ENT0 CLK

Разрешение вывода на Т0 тактовой частоты

NOP

Пустая команда

Стр. PAGE

JMP

CALL

0.   

04

14

1.   

24

34

2.   

44

54

3.   

64

74

4.   

84

94

5.   

A4

B4

6.   

С4

D4

7.   

E4

F4