Признак перезаписи: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
Замещение существующего в [[X|регистре стека X]] числа при вводе следующего определяется способом ввода существующего числа. Для этого анализируется состояние специального признака перезаписи. Признак сбрасывается или устанавливается при выполнении каждой команды.
Замещение существующего в [[RX|регистре стека X]] числа при вводе следующего определяется способом ввода существующего числа. Для этого анализируется состояние специального признака перезаписи. Признак сбрасывается или устанавливается при выполнении каждой команды.


Различие в способах перемещения информации в стеке в зависимости от состояния признака перезаписи обусловлено удобством ввода чисел при цепочечных вычислениях и при сбросе ошибочного набранного числа.
Различие в способах перемещения информации в стеке в зависимости от состояния признака перезаписи обусловлено удобством ввода чисел при цепочечных вычислениях и при сбросе ошибочного набранного числа.


Если признак перезаписи установлен, то при вводе числа содержимое регистров [[Y]], [[Z]], [[T]] и [[X1]] не изменяется, содержимое [[X|регистра X]] заменяется:
Если признак перезаписи установлен, то при вводе числа содержимое регистров [[RY|Y]], [[RZ|Z]], [[RT|T]] и [[X1]] не изменяется, содержимое [[RX|регистра X]] заменяется:


{| cellspacing="0" border="1"
{| cellspacing="0" border="1"
Строка 10: Строка 10:
  | Значение после выполнения команды
  | Значение после выполнения команды
  |-
  |-
  | T
  | [[RT|T]]
  | t
  | t
  | t
  | t
  |-
  |-
  | Z
  | [[RZ|Z]]
  | z
  | z
  | z
  | z
  |-
  |-
  | Y
  | [[RY|Y]]
  | y
  | y
  | y
  | y
  |-
  |-
  | X
  | [[RX|X]]
  | x
  | x
  | введенное число
  | введенное число
  |-
  |-
  | X1
  | [[X1]]
  | x1
  | x1
  | x1
  | x1
  |}
  |}


Если признак перезаписи не установлен, то при вводе числа содержимое регистров [[X]], [[Y]], [[Z]] переносится в регистры [[Y]], [[Z]] и [[T]] соответственно. Содержимое [[T|регистра T]] теряется, [[X1|регистра X1]] не изменяется:
Если признак перезаписи не установлен, то при вводе числа содержимое регистров [[RX|X]], [[RY|Y]], [[RZ|Z]] переносится в регистры [[RY|Y]], [[RZ|Z]] и [[RT|T]] соответственно. Содержимое [[RT|регистра T]] теряется, [[X1|регистра X1]] не изменяется:


{| cellspacing="0" border="1"
{| cellspacing="0" border="1"
Строка 38: Строка 38:
  | Значение после выполнения команды
  | Значение после выполнения команды
  |-
  |-
  | T
  | [[RT|T]]
  | t
  | t
  | z
  | z
  |-
  |-
  | Z
  | [[RZ|Z]]
  | z
  | z
  | y
  | y
  |-
  |-
  | Y
  | [[RY|Y]]
  | y
  | y
  | x
  | x
  |-
  |-
  | X
  | [[RX|X]]
  | x
  | x
  | введенное число
  | введенное число
  |-
  |-
  | X1
  | [[X1]]
  | x1
  | x1
  | x1
  | x1

Версия от 03:09, 18 января 2014

Замещение существующего в регистре стека X числа при вводе следующего определяется способом ввода существующего числа. Для этого анализируется состояние специального признака перезаписи. Признак сбрасывается или устанавливается при выполнении каждой команды.

Различие в способах перемещения информации в стеке в зависимости от состояния признака перезаписи обусловлено удобством ввода чисел при цепочечных вычислениях и при сбросе ошибочного набранного числа.

Если признак перезаписи установлен, то при вводе числа содержимое регистров Y, Z, T и X1 не изменяется, содержимое регистра X заменяется:

Регистр Значение до выполнения команды Значение после выполнения команды
T t t
Z z z
Y y y
X x введенное число
X1 x1 x1

Если признак перезаписи не установлен, то при вводе числа содержимое регистров X, Y, Z переносится в регистры Y, Z и T соответственно. Содержимое регистра T теряется, регистра X1 не изменяется:

Регистр Значение до выполнения команды Значение после выполнения команды
T t z
Z z y
Y y x
X x введенное число
X1 x1 x1

Такое перемещение называется поднятием стека. При поднятии стека следует учитывать наличие признака перезаписи.

Команды Cx, ВП, цифр, а также запятой, если в X содержалось число нуль, устанавливают признак перезаписи. Команды В↑, /-/ и С/П состояние признака не изменяют. Все остальные команды признак перезаписи сбрасывают.

Ссылки