Популярные услуги

Курсовой проект по деталям машин под ключ
КМ-4. Типовое задание к теме косвенные измерения. Контрольная работа - любой вариант за 5 суток.
КМ-3. Типовое задание к теме прямые измерения. Контрольная работа (ИЗ1) - любой вариант!
Курсовой проект по деталям машин под ключ в бауманке
ДЗ по ТММ в бауманке
Все лабораторные под ключ! КМ-1. Комбинационные логические схемы + КМ-2. Комбинационные функциональные узлы и устройства + КМ-3. Проектирование схем
КМ-3. Задание по Matlab/Scilab. Контрольная работа - любой вариант за 3 суток!
Допуски и посадки и Сборочная размерная цепь + Подетальная размерная цепь
ДЗ по матведу любого варианта за 7 суток
Любая лабораторная в течение 3 суток! КМ-1. Комбинационные логические схемы / КМ-2. Комбинационные функциональные узлы и устройства / КМ-3. Проектирование схем
Главная » Лекции » Инженерия » Микропроцессорные устройства (вопросы и ответы) » Классификация системы команд по функциональному признаку

Классификация системы команд по функциональному признаку

2021-03-09СтудИзба

4. Классификация системы команд по функциональному признаку (пересылки данных, арифметических и логических операций, операций над битами, передачи управления), временные параметры исполнения команд.

Oбозначения, используемые при описании команд.

· Rn (n = 0, 1,..., 7) – регистр общего назначения в выбранном банке регистров;

· @Ri(i= 0, 1) – регистр общего назначения в выбранном банке регистров, используемый в качестве регистра косвенного адреса;

· ad – адрес прямоадресуемого байта;

· ads – адрес прямо адресуемого байта-источника;

· add – адрес прямо адресуемого байта-получателя;

· ad11 – 11-разрядный абсолютный адрес перехода;

· ad16 – 16-разрядный абсолютный адрес перехода;

· rel – относительный адрес перехода;

Рекомендуемые материалы

· #d – непосредственный операнд;

· #d16 – непосредственный операнд (2 байта);

· bit – адрес прямо адресуемого бита;

· /bit – инверсия прямо адресуемого бита;

· А - аккумулятор;

· РС – счетчик команд;

· DPTR – регистр указатель данных;

· ( ) – содержимое ячейки памяти или регистра,

Команды пересылки данных микроконтроллера 8051.

Эта группа представлена 28 командами, их краткое описание приведено в таблице, где также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (Б) и время выполнения в машинных циклах (Ц).

Название команды

Мнемокод

КОП

Т

Б

Ц

Операция

Пересылка в аккумулятор из регистра (n=0÷7)

MOV A, Rn

11101rrr

1

1

1

(A) ¬ (Rn)

Пересылка в аккумулятор прямоадресуемого байта

MOV A, ad

11100101

3

2

1

(A) ¬ (ad)

Пересылка в аккумулятор байта из РПД   (i=0,1)

MOV A, @Ri

1110011i

1

1

1

(A) ¬ ((Ri))

Загрузка в аккумулятор константы

MOV A, #d

01110100

2

2

1

(A) ¬ #d

Пересылка в регистр из аккумулятора

MOV Rn, A

11111rrr

1

1

1

(Rn) ¬ (A)

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

MOV Rn, ad

10101rrr

3

2

2

(Rn) ¬ (ad)

Загрузка в регистр константы

MOV Rn, #d

01111rrr

2

2

1

(Rn) ¬ #d

Пересылка по прямому адресу аккумулятора

MOV ad, A

11110101

3

2

1

(ad) ¬ (A)

Пересылка по прямому адресу регистра

MOV ad, Rn

10001rrr

3

2

2

(ad) ¬ (Rn)

Пересылка прямоадресуемого байта по прямому адресу

MOV add, ads

10000101

9

3

2

(add) ¬ (ads)

Пересылка байта из РПД по прямому адресу

MOV ad, @Ri

1000011i

