K X=0 E
Команда косвенного условного перехода K x=0 E (лат. K X=0 E) «Косвенный переход по условию x=0 по содержимому адресного регистра 0» с кодом EE вызывает переход на адрес, записанный в регистре памяти E, если условие не выполняется (X≠0). Перед выполнением команды содержимое регистра E модифицируется. Если записанное в регистр E число меньше нуля, в регистр E записывается число нуль. Дробная часть числа, записанного в регистр E, отбрасывается.
Команда условного перехода предназначена для организации ветвлений в программе пользователя. Команда изменяет содержимое счетчика адреса в зависимости от выполнения условия. В качестве условия в ЭВМ используется сравнение содержимого регистра X с нулём: "x=0". Содержимое стека не изменяется.
Команда условного перехода действуют только в режиме выполнения программы.
Команда вызывает изменение счетчика адреса, если записанное в команде условие не выполняется (X≠0). Если условие выполняется (X=0), то следующей будет исполнена команда, записанная непосредственно за командой условного перехода.
Модификация RЕ на советских ПМК[править]
Если в регистре Е содержится число 0, а также числа от 1 до 104, его модификация происходит также, как на современных ЭКВМ — путём отбрасывания дробной части (усечения).
Модификация отрицательных чисел, чисел между 0 до 1, а также больших положительных чисел на советских ПМК не документирована. Поведение ПМК может зависеть от модели, но обычно условный переход происходит по адресу, на который указывают два младших разряда числа в регистре Е после его модификации.
История[править]
До появления МК-61 (на калькуляторах Б3-34, МК-54 и МК-56) недокументированная команда с кодом EE вела себя аналогично команде Кx=0 0, с единственным исключением — содержимое регистра 0 не уменьшалось при модификации. На МК-152 аналогично себя ведёт двухшаговая команда РКx=0 00 с кодом EF 00.
Эту недокументированную команду «Электроники Б3-34» обозначали на письме Кx=0↑. Программы, использующие её, неправильно работали на МК-61 и МК-52.
Ссылки[править]
Kx≠00 | Kx≠01 | Kx≠02 | Kx≠03 | Kx≠04 | Kx≠05 | Kx≠06 | Kx≠07 | Kx≠08 | Kx≠09 | Kx≠0А | Kx≠0В | Kx≠0С | Kx≠0Д | Kx≠0Е |
Kx≥00 | Kx≥01 | Kx≥02 | Kx≥03 | Kx≥04 | Kx≥05 | Kx≥06 | Kx≥07 | Kx≥08 | Kx≥09 | Kx≥0А | Kx≥0В | Kx≥0С | Kx≥0Д | Kx≥0Е |
Kx<00 | Kx<01 | Kx<02 | Kx<03 | Kx<04 | Kx<05 | Kx<06 | Kx<07 | Kx<08 | Kx<09 | Kx<0А | Kx<0В | Kx<0С | Kx<0Д | Kx<0Е |
Kx=00 | Kx=01 | Kx=02 | Kx=03 | Kx=04 | Kx=05 | Kx=06 | Kx=07 | Kx=08 | Kx=09 | Kx=0А | Kx=0В | Kx=0С | Kx=0Д | Kx=0Е |