Sibprompost.ru

Стройка и ремонт
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Большая Энциклопедия Нефти и Газа

Большая Энциклопедия Нефти и Газа

Команда — безусловный переход

Если исполняемая команда является командой безусловного перехода , то содержимое адресного поля регистра команд РгК заносится в счетчик команд СчК и выполнение данной команды на этом завершается. [31]

Передние фронты Fi3 определяются командами безусловного перехода . [32]

Выход из подпрограммы обеспечивается командой безусловного перехода JMP 1200B I, которая косвенно адресуется к первой ячейке подпрограммы. [33]

Таким образом, в командах безусловного перехода , по существу, остаются неиспользованными разряды А и НА. В машинах, в которых команды безусловного перехода кодируются особо, имеется возможность использовать разряды А и ПЛ. [34]

В рассматриваемую группу команд входят команды безусловных переходов , вызовов, возвратов, условных переходов, управления циклами и прерываний. [35]

Простейшей командой передачи управления является команда безусловного перехода JMP адрес, которая загружает адрес перехода, указанный в команде, в программный счетчик. Команды условного перехода проверяют указанное в команде условие и модифицируют программный счетчик, если условие истинно. При проверке условия производится сравнение состояния одного или нескольких флагов из флагового регистра с комбинацией, указанной в коде команды условного перехода. Модификация программного счетчика может производиться либо загрузкой в него нового значения, либо сложением его со смещением, указанным в команде. [36]

