
Re: IAR как да #include <*.asm> във С++ сорс
Като срещнах този проблем преди време, го реших по следния начин.
1. Трябва да добавиш asm файла към проекта
2. обяваваш функцията, която ползваш в .c от asm файла, като extern
Пример:
extern unsigned int Hex2BCD(unsigned int convert); //Hex to BCD conversion
3. В asm файла
Пример:
/********************************************************************************************/
#include "msp430x14x.h" ; Processor specific definitions
NAME EXTERNAL ; Тука трябва да опоменеш, че някой от вън ще я вика (най просто казано)
;============================================================================
; Hex2BCD
;============================================================================
------PUBLIC Hex2BCD ; Declare symbol to be exported
------RSEG CODE ; Code is relocatable
Hex2BCD;
----------clr R4
----------clrc
----------mov #0010h,R14
LOOP
----------rlc R12
----------dadd R4,R4
----------dec R14
----------cmp #0000h,R14
----------jnz LOOP
----------mov R4,R12
----------ret
END
/********************************************************************************************/
4. Можеш и директо да изпозваш InLine assemblera
Пример:
asm("MOV.B &P1IN,&flag");
това можеш да го видиш в IAR C/C++ Compiler -EW430_CompilerReference.pdf