Условная компиляция между Си и Asm

Нужно реализовать в модуле на asm-е замену нескольких строк другими, или в крайнем случае всего модуля на другой, в зависимости от #define в Си. Т.е. в Си пишем: #define test1 //или test2 А в модуле на asm-e получить: SCL EQU P2.1 ; если test1 или SCL EQU P2.7 ; если test2

Reply to
Vladislav
Loading thread data ...

Tue Jun 07 2005 13:20, Vladislav wrote to All:

V> Hужно реализовать в модуле на asm-е замену нескольких строк другими, V> или в крайнем случае всего модуля на другой, в зависимости от #define в V> Си. V> Т.е. в Си пишем: V> #define test1 //или test2 V> А в модуле на asm-e получить: V> SCL EQU P2.1 ; если test1 V> или V> SCL EQU P2.7 ; если test2

Hужно 2 вещи: чтобы асм умел понимать директивы препроцессора в Си-стиле, и чтобы были какие-то предопределенные макроопределения в компиляторе Си и/или ассемблере (обычно они есть). Тогда делаешь, к примеру: #ifdef __IAR_C #define бла-бла-бла //для Си #else #define ля-ля-ля //для асм #endif

wbr, Andy

Reply to
Andy Mozzhevilov

Привет Vladislav!

07 Jun 05 13:20, Vladislav писал All:

V> Hужно реализовать в модуле на asm-е замену нескольких строк другими, V> или в крайнем случае всего модуля на другой, в зависимости от #define V> в Си. Т.е. в Си пишем: #define test1 //или test2 А в модуле на asm-e V> получить: SCL EQU P2.1 ; если test1 или SCL EQU P2.7 ; V> если test2

#ifdef test1 #define SCLPIN P2.1 #elif test2 #define SCLPIN P2.7 #else #error bla-bla-bla #endif

SCL EQU SCLPIN

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Слепой Пью, Глухой Ем...

Reply to
Alex Mogilnikov

Привет Vladislav!

07 Jun 05 16:45, Alex Mogilnikov писал Vladislav:

AM> #ifdef test1 AM> #define SCLPIN P2.1 AM> #elif test2

Тут я поторопился по невнимательности. Сделует читать

#elif defined test2

Далее по тексту.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... В системе возможно бесконечное число процессов - до 256.

Reply to
Alex Mogilnikov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.