Последняя команда ( представляет собой команду безусловного перехода к команде о преобразовании ответа из двоичной системы счисления в десятичную систему счисления. [37]

Эта группа команд представлена четырьмя командами безусловного перехода : ПЕБ1, ПЕБ2, ПЕБЗ и ПЕБ4; при этом цифры 1, 2, 3 и 4 в символическом коде указывают, в пределах какой кассеты находится команда, в которой осуществляется переход. [38]

Эквивалентом оператора goto в ЯМП является команда безусловного перехода branch ( 40), которая передает управление заданной ячейке ЯМП. [39]

Первой из рассматриваемых команд перехода является команда безусловного перехода . Команда BR выполняет безусловный переход. Это означает, что после ее выполнения переход непременно будет осуществлен. [40]

Команды перехода бывают двух типов: команды безусловного перехода , позволяющие прерывать естественный порядок выполнения команд независимо от каких-либо условий, и команды условного перехода, дающие возможность изменить ход вычислительного процесса в зависимости от результатов предыдущих вычислений и тем самым обеспечить автоматичность работы ЦВМ. [41]

Она, таким образом, является командой безусловного перехода в программе канала. Первое CCW в программе не может быть командой TIC, и две такие команды не могут выполняться друг за другом. [42]

Переход от основной программы обычно осуществляется командой безусловного перехода , в которой указывается адрес первой команды подпрограммы. [44]

Она, таким образом, является командой безусловного перехода в программе канала. Первое CCW в программе не может быть командой TIC, и две такие команды не могут выполняться друг за другом. [45]

Читайте так же:
Монитор для счетчика матрица

Команды операций перехода и передачи управления

Эти команды имеют еще термин «ветвление» и служат для организации раз­ветвлений и вложения подпрограмм. Команды этой группы бывают безуслов­ными и условными. Команды условных переходов приведены в табл. 4.4, из которой следует, что условные команды обеспечивают переход только при строго определенном значении одного из разрядов регистра признаков F.

В регистр F заносятся и хранятся признаки (см. рис. 4.1) Z, S, АС, Р, СY ре­зультата вычисления X7X6X5X4X3X2X1ХО в АЛУ. По значениям признаков выполняются условные переходы в программах, циклическое повторение одной и той же операции, т. е. условие передачи управления. Код указателя условия передачи управления отображается в коде команды трехразрядным указателем ССС в соответствии с табл. 4.5.

Признаки результата вычислений Таблица 4.4

ФункцияУсловия перехода Число
Z =1Z=0СY=1CY=0Р=1Р=0S=1S=0тактовбайт
ПереходIZINZJCJNCJPEIPOJMJP11/17
ВызовСZCNZCCCNCСРЕСРОСМСР11/ 17
ВозвратRZRNZRNCRРЕRPORMRP5/11

Признаки условий передачи управления Таблица 4.5

Результат АЛУУсловия передачи управленияКод ССС
Х7+Х6+….+Х0 не=0 Х7+Х6+….+Х0 =0 Х7=1 Х7=0Если результат не нулевой, то бит Z=0 Если результат нулевой, то бит Z=1 Если не было переноса / заёма, то бит CY=0 Если был перенос / заём, то бит CY=1 Если результат не чётный, то бит P=0 Если результат чётный, то бит Р=1 Если результат положительный, то бит S=0 Если результат отрицательный, то бит S=1

Если соответствующее условие не выполнено, то передачи управления не происходит и выполняется следующая по порядку команда. Длительность услов­ных команд зависит от того, выполнены условия перехода или нет, поэтому в графе «число тактов» в числителе указана длительность выполнения команды при отсутствии перехода, а в знаменателе — при выполнении перехода.

Из анализа табл. 4.1 и 4.4 видно:

1. Команды перехода загружают счетчик команд PC вторым и третьим бай­том (b3 b2 →PC) и позволяют организовать циклы и разветвления путем пе­рехода к новой последовательности команд. Однако команды перехода не допус­кают возврата в то место программы, откуда был осуществлен переход. В таб­л. 4.1 все восемь команд перехода (под номером 64) имеют мнемонику JCON b3 b2.

2. Команды вызова дают возможность заполнить текущее значение адреса в счетчике команд и возвратиться к прерванной последовательности после вы­полнения подпрограммы. Эти команды при реализации перехода заносят в стек содержимое счетчика команд, который, в свою очередь, заполняется вторым и третьим байтами команды, указывающей начальный адрес подпрограммы. В табл. 4.1 все восемь команд вызова (под номером 66) имеют мнемонику Сcon b3 b2 . Восемь однобайтовых команд возврата в табл. 4.1 имеют мнемонику Rcon. Команды возврата извлекают из стека содержимое двух ячеек и загружают им счетчик команд, при этом заканчивается выполнение подпрограммы. На сле­дующем шаге МП обращается к тому месту программы, из которого произошел пере­ход к подпрограмме. Команды вызова и возврата дают возможность сокра­тить объем разрабатываемых программ за счет неоднократного использования их частей.

Читайте так же:
Счетчик импульсов 5510 atmega8

Условные команды определяют способность МП анализировать ситуацию и принимать решения. Команды обработки денных формируют признаки, кото­рые проверяются при выполнении условных команд и определяют последующий ход выполнения программы.

Команда безусловного перехода JМP (перейти) является трехбайтовой не­посредственной адресацией. Используется она для изменения адреса в счетчике команд МП (ее символика b3 b2 →РС). Пример использования такой команды приведен на рис. 4.8.

Рис. 4.8. Команда безусловного перехода JМP

Здесь адрес 2000 Н загружен в счетчик команд, информа­ция о нем следует непосредственно за КОП, младшая часть адреса находится во 2-й байте памяти, а старшая в 3-м байте. Эта команда будет использована для запуска счетчика команд в момент начала выполнения новой программы, т. е. команду безусловного перехода можно рассматривать как способ загрузки новой информации об адресе в счетчик команд.

Особое место среди команд передачи управления занимают однобайтовые ко­манды повторного старта RST. Они представляют собой команды вызова с фиксированными адресами перехода, причем точка перехода задается кодом команды и используется для обеспечения ввода в подпрограммы обработки пре­рывания. В этом случае код команды RSТ формируется аппаратными средствами и запрашивается MП с помощью сигнала обслуживания прерывания. Команды RST, как и команды вызова, перегружают содержимое счетчика команд (СК) в стек, но счетчик загружается иначе: в старший байт CК заносится 00, а в младший — вектор прерывания, задаю­щий начальный адрес подпрограммы. Вектор прерывания задает один из восьми ареалов в первых 64 байтах памяти (табл. 4.6).

Объем каждого ареала составляет 8 байт. Если подпрограмма обработки прерывания превышает этот объем, то по адресу вектора прерывания записыва­ется команда JМР, вызывающая переход к остальной части подпрограммы. От­личием команд РSТ от команд вызова является также сброс внутреннего триг­гера разрешения прерывания (РП =0). Этим обеспечивается запрет на обработку очередных запросов в ходе выполнения данной подпрограммы.

Адреса ареалов прерывания Таблица 4.6

МнемоникаКод командыНачальный адрес ареалаМнемоникаКод командыНачальный адрес ареала
RST0С7RS T4Е7
RSТ1CFRS Т5 RS Т6EF
RST2D7F7
RST3DFRS T7FF

К командам передачи управления относят команду PCHL, которая осу­ществляет передачу управления по адресу, содержащемуся в паре регистров HL.

studopedia.org — Студопедия.Орг — 2014-2021 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.002 с) .

