دوست عزیز اولی مقدمه بوت لودر بود و دومی رو گفتم که دوستان بدونند که وضعیت بوت لودر چطوری وکجا قرار میگیریه درضمن این دوتا لازم و ملزوم هم وموضوعات آن هم تقریبا بهم پیچیده هستند
دوست عزبز اینکه لازم و ملزومه درست اما فکر میکنم اگر جای دو پست اول و دوم به همراه یک مقدمه میومد خیلی خوب میشید و در ادامه و شروع به نوشتن بوت لودر کنید که نمیدونم تا چه سطحی پیش میرین
(به زبان ساده تر برای دوستان مبتدی مثل من که نمیدونم بوت لودر چیه باعث سردرگمی نشه این نظر شخصیمه)

نقل قول نوشته شده توسط ali.asady
من منظورت رو از سوال نوشتن دستورات وقتی محدودیت حافظه داریم رو درست نفهمیدم
یعنی اینطوری برداشت کردم که اگه 446 بایت داریم چطور بوت لودر رو بنویسیم و درون آن وارد کنیم
اول اینو بگم پستی که من دادم برای این بود که به نکته ای که مهم و هست و نادیده گرفته میشه اشاره کنم نه اینکه بحث عوض شه پس اگر سوالی بود پیام شخصی بدین تا پیوستگی مطالب بهم نخوره
حالا اینو چون پرسیدین و مرتبط هست با مثالی میگم
با فرض اینکه :

mov eax,0FFFFh
mov ebx,1234h

میخواهیم جای این دو عدد در ثبات را جابجا کنیم سه راه رو میگم
1-

mov ecx,eax
mov eax,ebx
mov ebx,ecx

2-

push eax
push ebx
pop eax
pop ebx

3-

xchg eax,ebx

خوب هر سه قسمت یک کارو انجام میدن اما تفاوت در سرعت اجرا و اندازه کد ماشین هست که در اینجا بایت یا همون اندازه دستور برای ما هائز اهمیت هست کد اول 6 بایت و کد دوم 4 بایت که بدی این دستور اینه سرکشی به حافظه که در برنامه های بزرگ باعث تاخیر میشه و بهتره هر چی بیشتر با ثبات ها کار کنیم و دستور سوم 1 بایت اشغال میکنه حالا کاملا مشخص شد برای نوشتن برنامه به اسم بوت لودر اگر ما برنامه رو بدون در نظر گرفتن این بایت ها انجام بدیم فکر نمیکنم کار موثر زیادی رو بشه انجام داد
80x86 instruction set
موفق باشید