بررسی چگونگی اجرای تابع Main توسط میکروکنترلر ARM

با سلام
میکروکنترلر آرم از کجا می داند که ابتدا باید تابع main را اجرا کند؟

سلام دوست عزیز، در واقع این کامپایلر هست که این رو میدونه. میکرو کنترلر فقط زبان ماشین و دستورات ماشین رو میفهمه. وقتی که شما به زبان C، C++ و یا به هر زبان دیگری در یک محیط نرم افزاری کد میزنید، وقتی که کامپایل انجام میشه، اون نرم افزار کامپایلر، کد های شما رو تبدیل میکنه به کدهای ماشین که از بالا به پایین اجرا میشن و خود کامپایلر کدهای تابع main رو بالای برنامه میذاره.

ممنون از پاسخگویی شما.
آیا اسم رجیسترهایی که برای این کار اختصاص داده شده اند را می دانید؟ کامپایلر چه رجیسترهایی را از میکرو کنترلر تنظیم می کند؟ این سوال را میپرسم چون در یک مصاحبه کاری با یک شرکت خارجی این سوال از من شد. و من نمی دانستم و نمی دانم.
با تشکر از شما