We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello, I have written simple program given below in ARM assembly. When i run the program execution is not start from "ENTRY" directive but it execute sequencially from first line. Can anyone answer why is it so?
AREA RESET, CODE, READONLY MOV r0,#0xFF AREA ARMex, CODE, READONLY ; Name this block of code ARMex MOV r0, #10 MOV r1, #3 ADD r0, r0, r1 ; r0 = r0 + r1 stop ENTRY; MOV r0, #0x18 END ; Mark end of file
How do you think your processor will know that ENTRY is a good place to start?
Most processors thinks RESET is a good way to start, or to look for the start address (depending on type of processor).
Have you looked at the startup files that Keil install into normal C/C++ projects? See how they decide where to start?
I read the realview assembler guide, in that its written that ENTRY directive specify entry point for program to start execution. When i have start up file and source file in my project it start to execute start up file first but i want to start execution from source file. So i think ENTRY directives may work but execution sequence not change.