PK x≥0: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
м (Откат правок SMB (обсуждение) к версии Арви Хэкер)
Нет описания правки
Строка 1: Строка 1:
Двухшаговая команда косвенного условного перехода '''PK x≥0''' MM (лат. '''PK X>=0''' MM) «Косвенный переход по условию x≥0 по содержимому адресных регистров от 0 до 99» с кодом 9F вызывает переход на адрес, записанный в регистре памяти MM (от 0 до 99), если условие не выполняется (x<0). Перед выполнением команды содержимое регистра MM модифицируется.
Двухшаговая команда косвенного условного перехода '''PK x≥0''' MM (лат. '''PK X>=0''' MM) «Косвенный переход по условию x≥0 по содержимому адресных регистров от 0 до 99» с кодом 9F вызывает переход на адрес, записанный в регистре памяти MM (от 0 до 99), если условие не выполняется (x<0). Перед выполнением команды содержимое регистра MM модифицируется.


Команда условного перехода предназначена для организации ветвлений в программе пользователя. Команда изменяет содержимое [[счётчик адреса|счетчика адреса]] в зависимости от выполнения условия. В качестве условия в ЭВМ используется сравнение содержимого [[RX|регистра X]] с нулём: "x≥0". Содержимое [[стек]]а не изменяется.
Команда условного перехода предназначена для организации ветвлений в программе пользователя. Команда изменяет содержимое [[счётчик адреса|счетчика адреса]] в зависимости от выполнения условия. В качестве условия в ЭВМ используется сравнение содержимого [[RX|регистра X]] с нулём: "x≥0". Содержимое [[Стек калькулятора|стек]]а не изменяется.


Команда условного перехода действует только в [[режим выполнения программы|режиме выполнения программы]].
Команда условного перехода действует только в [[режим выполнения программы|режиме выполнения программы]].
Строка 8: Строка 8:


== Пример ==
== Пример ==
2010 9F РК x≥0 17
{{Индикатор F ПРГ|1=
2011 17
2010 9F РК x≥0 17
 
2011 17
}}
В случае, если содержимое [[RX|регистра X]] отрицательно, команда РКx≥0 17 по адресам 2010-2011 с кодом 9F 17 вызовет переход на адрес, записанный в R17.  Предварительно содержимое R17 модифицируется, в частности у содержащегося там числа отбрасывается дробная часть.  Если содержимое [[RX|регистра X]] равно нулю или положительно, выполнение программы продолжится с адреса 2012.
В случае, если содержимое [[RX|регистра X]] отрицательно, команда РКx≥0 17 по адресам 2010-2011 с кодом 9F 17 вызовет переход на адрес, записанный в R17.  Предварительно содержимое R17 модифицируется, в частности у содержащегося там числа отбрасывается дробная часть.  Если содержимое [[RX|регистра X]] равно нулю или положительно, выполнение программы продолжится с адреса 2012.


Строка 19: Строка 20:


== Ссылки ==
== Ссылки ==
* [http://mk.semico.ru/mk_d11.htm#p12 Команда РKx≥0 на сайте НПП «СЕМИКО», п. 12.6]
{{Документация|mk_d11.htm#p12|Команда РKx≥0 на сайте НПП «СЕМИКО», п. 12.6}}
 
{{Условные переходы с косвенной прямой адресацией}}
{{Условные переходы с косвенной прямой адресацией}}
[[Category:Все команды]]
[[Category:Все команды]]
[[Category:Команды ЭКВМ]]
[[Category:Команды ЭКВМ]]
[[Category:Косвенные условные переходы]]
[[Category:Косвенные условные переходы]]

Версия от 03:20, 13 августа 2015

Двухшаговая команда косвенного условного перехода PK x≥0 MM (лат. PK X>=0 MM) «Косвенный переход по условию x≥0 по содержимому адресных регистров от 0 до 99» с кодом 9F вызывает переход на адрес, записанный в регистре памяти MM (от 0 до 99), если условие не выполняется (x<0). Перед выполнением команды содержимое регистра MM модифицируется.

Команда условного перехода предназначена для организации ветвлений в программе пользователя. Команда изменяет содержимое счетчика адреса в зависимости от выполнения условия. В качестве условия в ЭВМ используется сравнение содержимого регистра X с нулём: "x≥0". Содержимое стека не изменяется.

Команда условного перехода действует только в режиме выполнения программы.

Команда вызывает изменение счетчика адреса, если записанное в команде условие не выполняется (x<0). Если условие выполняется (x≥0), то следующей будет исполнена команда, записанная непосредственно за командой условного перехода.

Пример

2010 9F РК x≥0 17
2011 17

В случае, если содержимое регистра X отрицательно, команда РКx≥0 17 по адресам 2010-2011 с кодом 9F 17 вызовет переход на адрес, записанный в R17. Предварительно содержимое R17 модифицируется, в частности у содержащегося там числа отбрасывается дробная часть. Если содержимое регистра X равно нулю или положительно, выполнение программы продолжится с адреса 2012.

Допустим, в R17 содержится число 1945, а в регистре X содержится -1. Тогда команда РКx≥0 17 передаст управление на адрес 1945.

История

Недокументированные команды с кодами 4F, 6F до EF в советских ПМК полностью аналогичны командам обращения к регистру 0 c кодами 40, 60-E0 (Д.Б. Хрусталев, В.А. Хмелюк, «Школа начинающего программиста. Занятие 22» // «Наука и Жизнь» №1 - 1989 г. - С.124).

Ссылки

Условные переходы с косвенной прямой адресацией
PK x≠0 PK x≥0 PK x<0 PK x=0