3

2

2

(ad) ¬ ((Ri))

Пересылка по прямому адресу константы

MOV ad, #d

01110101

7

3

2

(ad) ¬ #d

Пересылка в РПД из аккумулятора

MOV @Ri, A

1111011i

1

1

1

((Ri)) ¬ (A)

Пересылка в РПД прямоадресуемого байта

MOV @Ri, ad

0110011i

3

2

2

((Ri)) ¬ (ad)

Пересылка в РПД константы

MOV @Ri, #d

0111011i

2

2

1

((Ri)) ¬ #d

Загрузка указателя данных

MOV DPTR, #d16

10010000

13

3

2

(DPTR) ¬ #d16

Пересылка в аккумулятор байта из ПП

MOVC A, @A+DPTR

10010011

1

1

2

¬ ((A) +(DPTR))

Пересылка в аккумулятор байта из ПП

MOVC A, @A+PC

10000011

1

1

2

(PC) ¬ (PC)+1,

 (A) ¬ ((A)+(PC))

Название команды

Мнемокод

КОП

Т

Б

Ц

Операция

Пересылка в аккумулятор байта из ВПД

MOVX A, @Ri

1110001i

1

1

2

(A) ¬ ((Ri))

Пересылка в аккумулятор байта из расширенной ВПД

MOVX A,@DPTR

11100000

1

1

2

(A) ¬ ((DPTR))

Пересылка в ВПД из аккумулятора

MOVX @Ri, A

1111001i

1

1

2

((Ri)) ¬ (A)

Пересылка в расширенную ВПД из аккумулятора

MOVX @DPTR,A

11110000

1

1

2

((DPTR)) ¬ (A)

Загрузка в стек

PUSH ad

11000000

3

2

2

(SP) ¬ (SP) + 1, ((SP)) ¬ (ad)

Извлечение из стека

POP ad

11010000

3

2

2

(ad) ¬ (SP),

(SP) ¬ (SP) - 1

Обмен аккумулятора с регистром

XCH A, Rn

11001rrr

1

1

1

(A) ↔ (Rn)

Обмен аккумулятора с прямоадресуемым байтом

XCH A, ad

11000101

3

2

1

(A) ↔ (ad)

Обмен аккумулятора с байтом из РПД

XCH A, @Ri

1100011i

1

1

1

(A) ↔ ((Ri))

Обмен младших тетрад аккумулятора и байта РПД

XCHD A, @Ri

1101011i

1

1

1

(A0…3) ↔((Ri)0…3)

По команде MOV выполняется пересылка данных из второго операнда в первый. Эта команда не имеет доступа ни к внешней памяти данных, ни к памяти программ. Для этих целей предназначены команды M0VX и MOVC соответственно. Первая из них обеспечивает чтение/запись байт из внешней памяти данных, вторая – чтение байт из памяти программ.

По команде XCH выполняется обмен байтами между аккумулятором и ячейкой РПД, а по команде XCHD – обмен младшими тетрадами (битами 0 – 3).

Команды PUSH и РОР предназначены соответственно для записи данных в стек и их чтения из стека. Размер стека ограничен лишь размером резидентной памяти данных. В процессе инициализации микро-ЭВМ после сигнала сброса или при включении питающего напряжения в SP заносится код 07Н. Это означает, что первый элемент стека будет располагаться в ячейке памяти с адресом 08Н.

Группа команд пересылок микроконтроллера имеет следующую особенность - в ней нет специальных команд для работы со специальными регистрами: PSW, таймером, портами ввода-вывода. Доступ к ним, как и к другим регистрам специальных функций, осуществляется заданием соответствующего прямого адреса, т.е. это команды обычных пересылок, в которых вместо адреса можно ставить название соответствующего регистра. Например, чтение PSW в аккумулятор может быть выполнено командой MOV A, PSW, которая преобразуется Ассемблером к виду

MOV А, 0D0h (E5 D0), где Е5 – код операции, а D0 – операнд (адрес PSW).