Читайте так же:
Счетчик us 800 ультразвуковой производитель

Команды управления циклом

С помощью команд перехода можно реализовать любые разветвления и циклы. Изучите таблицу 4, в которой представлены способы реализации ветвлений и циклов в языках Pascal и ассемблер.

Реализация ветвлений и циклов в языках Pascal и ассемблер.

Тип циклаЯзык PascalЯзык Ассемблер
ВетвлениеIf X > 0 then begin Блок S1 end else begin Блок S2 end;CMP X, 0 JLE L2 Блок S1 JMP Fin L2: Блок S1 Final:
Цикл со счетчикомFor X:=1 to N do begin Блок S end;MOV CX, N L: Блок S DEC CMP CX, 0 JNE L Final:
Цикл с передусловиемWhile X > 0 do begin Блок S end;Begin: CMP X, 0 JLE Fin Блок S JMP Begin Final:
Цикл с постусловиемRepeat Блок S until X > 0Begin: Блок S CMP X, 0 JG Begin

Для организации циклов с заранее известным числом повторений, в систему команд микропроцессора Intel 8086 включены специальные команды управления циклом: LOOP, LOOPE/LOOPZ и LOOPNE/LOOPNZ.Состояние флагов после выполнения команды этих команд не меняется.

4.4.1. Управление циклом по счетчику: LOOP

С помощью команды LOOP цикл может быть записан следующим образом:

MOVCX, N; N>0
L:
LOOPL

Особенности команды LOOP.

ü В качестве счетчика цикла обязательно использовался регистр СХ, при другом регистре команду применять нельзя.

ü Начальное значение для СХ должно быть присвоено до цикла, причем этому регистру надо присваивать ровно столько, сколько раз должен повторяться цикл.

ü Так как команда LOOP ставится в конце цикла, тело цикла хотя бы раз обязательно выполнится. Поэтому для случая СХ = 0 такая схема цикла не подходит. Если возможен вариант, что число повторений может быть и нулевым, то при СХ = 0 надо сделать обход цикла с помощью команды условного перехода JCXZ:

MOVCX, N; N>0
JCXZL1; CX = 0 а L1
L:
LOOPL
L1:

Команда LOOP реализует только короткий переход, поэтому расстояние от нее до начала цикла (метки L) не должно превышать 127-128 байтов (примерно 30-40 команд). Если цикл содержит больше команд, тогда команду LOOP использовать нельзя и надо реализовывать цикл по-иному.

4.4.2. Цикл по счетчику и пока равно (пока ноль):

LOOPE или LOOPZ

Эта команда совмещает в себе изменение счетчика цикла (регистра СХ) и условный переход (короткий), когда счетчик еще не нулевой и когда предыдущая команда выработала флаг нуля, равный 1. Она используется для организации цикла с известным числом повторений, из которого возможен досрочный выход. До начала цикла в регистр СХ записывается число повторений.

По какой причине произошел выход из цикла (по ZF=0 или СХ=0), надо проверять после цикла. Проверить необходимо флаг ZF (по команде JE/JZ или JNE/JNZ), а не регистр СХ, т. к. условие ZF = 0 («не равно») может появиться как раз на последнем шаге цикла, когда и регистр СХ стал нулевым.

Читайте так же:
Сброс счетчика canon mx320

Чаще всего команда LOOPE используется для поиска первого элемента некоторой последовательности, отличного от заданной величины.

4.4.3. Цикл по счетчику и пока не равно:

LOOPNE или LOOPNZ

Эта команда аналогична команде LOOPE/LOOPZ, но выход из цикла осуществляет при СХ = 0 или ZF = 1. Команда LOOPNE обычно используется для поиска в некоторой последовательности первого элемента, имеющего заданную величину.

Examle 4.3.Фрагмент программы организации цикла, выводящий сообщение N раз.

mes1 db ‘Шаг цикла выполнен’, 10, 13, ‘$’

mes2 db ‘Цикл завершен’, 10, 13, ‘$’

; фрагмент кода программы

MOV CX, N ; количество итерации равен пяти

MOV DX, OFFSET mes1 ; вывод сообщения

LOOP cycl; CX = CX – 1, если CX > 0, то переход на метку, иначе к следующей команде.

MOV DX, OFFSET mes2 ; сообщение, что цикл завершен

