- Главная и побочные ветви
-
В советских программируемых калькуляторах Электроника Б3-34, МК-54, МК-56, МК-61, МК-52 (и аналогичных) физически оперативной памяти столько, сколько заявлено в руководстве к ПМК, но из-за особенностей аппаратной реализации существует виртуальный 160 шаговый цикл[1], состоящий из 3 ветвей: «главной», «короткой побочной» и «длинной побочной»[2].
Главная ветвь — это то, что в характеристиках калькулятора указывается как «Количество шагов программы». В семействе Б3-34 главная ветвь занимает 98 шагов — адреса с «00» по «97», в МК-61 и МК-52 105 шагов — с «00» по «104» (на экране отображается как «-4»). Если калькулятор в конце главной ветви не встретил команд В/О, С/П или БП, то счётчик шагов продолжает увеличиваться и калькулятор переходит в диапазон короткой побочной ветви.
Короткая побочная ветвь занимает 14 шагов программы — с адреса «98» по «L1» (МК-61 и МК-52: 7 шагов с адреса «-5» по «L1»). Эти адреса соответствуют реальным адресам «00» — «13» (МК-61 и МК-52: «00» — «06»). Если в этих адресах калькулятор не встретил команд В/О, С/П или БП, то счётчик шагов продолжает увеличиваться и калькулятор переходит в диапазон длинной побочной ветви.
Длинная побочная ветвь занимает 48 шагов программы — с адреса «L2» по «F9». Эти адреса соответствуют реальным адресам «00» — «47»). Если в этих адресах калькулятор не встретил команд В/О, С/П или БП, то счётчик шагов продолжает увеличиваться и калькулятор переходит в главную ветвь. В длинной побочной ветви с адреса «C1» начинается «тёмная зона»: коды команд, записанные в соответствующие адреса главной ветви, при переходе в режим ПРГ на индикатор не выводятся, однако в режиме счета исправно выполняются.
Графически этот процесс выглядит так (на примере МК-52):
Данная недокументированная особенность не позволяла писать программы длиннее документированного объема, зато позволяла дважды избежать команд безусловного перехода на нулевой адрес (иногда по нулевому адресу ставилась команда В/О).
160-шаговый цикл перестал поддерживаться в МК-152. Чтобы программы для советских ПМК пошли на современной ЭКВМ, их придётся переделывать. Программ, использовавших эту особенность, не так много, а память программ МК-152 значительно расширена[3] по сравнению с ПМК, выпущенными в Советском Союзе.
См. также
Примечания
- ↑ В инструкциях к ПМК о 160 шаговом цикле ничего не сказано.
- ↑ «Техника — молодёжи», 1986, № 2, стр.56.
- ↑ Информация о МК-152 на сайте «Семико»
Категория:- Советские программируемые микрокалькуляторы
Wikimedia Foundation. 2010.