Кроме того, следует отметить, что в микро-ЭВМ аккумулятор имеет два различных имени в зависимости от способа адресации: А – при неявной адресации (например, MOV A, R0) и АСС – при использовании прямого адреса. Первый способ предпочтительнее, однако, не всегда применим.

Команды арифметических операций 8051.

В данную группу входят 24 команды, краткое описание которых приведено в таблице. Из нее следует, что микроЭВМ выполняет достаточно широкий набор команд для организации обработки целочисленных данных, включая команды умножения и деления.

В таблице также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (Б) и время выполнения в машинных циклах (Ц).

Название команды

Мнемокод

КОП

Т

Б

Ц

Операция

Сложение аккумулятора с регистром (n=0÷7)

ADD A, Rn

00l01rrr

1

1

1

(A) ¬ (A) + (Rn)

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

ADD A, ad

00100101

3

2

1

(A) ¬ (A) + (ad)

Сложение аккумулятора с байтом из РПД (i = 0,1)

ADD A, @Ri

0010011i

1

1

1

(A) ¬ (A) + ((Ri))

Сложение аккумулятора с константой

ADD A, #d

00100100

2

2

1

(A) ¬ (A) + #d

Сложение аккумулятора с регистром и переносом

ADDC A, Rn

00111rrr

1

1

1

(A) ¬ (A) + (Rn) + (C)

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

ADDC A, ad

00110101

3

2

1

(A) ¬ (A) + (ad) + (C)

Сложение аккумулятора с байтом из РПД и переносом

ADDC A, @Ri

0011011i

1

1

1

(A) ¬ (A) + ((Ri)) + (C)

Сложение аккумулятора с константой и переносом

ADDC A, #d

00110100

2

2

1

(A) ¬ (A) + # d + (C)

Десятичная коррекция аккумулятора

DA A

11010100

1

1

1

Если (А0…3)>9 или ((AC)=1),то(А0…3)¬ (А0…З) + 6, затем если (А4…7) >9 или ((С)=1), то (А4…7) ¬ (А4…7) + 6

Вычитание из аккумулятора регистра и заёма

SUBB A, Rn

10011rrr

1

1

1

(A) ¬ (A) - (C) - (Rn)

Вычитание из аккумулятора прямоадресуемого байта и заема

SUBB A, ad

10010101

3

2

1

(A) ¬ (A) - (C) - ((ad))

Вычитание из аккумулятора байта РПД и заема

SUBB А, @Ri

1001011i

1

1

1

(A) ¬ (A) - (C) - ((Ri))

Вычитание из аккумулятора константы и заема

SUBB А, d

10010100

2

2

1

(A) ¬ (A) - (C) - #d

Инкремент аккумулятора

INC А

00000100

1

1

1

(A) ¬ (A) + 1

Название команды

Мнемокод

КОП

Т

Б

Ц

Операция

Инкремент регистра

INC Rn

00001rrr

1

1

1

(Rn) ¬ (Rn) + 1

Инкремент прямоадресуемого байта

INC ad

00000101

3

2

1

(ad) ¬ (ad) + 1

Инкремент байта в РПД

INC @Ri

0000011i

1

1

1

((Ri)) ¬ ((Ri)) + 1

Инкремент указателя данных

INC DPTR

10100011

1

1

2

(DPTR     ) ¬ (DPTR) + 1

Декремент аккумулятора

DEC A

00010100

1

1

1

(A) ¬ (A) – 1

Декремент регистра

DEC Rn

00011rrr

1

1

1

(Rn) ¬ (Rn) – 1

Декремент прямоадресуемого байта

DEC ad

00010101

3

2

1

(ad) ¬ (ad) – 1

Декремент байта в РПД

DEC @Ri

0001011i

1

1

1

((Ri)) ¬ ((Ri)) - 1

Умножение аккумулятора на регистр В

MUL AB

10100100

1

1

4

(B)(A) ¬ (A)*(В)

