Элементы и узлы информационных и управляющих систем (Основы теории и синтеза). Булатов В.Н. - 186 стр.

UptoLike

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

Рубрика: 

Текущий адрес Ассемблер Машинный код Комментарий
код операции
операнд
3Е1
(Номер страницы)
JNC F9
10110011 11111001
СК
:=3E3h
( Адрес следующей
команды)
15.2.3.3 Команда-счетчик циклов
Это одна из наиболее часто используемых команд и предназначена для
организации счетчиков числа различных циклов. Действие команды:
R := <R> 1; если <R> 0, то перейти внутри страницы по адресу,
указанному в команде (это, обычно, начало циклической программы). В
противном случае команда выполняется как пустая (NOP).
В качестве регистра R может использоваться регистр из ряда R0…R7.
Например, пусть на момент выполнения команды <R3> = 03h:
Текущий адрес Ассемблер Машинный код Комментарий
код операции
операнд
21С
(Номер страницы)
DJNZ R3,11
11101111 00010001
<R3>-1=20
СК
:=211h
15.2.4 КОМАНДЫ ПЕРЕХОДА К ПОДПРОГРАММАМ И ВОЗВРАТА
15.2.4 Команда перехода к подпрограммам (вызова подпрограмм)
Команда CALL выполняется аналогично команде безусловного перехода
(п. 15.2.3.1,а), за одним исключением: адрес команды, следующей за
командой CALL, предварительно записывается в стековую память (стек) –
для сохранения адреса возврата.
Пример выполнения команды CALL:
Текущий адрес Ассемблер Машинный код Комментарий
код операции
операнд
1С6 СALL 51C
10110100 00011100
1)Стек:=1С8h
2)СК
:=51Сh
адрес перехода
15.2.4 Команды возврата
Реализуются две команды возврата:
а) RET с кодом операции 83h (10000011
2
), которая выполняет следующее
 Текущий адрес     Ассемблер            Машинный код              Комментарий
3Е1                JNC F9         код операции      операнд        СК :=3E3h
(Номер страницы)                  10110011         11111001     ( Адрес следующей
                                                                    команды)



     15.2.3.3 Команда-счетчик циклов
  Это одна из наиболее часто используемых команд и предназначена для
организации счетчиков числа различных циклов. Действие команды:
  R :=  − 1; если  ≠ 0, то перейти внутри страницы по адресу,
указанному в команде (это, обычно, начало циклической программы). В
противном случае команда выполняется как пустая (NOP).
      В качестве регистра R может использоваться регистр из ряда R0…R7.
      Например, пусть на момент выполнения команды  = 03h:

 Текущий адрес      Ассемблер               Машинный код            Комментарий
21С                DJNZ R3,11        код операции     операнд       -1=2≠0
(Номер страницы)                     11101111        00010001        СК :=211h


  15.2.4 КОМАНДЫ ПЕРЕХОДА К ПОДПРОГРАММАМ И ВОЗВРАТА
     15.2.4 Команда перехода к подпрограммам (вызова подпрограмм)
  Команда CALL выполняется аналогично команде безусловного перехода
(п. 15.2.3.1,а), за одним исключением: адрес команды, следующей за
командой CALL, предварительно записывается в стековую память (стек) –
для сохранения адреса возврата.
      Пример выполнения команды CALL:
 Текущий адрес      Ассемблер             Машинный код             Комментарий
1С6                СALL     51C     код операции     операнд      1)Стек:=1С8h
                                    10110100        00011100      2)СК :=51Сh

                                        адрес перехода


  15.2.4 Команды возврата
      Реализуются две команды возврата:
  а) RET с кодом операции 83h (100000112), которая выполняет следующее