Examle 4.4.Фрагмент программы организации цикла, для поиска числа в массиве.

mes1 db ‘Число найдено’, 10, 13, ‘$’

mes2 db ‘Число не найдено’, 10, 13, ‘$’

array db 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

; фрагмент кода программы

MOV CX, 10 ; количество итерации равен пяти

MOV SI, OFFSET array ; инициализация начало массива

MOV BL, 3 ; искомое число

DEC SI ; Декремент адреса в регистре SI

INC SI ; Инкремент адреса в регистре SI, установка на начало массива

LOOPNE cycl; CX = CX – 1, если CX > 0 и ZF = 0, то переход на метку, иначе к следующей команде.

MOV DX, OFFSET mes3 ;

MOV DX, OFFSET mes4 ;

Examle 4.5.Дан массив из десяти слов, содержащих целые числа. Найти максимальное значение элементов массива.

MAXDW?
MASSDW10h, 20h, 30h, 5h, 40h, 15h, 20h, 70h, 35h, 34h
LEABX, MASS
MOVCX, 10; установить счетчик
MOVAX, [BX];первый элемент массива в аккумулятор
BEG:CMP[BX], AX;сравнить текущий элемент массива с максимальным
JLNO;он меньше
MOVAX,[BX];он больше
NO:ADDBX, 2;следующий элемент массива
LOOPBEG;
MOVMAX,AX;

Examle 4.6.Пусть N — байтовая переменная со значением от 0 до 8 . В регистр АХ записать факториал этого числа. (8! = 40320

Команда перехода

Команда перехода — команда процессора, которая нарушает естественный порядок исполнения команд, вынуждая выбирать и исполнять последующие команды с произвольно заданного адреса. Используется для организации условных операторов, циклов, для связи с подпрограммами. Исполнение команды перехода в современных микропроцессорах чревато потерями производительности из-за простоев конвейера.

Если счётчик команд программно доступен (как регистр), любая команда модификации счётчика команд будет служить командой перехода.

Организация цикла задержки в процессоре ARM:

Переход по вычисляемому адресу в процессоре ARM:

Читайте так же:
Влагозащищенный шкаф для счетчика

Условный переход

Условный переход — команда программируемому вычислительному устройству на изменение порядка выполнения программы в соответствии с результатом проверки некоторого условия.

Наиболее часто условный переход имеет две стадии: на первой происходит сравнение между собой некоторых величин, определяющих условие перехода, на второй выполняется сам переход.

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

См. также

  • Оператор ветвления

  • Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
  • Проставив сноски, внести более точные указания на источники.

Wikimedia Foundation . 2010 .

  • Иберы
  • Фатеева, Наталья Николаевна

Полезное

Смотреть что такое «Команда перехода» в других словарях:

команда перехода — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN lump instruction … Справочник технического переводчика

команда перехода — pereigos komanda statusas T sritis automatika atitikmenys: angl. jump instruction vok. Sprungbefehl, m rus. команда перехода, f pranc. instruction de saut, f … Automatikos terminų žodynas

команда безусловного перехода — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN unconditional branch instruction … Справочник технического переводчика

команда безусловного перехода — besąlyginės pereigos komanda statusas T sritis automatika atitikmenys: angl. unconditional jump instruction vok. unbedingter Sprungbefehl, m rus. команда безусловного перехода, f pranc. instruction de saut inconditionnel, f … Automatikos terminų žodynas

cd (команда) — У этого термина существуют и другие значения, см. CD (значения). cd, в DOS/Windows также доступная как chdir (англ. change directory изменить каталог) команда командной строки для изменения текущего рабочего каталога в Unix, DOS… … Википедия

Еггогология — Электроника МК 52 с сообщением «ERROR» (из за специфического отображения буквы r зачастую читалось как «ЕГГОГ») Еггогология& … Википедия

ЕГГОГ — Электроника МК 52 с сообщением ERROR (из за специфического отображения буквы r зачастую читалось как «ЕГГОГ» Еггогология изучение скрытых возможностей микрокалькуляторов. Содержание 1 Происхождение … Википедия

Еггог — Электроника МК 52 с сообщением ERROR (из за специфического отображения буквы r зачастую читалось как «ЕГГОГ» Еггогология изучение скрытых возможностей микрокалькуляторов. Содержание 1 Происхождение … Википедия

Оператор ветвления — (условная инструкция, условный оператор) оператор, конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из… … Википедия

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector