[an error occurred while processing this directive]
|
Пишу алгоритм кодирования речи G.727 на DSP TMS320C54, причём уже только на ассемблереб так как на Си получаются вообще нереальные цифры по общему количеству машинных команд. Но и с ассемблером оказывается не всё в порядке некоторые команды заявленные как выполняющиеся за 1 машинный цикл (МЦ) выполняются, как это не странно за несколько, так например команда MAC записанная например 5 раз подряд выполняется соответственно не за 5 МЦ а за 9 МЦ, можно конечно применить конструкцию RPT #5 а затем MAC (выполнится в общей сложности за 7 МЦ), но что делать если необходимо выполнить именно 5 раз MAC из-за того что у каждой операции совершенно разные операнды не поддающиеся алгоритмизации. Или например команда XC заявлена, что выполняется за 1 МЦ, но оказывается что то условие которое она проверяет должно сформироваться за 2 МЦ до выполнения самой комманды, то есть фактически команда выполняется за 3 МЦ. И ещё множество таких примеров.
Может быть кто знает что это за надувательство над простыми программерами и чего делать? Может кто подскажет какие нить ссылки или литературу то DSP где на написаныкакие нибудь финты по программированию именно на ассемблере. И ещё такой вопрос в семействе TMS320C55 так же всё запущено или там такая же анархия (просто есть мысль попробовать для своей задачи 55 семейство). Заранее спасибо.
E-mail: info@telesys.ru