vak: (Default)
[personal profile] vak posting in [community profile] besm6
С некоторого момента третья часть паскалевского теста стала компилироваться, но при загрузке возникала ошибка:
    ОТСУТСТВУЕТ  Р/0Р
Разобрался, откуда бралась странная функция Р/0Р. Вкратце: некорректно формировалось имя функции.

Вызов происходил в виде:
 14,VTM,P/1D+248
 11,VTM,P/0P
 13,VJM,P/STAR
Здесь P/STAR - обобщёная процедура записи элемента в упакованный массив. В зависимости от размера элемента упакованного массива задействуется вспомогательная процедура, адрес которой передаётся в регистре 11. Имена процедур:
P/01 - ширина элемента 1 бит ;
P/02 - 2 бита;
P/03 - 3 бита;
P/04 - 4 бита;
P/06 - 6 бит;
P/08 - 8 бит;
P/0П - 12 бит;
P/00 - 16 бит;
P/07 - 24 бита.

Недавно я сделал правку в компиляторе, чтобы разрешить процедурам pack() и unpack() работать с неупакованными массивами. Как следствие, компилятор делает попытку вызывать P/STAR для "упакованных" массивов с элементами размером 48 бит. Имя процедуры при этом получается P/0P, а её такой нету. Надо чинить это место.
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. 16th, 2026 03:09 pm
Powered by Dreamwidth Studios