Признак перезаписи: различия между версиями
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
Замещение существующего в [[ | Замещение существующего в [[RX|регистре стека X]] числа при вводе следующего определяется способом ввода существующего числа. Для этого анализируется состояние специального признака перезаписи. Признак сбрасывается или устанавливается при выполнении каждой команды. | ||
Различие в способах перемещения информации в стеке в зависимости от состояния признака перезаписи обусловлено удобством ввода чисел при цепочечных вычислениях и при сбросе ошибочного набранного числа. | Различие в способах перемещения информации в стеке в зависимости от состояния признака перезаписи обусловлено удобством ввода чисел при цепочечных вычислениях и при сбросе ошибочного набранного числа. | ||
Если признак перезаписи установлен, то при вводе числа содержимое регистров [[Y]], [[Z]], [[T]] и [[X1]] не изменяется, содержимое [[ | Если признак перезаписи установлен, то при вводе числа содержимое регистров [[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]] соответственно. Содержимое [[ | Если признак перезаписи не установлен, то при вводе числа содержимое регистров [[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 содержалось число нуль, устанавливают признак перезаписи. Команды В↑, /-/ и С/П состояние признака не изменяют. Все остальные команды признак перезаписи сбрасывают.