ВУЗ:
Составители:
Рубрика:
происходит выборка следующей команды (JNZ —пустая команда, если Z
= 1).
Таких команд МП 8086 реализует в количестве 16 шт. Но все эти
команды имеют единый формат КОПа и команды в целом.
Формат КОПа:
Из формата команды следует, что типов команд —2
3
= 8. Каждая
команда имеет свой антипод. То есть, если есть команда JNZ Addr
(перейти, если Z= 0), то и есть ее антипод JZ Addr (перейти, если Z= 1).
Команда условного перехода в ассемблере всегда начинается с
буквы J (jump — скачок). Поэтому в приведенной ниже таблице
7 указываются недостающие буквы, следующие за J для различных
типов команд, и соответствующие им условия переходов.
В скобках указаны допустимые альтернативные обозначения.
То есть можно записать JB, а можно и JNAE.
Таблица 7 — Синтез команд ветвлений по условиям ветвлений
Тип команды Признак D0 = 0 Признак D0 =0
Ассемблер(доп.
J)
Условие перехода
А
ссемблер (доп. к
J)
Условие
перехода
000 O OF = 1
NO
OF = 0
001 B (C,NAE) CF = 1 NB(NC,AE) CF = 0
010 E(Z) ZF = 1 NE(NZ) ZF = 0
011 BE(NA) CF V ZF = 1 NBE (A) CF V ZF=0
100 S SF = 1 NS SF = 0
101 P (PE) PF = 1 NP (P0) PF = 0
110 L (NGE)
SF ⊕ OF = 1
NL (GE)
SF ⊕ OF = 0
111 LE (NG)
(SF ⊕ OF) V
ZF=1
NLE (G)
(SF ⊕ OF) V
ZF=0
Для системных специалистов определяющим является не
обозначение команды в ассемблере, а условие перехода, которое
определяется состоянием или состояниями тех или иных флажков.
То есть, по какому событию происходит переход. Если нужно перейти по
условию OF = 1, то пишем JO; если переход осуществляется по
условию CF =1, то пишем JC, хотя C (вторая строчка в таблице 7) —
альтернативное обозначение, о котором программисты часто не знают.
Дело в том, что для программистов первоначальным является само
условие перехода: «больше», «меньше» и тому подобное.
Из таблицы 7 следует, что условия переходов диктуют 5 флагов
(смотрите главу 2):
46
происходит выборка следующей команды (JNZ —пустая команда, если Z = 1). Таких команд МП 8086 реализует в количестве 16 шт. Но все эти команды имеют единый формат КОПа и команды в целом. Формат КОПа: Из формата команды следует, что типов команд —23= 8. Каждая команда имеет свой антипод. То есть, если есть команда JNZ Addr (перейти, если Z= 0), то и есть ее антипод JZ Addr (перейти, если Z= 1). Команда условного перехода в ассемблере всегда начинается с буквы J (jump — скачок). Поэтому в приведенной ниже таблице 7 указываются недостающие буквы, следующие за J для различных типов команд, и соответствующие им условия переходов. В скобках указаны допустимые альтернативные обозначения. То есть можно записать JB, а можно и JNAE. Таблица 7 — Синтез команд ветвлений по условиям ветвлений Тип команды Признак D0 = 0 Признак D0 =0 Ассемблер(доп. Условие перехода Ассемблер (доп. к Условие J) J) перехода 000 O OF = 1 NO OF = 0 001 B (C,NAE) CF = 1 NB(NC,AE) CF = 0 010 E(Z) ZF = 1 NE(NZ) ZF = 0 011 BE(NA) CF V ZF = 1 NBE (A) CF V ZF=0 100 S SF = 1 NS SF = 0 101 P (PE) PF = 1 NP (P0) PF = 0 110 L (NGE) SF ⊕ OF = 1 NL (GE) SF ⊕ OF = 0 111 LE (NG) (SF ⊕ OF) V NLE (G) (SF ⊕ OF) V ZF=1 ZF=0 Для системных специалистов определяющим является не обозначение команды в ассемблере, а условие перехода, которое определяется состоянием или состояниями тех или иных флажков. То есть, по какому событию происходит переход. Если нужно перейти по условию OF = 1, то пишем JO; если переход осуществляется по условию CF =1, то пишем JC, хотя C (вторая строчка в таблице 7) — альтернативное обозначение, о котором программисты часто не знают. Дело в том, что для программистов первоначальным является само условие перехода: «больше», «меньше» и тому подобное. Из таблицы 7 следует, что условия переходов диктуют 5 флагов (смотрите главу 2): 46
Страницы
- « первая
- ‹ предыдущая
- …
- 44
- 45
- 46
- 47
- 48
- …
- следующая ›
- последняя »