Деление аккумулятора на регистр В

DIV AB

10000100

1

1

4

(B).(A) ¬ (A)/(В)

По результату выполнения команд ADD, ADDC, SUBB, MUL и DIV устанавливаются флаги PSW, структура которых приведена в таблице.

Флаг С устанавливается при переносе из разряда D7, т. е. в случае, если результат не помещается в восемь разрядов; флаг АС устанавливается при переносе из разряда D3 в командах сложения и вычитания и служит для реализации десятичной арифметики. Этот признак используется командой DAA.

Флаг OV устанавливается при переносе из разряда D6, т. е. в случае, если результат не помещается в семь разрядов и восьмой не может быть интерпретирован как знаковый. Этот признак служит для организации обработки чисел со знаком.

Наконец, флаг Р устанавливается и сбрасывается аппаратно. Если число единичных бит в аккумуляторе нечетно, то Р = 1, в противном случае Р = 0.

Команды логических операций микроконтроллера 8051.

В этой группе 25 команд, их краткое описание приведено в таблице. Нетрудно видеть, что эти команды позволяют выполнять операции над байтами: логическое И (/ ), логическое ИЛИ ( /), исключающее ИЛИ ((+)), инверсию (NOT), сброс в нулевое значение и сдвиг. В таблице также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (Б) и время выполнения в машинных циклах (Ц).

Название команды

Мнемокод

КОП

Т

Б

Ц

Операция

Логическое И аккумулятора и регистра

ANL A, Rn

01011rrr

1

1

1

(A) ¬ (A) AND (Rn)

Логическое И аккумулятора и прямоадресуемого байта

ANL A, ad

01010101

3

2

1

(A) ¬ (A) AND (ad)

Логическое И аккумулятора и байта из РПД

ANL A, @Ri

0101011i

1

1

1

(A) ¬ (A) AND ((Ri))

Логическое И аккумулятора и константы

ANL A, #d

01010100

2

2

1

(A) ¬ (A) AND #d

Логическое И прямоадресуемого байта и аккумулятора

ANL ad, A

01010010

3

2

1

(ad) ¬ (ad) AND (A)

Логическое И прямоадресуемого байта и константы

ANL ad, #d

01010011

7

3

2

(ad) ¬ (ad) AND #d

Логическое ИЛИ аккумулятора и регистра

ORL A, Rn

01001rrr

1

1

1

(A) ¬ (A) OR (Rn)

Логическое ИЛИ аккумулятора и прямоадресуемого байта

ORL A, ad

01000101

3

2

1

(A) ¬ (A) OR (ad)

Логическое ИЛИ аккумулятора и байта из РПД

ORL A, @Ri

0100011i

1

1

1

(A) ¬ (A) OR ((Ri))

Логическое ИЛИ аккумулятора и константы

ORL A, #d

01000100

2

2

1

(A) ¬ (A) OR #d

Логическое ИЛИ прямоадресуемого байта и аккумулятора

ORL ad, A

01000010

3

2

1

(ad) ¬ (ad) OR (A)

Логическое ИЛИ прямоадресуемого байта и константы

ORL ad, #d

01000011

7

3

2

(ad) ¬ (ad) OR #d

Исключающее ИЛИ аккумулятора и регистра

XRL A, Rn

01101rrr

1

1

1

(A) ¬ (A) XOR (Rn)

Исключающее ИЛИ аккумулятора и прямоадресуемого байта

XRL A, ad

01100101

3

2

1

(A) ¬ (A) XOR (ad)

Исключающее ИЛИ аккумулятора и байта из РПД

XRL A, @Ri

0110011i

1

1

1

(A) ¬ (A) XOR ((Ri))

Исключающее ИЛИ аккумулятора и константы

XRL A, #d

01100100

2

2

1

(A) ¬ (A) XOR #d

Исключающее ИЛИ прямоадресуемого байта и аккумулятора

XRL ad, A

01100010

3

2

1

(ad) ¬ (ad) XOR (A)

