PK x≥0: различия между версиями
AtH (обсуждение | вклад) м (Откат правок SMB (обсуждение) к версии Арви Хэкер) |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 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: | ||
== Пример == | == Пример == | ||
{{Индикатор F ПРГ|1= | |||
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: | ||
== Ссылки == | == Ссылки == | ||
{{Документация|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 |