Архитектура микропроцессорной системы. Состав машинных команд и основы программирования микропроцессорной системы на ассемблере. Булатов В.Н. - 46 стр.

UptoLike

Составители: 

происходит выборка следующей команды (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