Признак перезаписи: различия между версиями
AtH (обсуждение | вклад) Нет описания правки |
(иллюстрации) |
||
Строка 5: | Строка 5: | ||
Если признак перезаписи установлен, то при вводе числа содержимое регистров [[RY|Y]], [[RZ|Z]], [[RT|T]] и [[X1]] не изменяется, содержимое [[RX|регистра X]] заменяется: | Если признак перезаписи установлен, то при вводе числа содержимое регистров [[RY|Y]], [[RZ|Z]], [[RT|T]] и [[X1]] не изменяется, содержимое [[RX|регистра X]] заменяется: | ||
[[Файл:Стек при вводе числа с признаком перезаписи.png|thumb|right|200px|Перемещение информации в стеке при вводе числа, если признак перезаписи установлен]] | |||
{| cellspacing="0" border="1" | {| cellspacing="0" border="1" | ||
| Регистр | | Регистр | ||
Строка 33: | Строка 34: | ||
Если признак перезаписи не установлен, то при вводе числа содержимое регистров [[RX|X]], [[RY|Y]], [[RZ|Z]] переносится в регистры [[RY|Y]], [[RZ|Z]] и [[RT|T]] соответственно. Содержимое [[RT|регистра T]] теряется, [[X1|регистра X1]] не изменяется: | Если признак перезаписи не установлен, то при вводе числа содержимое регистров [[RX|X]], [[RY|Y]], [[RZ|Z]] переносится в регистры [[RY|Y]], [[RZ|Z]] и [[RT|T]] соответственно. Содержимое [[RT|регистра T]] теряется, [[X1|регистра X1]] не изменяется: | ||
[[Файл:Стек при вводе числа без признака перезаписи.png|thumb|right|200px|Перемещение информации в стеке при вводе числа, если признак перезаписи не установлен]] | |||
{| cellspacing="0" border="1" | {| cellspacing="0" border="1" | ||
| Регистр | | Регистр |
Версия от 13:18, 11 сентября 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 содержалось число нуль, устанавливают признак перезаписи. Команды В↑, /-/ и С/П состояние признака не изменяют. Все остальные команды признак перезаписи сбрасывают.