PDA

View Full Version : هوش دیس اسمبلر ها



Delphi Skyline
دوشنبه 22 مرداد 1386, 12:13 عصر
سلام دوستان .
یه سوال داشتم : به فرض دستور زیر را در نظر بگیرید :
a db 0B8h
mov ax,0FFFFh
خوب حالا وقتی اسمبل میشه کد ماشینش میشه ::


255 255 184 184



می خواستم بپرسم دیس اسمبلر چطوری متوجه میشه که 184 اولی رو اینستراکشن نگیره ؟؟
با تشکر .

shaniaki
دوشنبه 22 مرداد 1386, 13:31 عصر
با عرض ادب:
می دونید که خط اولی که نوشتید هیچ دستور اسمبلی معادلی نداره یعنی هیچ اینستراکشن پایه ای که پردازنده اون رو اجرا کنه معادلش نیست بلکه تعریف متغیر ها به این شکل فقط محتویات فضای دیتای شما را معین می کند که از فضای کد شما جداست. disassembler هم با این فضاها جداگانه برخورد می کند و هر دستور اسمبلی یک opcode یا شناسه یکتا دارد که با بقیه دستورات اشتباه نمی شود.

یه ... ...

Delphi Skyline
دوشنبه 22 مرداد 1386, 16:38 عصر
اول که تشکر . دوم ::
یه فایل اسمبل شده رو باینری باز کردم . اما خوب کد سکشنش با دیتا سکشنش یه جا بود :: چه طوریه ؟؟ فکر کنم کامپایلرش زیاد جالب نیست چون بدون تعریف هیچ سکشنی کامپایل می کنه ؟؟ کامپایلر هم emu8086 است .

shaniaki
دوشنبه 22 مرداد 1386, 18:15 عصر
با عرض ادب:

پس در این صورت به صورت پیش فرض بدون اینکه اطلاعات دیگری به آن بدهید ممکن است نفهمد. به عنوان نمونه همین مثال شما را من با استفاده از اسمبلر و دیس اسمبلر ساده NASM تست کردم. نتیجه این شد که سه بایت اول را یک دستور گرفت و بایت آخر را یک تعریف متغیر و خروجی زیر را چاپ کرد:
mov ax,0xffb8
db 0xFF


http://nasm.sourceforge.net

یه ... ...

Delphi Skyline
سه شنبه 23 مرداد 1386, 12:59 عصر
بله درسته . اسمبلری که گفتم هوش درستی نداره و هنوز Stable نیست !!!!!!

beelzebub
سه شنبه 23 مرداد 1386, 17:47 عصر
فقط فایلهایی با فرمت com. دارای یک سگشن می باشد و فایهای exe. هر بخش یک سکشن جدا دارد و اگر غیر از این باشد خود ویندوز مانع اجرای آن می شود.
emu8086 هم تا جایی که ما دیدیم از fasm برای کامپایل استفاده می کند. و می شه گفت کامپالر خوبی هست.
موفق باشید

Delphi Skyline
سه شنبه 23 مرداد 1386, 20:41 عصر
نه نسخه جدیدش یه کامپایلر هم داره که خودش نوشته . من اونو میگم .

SMRAH1
چهارشنبه 31 مرداد 1386, 02:59 صبح
سلام

توی nasm یه سوییچ هست که مشخص می کنه که از کجا شروع به دیس اسم کنه.با سوییچ h- می تونید تمام راهنمای ndisasm رو ببینید

در نهایت یاد تان باشد که ما انسانها هم گاهی اوقات "مادر" رو با "ما در" اشتباهی می خونیم.