Вам нужно будет перекодировать эту часть. GnuCOBOL поддерживает только несколько пронумерованных подпрограмм поддержки системы. х"91", х"Е4", х"Е5", х"F4" и х"F5". x"AF" еще нет в списке встроенных подпрограмм системной библиотеки. И даже поддерживаемые не включают обработку всех подфункций.
Поскольку x"AF" связан с экраном (по крайней мере, на одной странице документа, которую я видел), вы, вероятно, можете просто выяснить, какие escape-коды отправлять на терминал, и выполнить эту часть вручную с помощью DISPLAY вместо CALL.
Не зная, какая подфункция x"AF" вызывается (независимо от того, что находится в SET-BIT-PAIRS), невозможно придумать конкретную последовательность VT100, чтобы предложить попробовать. Если это просто подфункция 18, то, вероятно, будет достаточно ОТОБРАЖЕНИЯ одного символа БЕЗ ПРОДВИЖЕНИЯ. Подфункция 22 просто означает звонок в терминал, что можно сделать, нажав Ctrl-G. И т. д.
Если вам интересно, запустите cobc --list-system
(или просто загляните в руководство GnuCOBOL, которое включено в готовый пакет, который вы используете), чтобы узнать, какие вызовы стандартных системных библиотек поддерживаются с помощью GnuCOBOL.
И если вы предприимчивы, вы можете заглянуть в дерево исходного кода компилятора и просто изменить libcob для поддержки кода, который у вас есть, связав номер CALL с функцией C, расширив libcob/system.def новой записью и пересобрав GnuCOBOL. из источника.
person
Brian Tiffin
schedule
24.10.2017