spamsink: (Default)
[personal profile] spamsink posting in [community profile] besm6
В компиляторе Паскаль-монитор была предусмотрена возможность вставлять в программу произвольные машинные команды с помощью встроенной функции BESM(код). Экстракод там какой вызвать, например.

Реализовано это в компиляторе путем тупого копирования указанного кода в создаваемый объектный модуль ("стандартный массив" МС Дубна), но тут есть одна проблема: в формате объектного модуля некоторые диапазоны значений адресной части были зарезервированы под ссылки на таблицу символов, признаки перемещаемости и т. п.

Из-за этого, например, попытка написать команду перехода на абсолютный адрес 76000 - BESM(003076000B) - приводит к краху. В результате получается переход по смещению 36000 относительно начала модуля.

Или даже просто вместо экстракода паузы BESM(0507700B) порождает Э50 с нулевой (в реальности - произвольной) адресной частью.

Такие дела.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

Сообщество любителей БЭСМ-6

December 2025

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 14th, 2026 03:43 pm
Powered by Dreamwidth Studios