ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
9 июля
307205
++ (13.02.2012 14:38 - 14:41, просмотров: 1162) MBedder
gcc: препроцессор не хочет сам рассчитать константу .asm 
#define ELINS_ETH_SIZE      65536U
#define ELINS_STACK_SIZE    65536U
#define ELINS_SCREEN_SIZE   1048576U

#define ELINS_MEM_TOP       0x8f000000U //(unsigned int)(cpuboard_property->sdram_size)
#define ELINS_RESERVED1_BASE   (ELINS_MEM_TOP-     ELINS_SCREEN_SIZE)
#define ELINS_RESERVED2_BASE   (ELINS_RESERVED1_BASE-     ELINS_SCREEN_SIZE)
#define ELINS_SCREEN_BASE   (ELINS_RESERVED2_BASE-     ELINS_SCREEN_SIZE)
#define ELINS_ZLIB_BASE     (ELINS_SCREEN_BASE- ELINS_ZLIB_SIZE)
#define ELINS_ETH_BASE      (ELINS_ZLIB_BASE -  ELINS_ETH_SIZE)
#define ELINS_USB_BASE      ((ELINS_ETH_BASE -  ELINS_USB_SIZE) | 0xa0000000)    /* в некэшируемом адресном пространстве */
#define ELINS_STACK_BASE    (ELINS_ETH_BASE -   ELINS_USB_SIZE - ELINS_STACK_SIZE) /* grow down */
#define ELINS_STACK         (ELINS_STACK_BASE-  ELINS_STACK_SIZE)

    move  r0, ELINS_STACK_BASE 
gcc -Wp,-MD,,vectors.tmp -G0 -c -o vectors.tmp vectors.S vectors.S:186: Error: Illegal operands move $4,((((((0x8f000000U-1048576U)-1048576U)-1048576U)-262140U)-65536U)-65536U-65536U)
Как победить?
++