R0

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

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

Для записи в регистр 0 служит команда П0 с кодом 40. Для чтения регистра 0 служит команда ИП0 с кодом 60. Также десятичный регистр 0 используется в командах циклов FL0 и PFL0.

Модификация R0 при косвенной адресации

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

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

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

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

Модификация R0 на советских ПМК

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

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

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