Используя пакет numicalio, Maxima может считывать двоичные данные из потоков и файлов по 8-битным границам и устанавливать желаемый порядок байтов для чтения. Numicalio поставляется с предварительно скомпилированной версией Windows.
Так если вы имеете дело с по крайней мере 16-битных регистров, и вы хотите разделить регистры на 8-битных границ, то функция
read_binary_array (S, A),
может быть то, что вы ищете, где S - источник данных, а A - массив (пункт назначения).
Есть также варианты и вспомогательные функции, которые вы можете рассмотреть /, возможно, потребуется:
read_binary_list()
openr_binary() /* for reading in from a file */
assume_external_byte_order() /* default action is msb first */
Это самый вариант направления.
В вашем вопросе не так много дополнительных данных, поэтому рассмотрим еще два пути.
Если вам требуется больше возможностей для предварительной обработки, чем у Maxima, имеющего числовое значение, вы можете рассмотреть возможность создания короткого трубопровода, выполняющего предварительную обработку на некотором другом языке, который быстр и имеет гибкость на низком уровне (Ruby это хорошо, как и другие языки сценариев), а затем прочитайте очищенный файл в Maxima, используя пакет, описанный выше.
Наконец, эти более атипичные попытки обычно ударяют о какую-то стену, прежде чем все изломы будут обработаны.
Если это произойдет, я рекомендую использовать Maxima mailing list. Я нашел, что это очень отзывчивое, экспертное сообщество, которое может помочь вам не только в пробке, но и повысит уровень вашего мастерства и ваше знакомство с «естественным» стилем программирования Maxima. Это было очень полезно в некоторых из моих работ.
(дополнительные ресурсы в Maxima, в том числе в листке Ready Reference Чит см Resources: Maxima for Symbolic Computation)
Cheers,