Исключающее ИЛИ прямоадресуемого байта и константы

XRL ad, #d

01100011

7

3

2

(ad) ¬ (ad) XOR #d

Сброс аккумулятора

CLR A

11100100

1

1

1

(A) ¬ 0

Инверсия аккумулятора

CPL A

11110100

1

1

1

(A) ¬ NOT(A)

Сдвиг аккумулятора влево циклический

RL A

00100011

1

1

1

(An+1) ¬ (An), n=0÷6, (A0) ¬ (A7)

Сдвиг аккумулятора влево через перенос

RLC A

00110011

1

1

1

(An+1) ¬ (An), n=0÷6

(A0) ¬ (C), (C) ¬(A7)

Сдвиг аккумулятора вправо циклический

RR A

00000011

1

1

1

(An) ¬ (An+1), n=0÷6, (A7) ¬ (A0)

Сдвиг аккумулятора вправо через перенос

RRC A

00010011

1

1

1

(An) ¬ (An+1), n=0÷6

(A7) ¬ (C), (C) ¬(A0)

Обмен местами тетрад в аккумуляторе

SWAP A

11000100

1

1

1

(A0…3) ↔ (A4…7)

Команды операций над битами микроконтроллера 8051.

Группа состоит из 12 команд, краткое описание которых приведено в таблице. Эти команды позволяют выполнять операции над отдельными битами: сброс, установку, инверсию бита, а также логические И (/) и ИЛИ (/). В качестве "логического" аккумулятора, участвующего во всех операциях с двумя операндами, выступает признак переноса С (разряд D7 PSW), в качестве операндов могут использоваться 128 бит из резидентной памяти данных и регистры специальных функций, допускающие адресацию отдельных бит.

В таблице также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (Б) и время выполнения в машинных циклах (Ц).

Название команды

Мнемокод

КОП

Т

Б

Ц

Операция

Сброс переноса

CLR С

11000011

1

1

1

(C) ¬ 0

Сброс бита

CLR bit

11000010

4

2

1

(b) ¬ 0

Установка переноса

SETB С

11010011

1

1

1

(C) ¬ 1

Установка бита

SETB bit

11010010

4

2

1

(b) ¬ 1

Инверсия переноса

CPL С

10110011

1

1

1

(C) ¬ NOT(C)

Инверсия бита

CPL bit

10110010

4

2

1

(b) ¬ NOT(b)

Логическое И бита и переноса

ANL С, bit

10000010

4

2

2

(C) ¬ (C) AND (b)

Логическое И инверсии бита и переноса

ANL С, /bit

10110000

4

2

2

(C) ¬ (C) AND (NOT(b))

Логическое ИЛИ бита и переноса

ORL С, bit

01110010

4

2

2

(C) ¬ (C) OR (b)

Логическое ИЛИ инверсии бита и переноса

ORL С, /bit

10100000

4

2

2

(C) ¬ (C) OR (NOT(b))

Пересылка бита в перенос

MOV С, bit

10100010

4

2

1

(C) ¬ (b)

Пересылка переноса в бит

MOV bit, С

10010010

4

2

2

(b) ¬ (C)

Команды передачи управления микроконтроллера 8051.

Группа представлена командами безусловного и условного переходов, командами вызова подпрограмм и командами возврата из подпрограмм.

В таблице также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (Б) и время выполнения в машинных циклах (Ц).

Название команды           

Мнемокод

КОП

Т

Б

Ц

Операция

Длинный переход в полном объеме ПП

LJMP ad16

00000010

12

3

2

(PC) ¬ ad16

Абсолютный переход внутри страницы в 2 Кб

AJMP ad11

a10a9a800001

6

2

2

(PC) ¬ (PC) + 2, (PC0-10) ¬ ad11

Короткий относительный переход внутри
страницы в 256 байт

SJMP rel

10000000

5

2

2

(PC) ¬ (PC) + 2, (PC) ¬ (PC) +rel

Косвенный относительный переход

JMP @A+DPTR

01110011

1

1

2

(PC) ¬ (A) + (DPTR)

Переход, если аккумулятор равен нулю

JZ rel

01100000

5

2

2

(PC)¬(PC)+2, если (A)=0, то (PC)¬(PC)+rel

Переход, если аккумулятор не равен нулю

JNZ rel

01110000

5

2

2

(PC)¬(PC)+2, если (A)≠0, то (PC)¬(PC)+rel

Переход, если перенос равен единице

JC rel

01000000

5

2

2

(PC)¬(PC)+2, если (С)=1, то (PC)¬(PC)+rel

Переход, если перенос равен нулю

JNC rel

01010000

5

2

2

(PC)¬(PC)+2, если (С)=0, то (PC)¬(PC)+rel

Переход, если бит равен единице

JB bit, rel

00100000

11

3

2

(PC)¬(PC)+3, если (b)=l, то (PC)¬(PC)+rel

Переход, если бит равен нулю

JNB bit, rel

00110000

11

3

2

(PC)¬(PC)+3, если (b)=0, то (PC)¬(PC)+rel

Переход, если бит установлен, с последующим сбросом бита

JBC bit, rel

00010000

11

3

2

(PC) ¬ (PC) + 3, если (b)=1,
то (b) ¬ 0 и (PC)¬ (PC) + rel

Декремент регистра и переход, если не нуль

DJNZ Rn, rel

11011rrr

5

2

2

(PC) ¬ (PC) + 2, (Rn) ¬ (Rn) - 1,

если (Rn) ≠ 0, то (PC) ¬ (PC) + rel

Декремент прямоадресуемого байта и переход, если не нуль

DJNZ ad, rel

11010101

8

3

2

(PC) ¬ (PC) + 2, (ad) ¬ (ad) - 1,
если (ad) ≠ 0, то (PC) ¬ (PC) + rel

Сравнение аккумулятора с прямоадресуемым байтом и переход, если не равно

CJNE A, ad, rel

10110101

8

3

2

(PC) ¬ (PC) + 3,если (A) ≠ (ad), то (PC) ¬ (PC) + rel,если (A) < (ad), то (C) ¬ 1, иначе (C) ¬ 0

Сравнение аккумулятора с константой и
переход, если не равно

CJNE A, #d, rel

10110100

10

3

2

(PC) ¬ (PC) + 3,если (A) ≠ #d, то (PC) ¬ (PC) + rel,если (A) < #d, то (C) ¬ 1, иначе (С) ¬ 0

Сравнение регистра с константой и переход, если не равно

CJNE Rn, #d, rel

10111rrr

10

3

2

(PC) ¬ (PC) + 3,если (Rn) ≠ #d, то (PC) ¬ (PC) + rel,если (Rn) < #d, то (C) ¬ 1, иначе (С) ¬ 0

Сравнение байта в РПД с константой и переход, если не равно

CJNE @Ri,#d,rel

1011011i

10

3

2

(PC) ¬ (PC) + 3,если ((Ri)) ≠ #d, то (PC) ¬ (PC) + rel,если ((Ri)) < #d, то (C) ¬ 1, иначе (C) ¬ 0


Длинный вызов подпрограммы

LCALL adl6

00010010

12

3

2

(PC) ¬ (PC) + 3, (SP) ¬ (SP) +1,

((SP)) ¬ (PC0…7), (SP) ¬ (SP) + 1,

((SP)) ¬ (PC8…15), (PC) ¬ ad16

Абсолютный вызов подпрограммы в пределах страницы в 2 Кб

ACALL ad11

a10a9a810001

6

2

2

(PC) ¬ (PC) + 2, (SP) ¬ (SP) + 1,

((SP)) ¬ (PC0…7), (SP) ¬ (SP) + 1,

((SP)) ¬ (PC8…15), (PC0-10) ¬ ad11

Возврат из подпрограммы

RET

00100010

1

1

2

