This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

hex file generation

Hi,

I have a simple project in Keil with follow files.

startup.a51 that contains.
$NOMOD51
CSEG AT 0xFC00
BootHeaderData: DB 0xA5, \ 0xFF, \ 0x01, \ 0x00 NAME ?C_STARTUP

?C_C51STARTUP SEGMENT CODE
?STACK SEGMENT IDATA RSEG ?STACK DS 10 EXTRN CODE (?C_START) PUBLIC ?C_STARTUP CSEG AT 0xFC04
?C_STARTUP: LJMP STARTUP1

RSEG ?C_C51STARTUP
STARTUP1: MOV SP,#?STACK-1 ; assign stack at beginning

LJMP ?C_START ;reset location (jump to start main)

END
--------------------------------------------
and I have my main.c file

void main(void)
{ unsigned char i =0;

i = i +1; while(1);
}

What I don't understant is the hex file generated by compiler contain some additional code after the inst.
LJMP ?C_START
only after the execution of "some" code that compiler generate my main function is executed.

Any knows what code is generated? I don't want that the compiler generate this "additional" code, how I can do this?
Thank you!