пленка зеркальная солнцезащитная для окон
Если модуль фактически размещен

Таким образом, модули, которые мы хотим перемещать из одного места памяти в другое, не могут быть совершенно произвольными. Потребуем, чтобы все внутренние адреса модуля обязательно удовлетворяли неравенствам ая ^ А <; ак и ан ^ А' ак. Потребуем также, чтобы команды и заготовки, содержащие такие адреса, располагались внутри модуля в ячейках с адресами от ся до ск (так что ан ^ <с ся ^ ск ^ ак). Удовлетворить этим требованиям при составлении модуля нетрудно. Адреса си и ск — тоже внутренние. Если модуль фактически размещен, начиная с адреса Ьн, то корректировке подлежат лишь коды команд (или заготовок), расположенные в ячейках с адресами от сп = ся + frH — ап до с'к = ск -f feH — #н-Итак, нам надо составить подпрограмму, которая просматривает все слова с адресами i из диапазона c'R ^ i с'к, читает их как коды команд, исследует адреса этих команд и к каждому адресу А, удовлетворяющему неравенствам ан <: А ^ ак, добавляет приращение б. Эта подпрограмма представляет собой цикл, в котором i пробегает значения от сп до с'к. При составлении рабочей части этого цикла будем считать, что код исследуемой команды (из ячейки с адресом i), имеющий вид
г я   КОП   Аг   А2   А3
помещен (на время его обработки) в ячейку г, а в ячейке q размещается код
q    -      п   КОП   А/ • А/+1   А/+2»   /^Ь
где As = 0 при s > 3, а при s ^ 3 величина А5 в кодах г и q имеет одно и то же значение. Независимо от значения адресов А;+1 и А/+2 операция

где sx — адрес константы

вырабатывает значение со = 0, если А, ^ан,и© = 1, если Ау< ап. Неравенство Aj^aK эквивалентно неравенству А;- <^ак + 1, поэтому для его проверки достаточно выполнить операцию

где в ячейке s2 хранится константа

В зависимости от результата этих двух проверок надо выполнить или не выполнять операцию

где константы d+ 1 -s- d + 3 имеют вид
Для перехода к следующему значению / адресную часть кода в ячейке q надо сдвинуть на 1210 разрядов влево. Если после сдвига адресная часть равна нулю (со = 1), то корректировка команды закончена. Это заведомо случится, если / > 3. Поэтому для выхода из цикла по / можно воспользоваться командой ОЯ А с Ах = 0. Итак, внутренний цикл подпрограммы может быть таким:
 то на рх