Не сталкивался с передачей массива значений в вызывающую программу, но, для простых переменных работает так:
PROC SUBPROG(real _a1, real _a2, var real _a3, var real _a4)
_a3=_a1+_a2
_a4=_a1*_a2
M17
Вызываем:
SUBPROG(20, 30, R10, _X)
Переменные _a1, _a2 - обычные, примут значения 20 и 30 соответственно, а рассчитанные значения _a3, _a4 попадут в R10 (50) и _X (600), _X локальная переменная, недоступная в подпрограмме.
Как работает это с массивом, не знаю, наверно так, как Вы написали.
Количество символов в кадре, наверно, не о