TSS 0 2 декабря, 2013 Опубликовано 2 декабря, 2013 · Жалоба Сразу хочу сказать, Errata прочтена, сделано как там рекомендуется. Столкнулся с проблемой при портировании ассемблерных функций фильтров из 28335 в 28069, ни в какую не хочет работать инструкция MACf32 R7H,R3H,*XAR6++,*XAR7++ В регистры результата пишутся нули и всё тут. Нопы уже во всех местах, даже там где им быть вообщем-то и не нужно. Вот какой код: _ASMIIR11calc: MOV32 *SP++, R6H MOV32 *SP++, R7H MOVL XAR6,XAR4 ; XAR6=&xa MOVL XAR7,XAR4 ADDB XAR7, #8; XAR7=&Cx ZERO R2H ZERO R3H ZERO R6H ZERO R7H NOP NOP NOP RPT #2 ||MACf32 R7H,R3H,*XAR6++,*XAR7++;phase a NOP NOP NOP ADDF32 R7H,R2H,R3H NOP NOP NOP ADDF32 R7H,R7H,R6H NOP NOP NOP А в результате всё по нулям: Мож я в чём торможу? Или нашёл ещё один повод пополнить эррату? Сишные фильтры конечно работают, но медленнее на 40%, жаба душит. :05: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eger 0 20 декабря, 2013 Опубликовано 20 декабря, 2013 · Жалоба Это для CPU или CLA? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TSS 0 20 декабря, 2013 Опубликовано 20 декабря, 2013 · Жалоба А разве по инструкциям не видно? :) Конечно для CPU. А если быть совсем уж точным, то для FPU. У этого проца ведь 4 системы команд для разных модулей, все инструкции отличаются специальными буквами вначале или в конце. В CLA MMAC не использовал, но остальное там работает отлично. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться