در این سری مطالب به بررسی یه سری نکات میپردازیم که ممکنه شما در حین خوندن زبان اسمبلی نیاز باشه بدونیدشون ، درواقع از 0 تا 100 اسمبلی رو نمیگم بلکه نکات و سوالایی که ممکنه پیش بیاد رو بررسی میکنم
# هر قسمت از کد رو که بولد کردم ، یعنی اون قسمت رو دارم توضیح میدم و مربوط به اون سرفصله
به هر خط کد از زبان اسمبلی میگن دستورالعمل یا Instruction ، مثلا در مثال پایین ما 5 خط کد داریم به زبان اسمبلی ، به هر خط میگن یه دستورالعمل یا Instruction :
MOV EAX,1
MOV EXV,2
MOV EDX,3
MOV ECX,4
MOV INT,0x80
کد های مبنای 16 یا Hexadecimal ای هستن که خلاصه دستورالعمل یا Instruction هستن ، یعنی مثلا بجای MOV EAX,1 ما B8 رو داریم که خلاصه شده همونه ، درواقع opcode چیزیه که به پردازنده میگه چیکار کنه و چه چیزی رو اجرا کنه ، (قاعده زبان ماشین ، در مبنای 16 و 2 رو اگر نمیدونید مطلب اول رو بخونید تا متوجه بشید)
B8 = MOV EAX,1
B9 = MOV EBX,2
BA = PUSH EBP
BB = MOVE ESP,EBP
CD = INT
در وهله اول تلفظش میشه (نمونیک ، "M" اولش خونده نمیشه) یه واژه ایه واسه توضیح opcode ، مثلا میتونیم بگیم نمونیکی که استفاده میشه برای توضیح آپکد CD ، میشه INT یا میشه گفت INT نمونیکیه برای آپکد CD ، یا CD آپکدیه برای نمونیک INT
MOV EAX = B9
MOV EBX = B8
MOV ECX = BA
MOV EDX = BB
INT = CD
پارامتر ها یا آرگومان هایی هستن که مستقیما یه نمونیک رو دنبال میکنن و با یه نمونیک میان (بسته به نوع دستوری که میزنیم تعداد و نوعشون فرق میکنه)
MOV EAX,1
MOV ECX,2
MOV EDX,3
MOV EBX,4
INT 0x80
INT 80h
INT 128
این سوالات و ابهامات وقتی خودم شروع به خوندن اسمبلی و معماری سیستم کرده بودم برام پیش آمده و به مرور این نکات رو آپدیت میکنم که دوستانی که بعد من میخوان اقدام به خوندن کنن راحت تر باشن :)
سوالی چیزی بود در خدمتم
عاشق امنیت و نفوذ ، رد تیم و دوستدار بزن بکش :)
کارشناس تست نفوذ سنجی ، علاقه مند به امنیت تهاجمی و رد تیمینگ | عضو انجمن بین المللی ورزش های رزمی کشور آلمان و دارای احکام بین المللی و داخلی کمربند مشکی در سبک های کیوکوشین ، هاپکیدو ، کیک بوکسینگ و چند تام قهرمانی کشوری
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود