Compiler Options: -ss -pdr -pdv -os -fr"$(Proj_dir)\spi" -fs"$(Proj_dir)\spi" -i"$(Proj_dir)\include" -d"UBL_SPI" -d"USE_IN_ROM" -d"BOOT" -me -mv5e --abi=ti_arm9_abi --symdebug:none
Linker Options: --abi=ti_arm9_abi -m"$(Proj_dir)\spi\ubl-spi.map" -o"$(Proj_dir)\spi\ubl-spi.out" -x
I'm using CCS 3.3.83.19 to compile some ARM code. Why does the 0xffffffff in the source code of (1) become #0 in the .asm file? gpio0 is declared as a 32-bit unsigned int *.
1:From the src .c file:
; 84 | *(gpio0 + 7) = (unsigned int) 0xffffffff;
From the associated .asm file:
LDR V9, [SP, #4] ; |84|
MVN A1, #0 ; |84|
STR A1, [V9, #28] ; |84|
------------------------------------------------------------------------------------
2. If I change the constant to 0xfffff, the code then correctly disassembles :
From the src .c file:
; 84 | *(gpio0 + 7) = (unsigned int) 0xfffff;
From the .asm file:
LDR V9, [SP, #4] ; |84|
LDR A1, $C$CON10 ; |84|
STR A1, [V9, #28] ; |84|
.align 4
$C$CON10: .field 1048575,32