(PC8…15) ¬ ((SP)), (SP) ¬ (SP) - 1,

(PC0…7) ¬ ((SP)), (SP) ¬ (SP) – 1

Возврат из подпрограммы обработки
прерывания

RETI

00110010

1

1

2

(PC8…15) ¬ ((SP)), (SP) ¬ (SP) - 1,

(PC0…7) ¬ ((SP)), (SP) ¬ (SP) – 1

Пустая операция

NOP

00000000

1

1

1

(PC) ¬ (PC) + 1

Команда безусловного перехода LJMP (L – long – длинный) осуществляет переход по абсолютному 16-битному адресу, указанному в теле команды, т. е. команда обеспечивает переход в любую точку памяти программ.

Действие команды AJMP (А – absolute – абсолютный) аналогично команде LJMP, однако в теле команды указаны лишь 11 младших разрядов адреса. Поэтому переход осуществляется в пределах страницы размером 2 Кбайт, при этом надо иметь в виду, что сначала содержимое счетчика команд увеличивается на 2 и только потом заменяются 11 разрядов адреса.

В отличие от предыдущих команд, в команде SJMP (S – short – короткий) указан не абсолютный, а относительный адрес перехода. Величина смещения reI рассматривается как число со знаком, а, следовательно, переход возможен в пределах – 128...+127 байт относительно адреса команды, следующей за командой SJMP.

Команда косвенного перехода JMP @A+DPTR позволяет вычислять адрес перехода в процессе выполнения самой программы.

Командами условного перехода можно проверять следующие условия:

· JZ — аккумулятор содержит нулевое значение;

· JNZ — аккумулятор содержит не нулевое значение

· JC — бит переноса С установлен;

· JNC — бит переноса С не установлен;

· JB — прямо адресуемый бит равен 1

· JNB — прямо адресуемый бит равен 0;

· JBC — прямо адресуемый бит равен 1 и сбрасывается в нулевое значение при выполнении команды.

Все команды условного перехода рассматриваемых микро-ЭВМ содержат короткий относительный адрес, т. е. переход может осуществляться в пределах—128... +127 байт относительно следующей команды.

Команда DJNZ предназначена для организации программных циклов. Регистр Rn или байт по адресу ad, указанные в теле команды, содержат счетчик повторений цикла, а смещение rеl — относительный адрес перехода к началу цикла. При выполнении команды содержимое счетчика уменьшается на 1 и проверяется на 0. Если значение содержимого счетчика не равно 0, то осуществляется переход на начало цикла, в противном случае выполняется следующая команда.

Лекция "О гонке вооружения" также может быть Вам полезна.

Команда CJN удобна для реализации процедур ожидания внешних событий. В теле команды указаны "координаты" двух байт и относительный адрес перехода rel. В качестве двух байт могут быть использованы, например, значения содержимого аккумулятора и прямо адресуемого байта или косвенно адресуемого байта и константы. При выполнении команды значения указанных двух байт сравниваются и в случае, если они не одинаковы, осуществляется переход. Например, команда

WAIT: CJNE A, P0, WAIT

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

Действие команд вызова процедур полностью аналогично действию команд безусловного перехода. Единственное отличие состоит в том, что они сохраняют в стеке адрес возврата.

Команда возврата из подпрограммы RET восстанавливает из стека значение содержимого счетчика команд, а команда возврата из процедуры обработки прерывания RETI, кроме того, разрешает прерывание обслуженного уровня. Команды RET и RETI не различают, какой командой – LCALL или ACALL – была вызвана подпрограмма, так как и в том, и в другом случае в стеке сохраняется полный 16-разрядный адрес возврата.

В заключение следует отметить, что большинство Ассемблеров допускают обобщенную мнемонику JMP – для команд безусловного перехода и CALL – для команд вызова подпрограмм. Конкретный тип команды определяется Ассемблером, исходя из "длины" перехода или вызова.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
427
Средний доход
с одного платного файла
Обучение Подробнее