PDA

View Full Version : سوال: درخواست راهنمايي براي مطالعه يك كتاب



shahmohammadi
جمعه 18 فروردین 1391, 00:46 صبح
با سلام.
يك كتاب هست به نام

WINDOWS ASSEMBLY
LANGUAGE & SYSTEMS
PROGRAMMING
16- and 32-bit low-level programming
for the PC and Windows


داشتم مي خوندم ديدم هي داره از ويندوز 95 تعريف مي كنه. بعد ديدم تاريخش مال 1997 هست. به نظر شما اگه اين كتاب رو بخونم ميتونم براي ايكس پي و ويستا و سون و ... برنامه بنويسم.

اگه قبلا اين كتاب رو خونديدن مي شه بگيد كدوم قسمت هاشو مي شه الان هم استفاده كرد.
ممنون.

jeson_park
جمعه 18 فروردین 1391, 10:06 صبح
خوب امتحان کنید!
ببنید اسمبلی چیزی هست که تغییر زیادی نیمی کنه
همه دستورات تقربیا یکی هستن
همون mov و add ....
شما بخون تا به جاهای عملی برسی

shahmohammadi
جمعه 18 فروردین 1391, 10:56 صبح
ممنون.
خود اسمبلي رو كه بلدم. توي فهرستش مطالب جالبي داشت كه واسه همين علاقه مند شدم. مثلا:
32-bit Ring 0
32-bit Ring 3
Direct Hardware Access
و ...
حالا خواستم قبل از اينكه وقت بگذارم ببينم اين كار ها در ويندوز هاي جديد فرق كرده.

jeson_park
جمعه 18 فروردین 1391, 16:42 عصر
بله 100% فرق داره
در ویندوز های جدید اصلا نمی شه مستقیم به سخت افزار دسترسی داشت{نیاز به منبع!}
میشه کل فهرست مطلابش رو بزرای؟؟
اون قضیه رینگ ها رو مطالعه کنی خوبه

shahmohammadi
جمعه 18 فروردین 1391, 16:58 عصر
فهرستشو به صورت پي دي اف مي گذارم.
85345

xman_1365_x
جمعه 18 فروردین 1391, 18:33 عصر
داشتم مي خوندم ديدم هي داره از ويندوز 95 تعريف مي كنه. بعد ديدم تاريخش مال 1997 هست. به نظر شما اگه اين كتاب رو بخونم ميتونم براي ايكس پي و ويستا و سون و ... برنامه بنويسم.
کتاب خوبیه بخونید اما اگر با مقدمات آشنایی ندارین باید اول The art of Assembly Language 8086 را مطالعه کنید بعد کتابی که ذکر کردین ولی کافی نیست باید کتاب های بیشتری مطالعه کنید،در آخر اگر 64-ia-32-architectures-software-developer-manual-325462 این manual رو هم مطالعه کنید بد نیست،تفاوتی که هست ساختار ها(انواع ساختار سخت و نرم) هست و دستوراتی که به پردازنده های جدید اضافه شده توابع api هم که باید جدا گانه مطالعه کنید
کتاب فارسی زبات اسمبلی و معماری ریز پردازنده x86 بدک نیست با این کتاب سریعا شروع میکنید به نوشتن برنامه های کنسول در ویندوز و برای gui هم کافیه در مورد api مطالبی یادبگیرید و اگر برنامه نویسی سیستمی باشه نیاز دارین کتاب هایی که بالا گفته شد مطالعه کنید در غیر اینصورت همین کتاب فارسی رو تهیه کنید
موفق باشی

shahmohammadi
جمعه 18 فروردین 1391, 23:32 عصر
در ویندوز های جدید اصلا نمی شه مستقیم به سخت افزار دسترسی داشت{نیاز به منبع!}اين هم منبع (همين الان خوندم):
Microsoft Windows Internals, Fourth Edition: ص 2

ترجمه:
تنها چيري كه ويندوز 95 [و زير شاخه هاي آن 98] مي تواند انجام دهد و ويندوز هاي مبتني بر NT [مثلا XP] نمي توانند، اجراي همه ي برنامه هاي قديمي داس و ويندوز 3.1 هست (حتي برنامه هايي كه نياز به دسترسي مستقيم سخت افزار دارند). زيرا هدف اصلي ويندوز 95 پشتيباني از سنت هاي قديمي :بامزه: داس و وين 3.1 هست، در حالي كه هدف اصلي ويندوز NT اجراي برنامه هاي 16 بيتي پركاربرد و در عين حال حفظ امنيت و يكپارچگي سيستم هست.


فكر كنم با اين مطالب الان ديگه بتونم تشخيص بدم كدوم مطالب كتاب به درد ويندوز هاي جديد مي خوره.
ممنون از همه دوستان.

xman_1365_x
شنبه 19 فروردین 1391, 21:15 عصر
فكر كنم با اين مطالب الان ديگه بتونم تشخيص بدم كدوم مطالب كتاب به درد ويندوز هاي جديد مي خوره.
اول باید بدونید برای چه هدفی میخواین یادبگیرید برنامه های سطح کاربر یا کرنل
وقتی میگه دسترسی مستقیم نیست به این معنی نیست نمیشه کافیه برنامه در سطح کرنل اجرا شه و همونطورکه گفتم
شما باید با دستورات پردازنده از 8086 تا آخرین سری تولیدی که دستوراتی بهش اضافه شده و تکنولوژی جدید رو یاد بگیرید که این به این معنی هست کتاب های قدیمی هم مطالب خوبی در این رابطه دارن که در کتاب های جدید زیاد بهش نمی پردازند
در این (http://en.wikipedia.org/wiki/X86_instruction_listings)لینک لیست دستورات رو مشاهده میکنید
manual اینتل رو حتما به عنوان مرجع داشته باشید
در نهایت نظر من اینه اول کتاب The art of Assembly Language 8086 که مشابه فارسی زیاد داریم و بعد کتاب زبان اسمبلی و معماری ریز پردازنده x86 مشحون هم که ذکر کردم خوندین بعد کتاب The Assembly Programming Master Book رو بخونید تا آماده برنامه نویسی کنسول و gui و استفاده از api ها و manifest ها برای قالب ویندوز xp و... رو یاد میگیرید
بعد کتاب های زیادی هست که هر کدوم فصولی دارند که بدرتون میخوره مثل:

Professional Assembly Language-Richard Blum
32-64-bit-80x86-assembly-language-architecture
Assembly Language Step-by-Step: Programming with DOS and Linux, Second Edition
assembly-language-step-by-step-jeff duntemann
visual-c-optimization-with-assembly-code-Yury Magda
& etc


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