R3: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
Строка 1: Строка 1:
'''Регистр 3''' (R3) — регистр ПМК, доступный с помощью [[регистровая адресация|регистровой адресации]].  Используется для хранения десятичных данных, представленных в форме с естественной или плавающей запятой.
'''Регистр 3''' (R3) — регистр ПМК, доступный с помощью [[регистровая адресация|регистровой адресации]].  Используется для хранения [[Десятичное число|десятичных данных]], представленных в форме с естественной или плавающей запятой.


Для записи в регистр 3 служит команда [[П3]] с кодом 43.  Для чтения регистра 3 служит команда [[ИП3]] с кодом 63.  Также десятичный регистр 3 используется в командах циклов [[FL3]] и [[PFL3]].
Для записи в регистр 3 служит команда [[П3]] с кодом 43.  Для чтения регистра 3 служит команда [[ИП3]] с кодом 63.  Также десятичный регистр 3 используется в командах циклов [[FL3]] и [[PFL3]].
Строка 5: Строка 5:
== Модификация R3 при косвенной адресации ==
== Модификация R3 при косвенной адресации ==


Cодержимое адресного регистра 3 перед выполнением команд с косвенной адресацией изменяется. Если записанное в регистр 3 число меньше нуля, в регистр 3 записывается число нуль. Дробная часть числа, записанного в регистр 3, отбрасывается.
Cодержимое адресного регистра 3 перед выполнением команд с косвенной адресацией изменяется. Если записанное в регистр 3 число меньше нуля, регистр 3 обнуляется. Дробная часть числа, записанного в регистр 3, отбрасывается.


При '''косвенном обращении с регистровой адресацией''' через регистр 3 (например, [[КИП3]]) перед обращением происходит дополнительное изменение содержимого этого регистра. При использовании регистра 3 происходит косвенная адресация с предварительным автодекрементированием, то есть вычитанием числа 1 из содержимого адресного регистра 3 перед выполнением обращения к памяти.
При '''косвенном обращении с регистровой адресацией''' через регистр 3 (например, [[КИП3]]) перед обращением происходит дополнительное изменение содержимого этого регистра. При использовании регистра 3 происходит косвенная адресация с предварительным автодекрементированием, то есть вычитанием числа 1 из содержимого адресного регистра 3 перед выполнением обращения к памяти.

Текущая версия от 01:46, 14 января 2020

Регистр 3 (R3) — регистр ПМК, доступный с помощью регистровой адресации. Используется для хранения десятичных данных, представленных в форме с естественной или плавающей запятой.

Для записи в регистр 3 служит команда П3 с кодом 43. Для чтения регистра 3 служит команда ИП3 с кодом 63. Также десятичный регистр 3 используется в командах циклов FL3 и PFL3.

Модификация R3 при косвенной адресации[править]

Cодержимое адресного регистра 3 перед выполнением команд с косвенной адресацией изменяется. Если записанное в регистр 3 число меньше нуля, регистр 3 обнуляется. Дробная часть числа, записанного в регистр 3, отбрасывается.

При косвенном обращении с регистровой адресацией через регистр 3 (например, КИП3) перед обращением происходит дополнительное изменение содержимого этого регистра. При использовании регистра 3 происходит косвенная адресация с предварительным автодекрементированием, то есть вычитанием числа 1 из содержимого адресного регистра 3 перед выполнением обращения к памяти.

При косвенном обращении с прямой адресацией к регистру 3 (например PKИП 03) автодекрементирования содержимого адресного регистра 3 не происходит.

Описанное выше изменение содержимого регистра адресации 3 при косвенном обращении называется модификацией.

Модификация R3 на советских ПМК[править]

Если в регистре 3 содержится число от 1 до 15 (до 105 при адресации памяти программ), его модификация происходит также, как на современных ЭКВМ — путём отбрасывания дробной части (усечения) и уменьшении регистра 3 на единицу.

Модификация чисел меньше 1, а также больших положительных чисел на советских ПМК не документирована и точное поведение может зависеть от модели.

Младшие регистры памяти
R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 RA RB RC RE