ReverseEngineering
1.25K subscribers
41 photos
10 videos
55 files
666 links
Download Telegram
سینتکس در‌ زبان اسمبلی:
یک برنامه اسمبلی می تونه به سه بخش زیر تقسیم شه:

بخش data این بخش برای اعلام داده ها های اولیه یا ثابت استفاده میشه این داده در زمان اجرا تغییر نمیکنه سینتکس به صورت زیره

section.data

بخش bss این بخش برای اعلام متغیر ها استفاده میشه سینتکس به سورت زیره

section.bss

بخش tetx این بخش برای نگه داشتن کد اصلی استفاده میشه این بخش با اعلام متغیر سراسری _start شروع میشه که به هسته (core ) میگه که اجرای برنامه از کجا باید شروع بشه سینتکس به صورت زیره

section.text

section_start

:start_

کامنت ها در زبان اسمبلی با (;) شروع میشن
مثال

This program a good;


برنامه های نوشته شده با زبان اسمبلی به سه دستور تقسیم میشن:

دستورالعمل اجرایی: یا دستور العمل های ساده

به پردازنده (CPU) میگن چه کاری انجام بده

هر دستورالعمل شامل یک نوع کد عملیاتیه که

بهش میگن opcode هر دستورالعمل اجرایی

یک دستورالعمل زبان ماشین تولید میکنه

دستورالعمل های اسمبلر:

در مورد جنبه ها مختلف روند مونتاژ به اسمبلر میگن که این دستورات غیر قابل اجران و دستورالعمل زبان ماشین تولید نمی کنن

ماکروها:

ماکروها اساسا مکانیسم جایگزینی متن هستن

هر کدام از دســتورات زبان اســمبلی در یک

سطر جدا نوشته میشن همه ی اون ها از قالب زیر استفاده میکنن

[lable] mnemonic operands

[comment]

یک‌ دستورالعمل شامل دو بخش هست یکی قسمت اول نام دستورالعمل mnemonic که قراره اجرا بشه و دومی ان عملوند ها operands یا پارامتر های دستور هستن


#syntax
#command
#Assembly
#CPU
👍2
دستورالعمل MUL/IMUL

برای ضرب داده های باینری دو دستورالعمل وجود داره multiply (mul) داده های بدون علامت و (intege multiply) imul داده های علامت دار رو شامل میشه هر دو دستور روی فلگ cary و overflow تاثیر میزارن سینتکسش هم به صورت زیره

MUL/IMUL multiplier

MOV AL, 10
MOV DL, 25
MUL DL
MOV DL, 0FFH ; DL= -1
MOV AL, 0BEH ; AL = -66
IMUL DL


کد بالا برای این که دستور یا سینتکس imul/mul رو بخوبی درک کنید


دستورالعمل DIV/IDIV

دســتورالعمل(Divide )DIV برای داده های بدون علامت استفاده میشه و از IDIV(integer divide) برای داده های علامت دار سینتکسش هم به صورت زیره
DIV/IDIV divisor


#mul
#imlu
#div
#idiv
#syntax
🔥4