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

 
 
 
Reply to this topicStart new topic
> как связать прерывание написанное на .asm с основным кодом на с
aduduka
сообщение Aug 3 2010, 08:30
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 3-07-09
Пользователь №: 50 882



Цитата(Stanislav @ Jan 23 2008, 02:57) *
Код
/********************************************************************************
***********
Description : This function performs FIR filter operation on given input.
Input:   R0-current address of input circular buffer, R1-address of coeff. vector,
         R2-number of taps*2.
Output:  R0-next address of input circular buffer.
Prototype: fract16* FIR_fract(fract16*, fract16*, u32).
*/
#include "Tru_def.h"
#include <defBF534.h>

.extern _Host_MC_Out; //output array

.section program;
.global _FIR_fract;
.align  8;

//-----------------------------------------------------------------------------------
_FIR_fract:
  L0=INPUT_LEN*2(Z);      // L0 = length of input buffer in bytes
  L1=R2;                  // L1 = length of coeff buffer in bytes
  I0=R0;                  // set up input pointer
................................
БЛА-БЛА-БЛА
................................
  L0=0;                    // Clear modulo registers
  L1=0;
  RTS;    
_FIR_fract.end:
Вызывается как обычная сишная функция с тремя входными параметрами и одним выходным, передавая их наиболее простым и быстрым способом - через регистры, не используя стек.
Обработчики прерываний писать на асме ещё проще.



Здравствуйте. Подскажите пожалуйста, как связать прерывание написанное на .asm с основным кодом на с. Не пойму, какие параметры у функции должны быть? Прототип FIR_fract(fract16*, fract16*, u32), а как и куда они передаются в _FIR_fract: ?
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 3 2010, 13:59
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Сообщение модератора.

Сообщение aduduka выделено в отдельную тему и перенесено в другой раздел форума, т.к. не соответствует ни теме, ни разделу исходного топика, в котором оно было размещено первоначально.
Go to the top of the page
 
+Quote Post
aduduka
сообщение Aug 4 2010, 06:04
Сообщение #3





Группа: Новичок
Сообщений: 6
Регистрация: 3-07-09
Пользователь №: 50 882



Цитата(rezident @ Aug 3 2010, 17:59) *
Сообщение модератора.

Сообщение aduduka выделено в отдельную тему и перенесено в другой раздел форума, т.к. не соответствует ни теме, ни разделу исходного топика, в котором оно было размещено первоначально.


Спасибо, просто пример, который приведен в цитате был взят из той темы.

Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 4 2010, 07:07
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (aduduka @ Aug 3 2010, 11:30) *
Не пойму, какие параметры у функции должны быть?

Читайте соглашение компилятора о передаче параметров. Соответствующий раздел имеет место быть в документации на любой компилятор.
QUOTE (aduduka @ Aug 4 2010, 09:04) *
Спасибо, просто пример, который приведен в цитате был взят из той темы.

Admin:
Это не причина мусорить где попало и в последствии флеймить по поводу того, что кто-то взял на себя труд за Вами убирать.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


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


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