реклама на сайте
подробности

 
 
> Нужна помощь разобраться с asm рутиной FIRа, Моя первая самостоятелсьная FIR рутина...
Саша Z
сообщение Jun 3 2007, 18:35
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



После долгих моих тугодумных мук родил FIR код в asm который будет част проэкта (вызывается из кода С). Почему-то после добавления ее в проэкт (данного файла asm) - проэкт не компилируется - падает ессно на этой рутине выдавая кучу ошибок. Первая из них весьма странная мне, не могу понять что его не устраивает. Может подскажете чего я не вижу:

Код
.mmregs
.global _p_buffer_in,_p_buffer_out,_dline,_fcoeff,_fir_ord,_p_buff_lenth
.global _fir_processing

_fir_processing:
; saving regs content into stack
    pshm ar0; used as delay line and coeff. cycling addressing increment
    pshm ar1; holds input data array start address
    pshm ar2   ; holds pointer to filter coeff. array addressing
    pshm ar3; holds pointer to delay line array addressing
    pshm ar4; holds output data array start address
    pshm ar5; holds output data array
    nop
    nop
    
; Initialization
    stm #1,ar0                   ;set increment step for cycling buffers
    mvdm *(_fir_ord),BK          ;set cyclic buffer size (for delay line and coeff buffer)
    stm #_p_buff_in,ar1             ;load data_in array start address
    stm #_fcoeff,ar2             ;load coeff. array start address
    stm #_dline,ar3                 ;load delay line array start address
    stm #_p_buffer_out,ar4         ;load output data buffer array address
    mvdm *(_p_buff_length)-1,brc ;load BRC with processing data block length (PROC_BUFFER_LENGTH)
    nop
    nop
    
; Filtration
    rptb fir_loop_end-1            ; repeat FIR routine for entire processing data buffer
    mvdd *ar1+,*ar3+%          ; load next input sample from input proc. array into delay line array
    
    rptz a,_fir_ord-1            ; FIR order less 1 iterations per each input data sample
    mac *ar2+0%,*ar3+0%,a             ; MAC operation on cyclic delay line and coeff. arrays
    
    rnd a                         ; round off value in acc. A to 16 bits
    sth a,*ar4+                      ; store output value into data output array
  fir_loop_end:
    
    popm ar5
    popm ar4
    popm ar3
    popm ar2
    popm ar1
    popm ar0


Первая ошибка которую выдает компилятор:
Цитата
> ERROR ! at line 29: [E0004] Expecting dual memory addressing
mvdd *ar1+, *ar3+%


Дальше еще есть кучу ошибок, подозреваю что некоторые завязаны на предыдущих, посему буду исправлять по одной от первой к последней с перекомпиляцией после каждой.

Итак, что ему не нравиться в mvdd ? Она-то вроде перекидывает из памяти в память, и вроде у меня так и есть в коде.... cranky.gif Что я в упор не вижу ?????

Кроме того, если видите у другие ошибки в коде алгоритма - буду благодарен за указание таковых...

P.S. Все переменные в данном asm определены в основном С коде.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Саша Z   Нужна помощь разобраться с asm рутиной FIRа   Jun 3 2007, 18:35
- - BratherLU   1 - В mvdd можно использовать только регистры ar...   Jun 4 2007, 05:16
|- - Саша Z   Цитата(BratherLU @ Jun 4 2007, 09:16) 1 -...   Jun 4 2007, 05:59
- - BratherLU   В Conventions описано как праввильно делать вызов ...   Jun 4 2007, 08:54
|- - Саша Z   Цитата(BratherLU @ Jun 4 2007, 12:54) В C...   Jun 4 2007, 10:14
- - BratherLU   mvdk *(_p_buff_length-1),brc сорри Вас запутал и...   Jun 4 2007, 11:06
|- - Саша Z   Цитата(BratherLU @ Jun 4 2007, 15:06) mvd...   Jun 4 2007, 11:27
- - BratherLU   ld #0x00,a rpt *(_fir_ord) rptz действительно не ...   Jun 4 2007, 11:58
|- - Саша Z   Цитата(BratherLU @ Jun 4 2007, 15:46) ld ...   Jun 4 2007, 12:03
- - BratherLU   Коэффициенты тоже должны быть выровнены по соответ...   Jun 4 2007, 12:07
|- - Саша Z   Цитата(BratherLU @ Jun 4 2007, 16:07) Коэ...   Jun 4 2007, 12:28
- - BratherLU   Еще смотрите - что у вас в BK и в ar0 если все ок ...   Jun 4 2007, 12:43
|- - Саша Z   Цитата(BratherLU @ Jun 4 2007, 16:43) Еще...   Jun 4 2007, 13:07
- - BratherLU   В Данной реализации длина линии задержки==число ко...   Jun 4 2007, 14:13
|- - Саша Z   Цитата(BratherLU @ Jun 4 2007, 18:13) В Д...   Jun 4 2007, 18:18
|- - BratherLU   Цитата(Саша Z @ Jun 4 2007, 22:18) ..., т...   Jun 5 2007, 08:49
|- - Саша Z   Цитата(BratherLU @ Jun 5 2007, 12:49) Пос...   Jun 5 2007, 11:48
- - BratherLU   Еще раз в данной реализации -> длина линии заде...   Jun 5 2007, 12:03
|- - Саша Z   Цитата(BratherLU @ Jun 5 2007, 16:03) Еще...   Jun 5 2007, 12:25
- - BratherLU   Давйте кусочек кода начиная с внешнего цикла (там ...   Jun 5 2007, 12:45
|- - Саша Z   Цитата(BratherLU @ Jun 5 2007, 16:45) Дав...   Jun 5 2007, 13:02
- - BratherLU   Да незачта.В своем проекте дописал чуть-чуть Код*....   Jun 5 2007, 14:07
- - =GM=   Цитата(Саша Z @ Jun 3 2007, 17:35) Кроме ...   Jun 5 2007, 14:52
|- - Саша Z   Цитата(=GM= @ Jun 5 2007, 18:52) Мне каже...   Jun 5 2007, 15:58
|- - =GM=   Цитата(Саша Z @ Jun 5 2007, 15:58) Да но ...   Jun 5 2007, 18:13
|- - Саша Z   Цитата(=GM= @ Jun 5 2007, 22:13) Вот что ...   Jun 6 2007, 06:57
|- - -=ВН=-   Цитата(Саша Z @ Jun 6 2007, 10:57) ... Кс...   Jun 6 2007, 07:28
||- - Саша Z   Цитата(-=ВН=- @ Jun 6 2007, 11...   Jun 6 2007, 08:04
||- - -=ВН=-   Цитата(Саша Z @ Jun 6 2007, 12:04) Да нет...   Jun 6 2007, 08:52
|- - =GM=   Цитата(Саша Z @ Jun 6 2007, 05:57) Ну дав...   Jun 6 2007, 09:10
|- - Саша Z   Цитата(=GM= @ Jun 6 2007, 13:10) Бестолко...   Jun 6 2007, 09:33
|- - =GM=   Цитата(Саша Z @ Jun 6 2007, 08:33) ... не...   Jun 6 2007, 10:01
|- - Саша Z   Цитата(=GM= @ Jun 6 2007, 14:01) 1) Не за...   Jun 6 2007, 10:36
- - Саша Z   Цитата(BratherLU @ Jun 5 2007, 18:07) Да ...   Jun 5 2007, 14:55


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 13:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01383 секунд с 7
ELECTRONIX ©2004-2016