مطالب پیشنهادی از سراسر وب

آموزش تسلط بر زبان Assembly 

دسته بندی ها: آموزش اسمبلی (Assembly) ، آموزش های WintellectNOW

بنا به دلایل نامعلومی، اپلیکیشن های نیتیو درجاییکه کد منبع وجود نداشته باشد crash می شوند. در این دوره با یادگیری زبان اسمبلی راه حل هایی در باب این موضوع فرا خواهید گرفت. نه تنها درباره دستورالعمل های زبان اسمبلی مورد استفاده توسط کامپایلر بلکه درباره نحوه انتقال پارامترها، فراخوانی conventions، branching و vectorization یاد می گیرید. با x86 و x64 از crash شدن در امانید.

سرفصل:

  • مقدمه
  • CPU و زبان اسمبلی
  • رجیسترهای  CPU
  • اهداف رجیسترهای  CPU
  • فرمت دستورالعمل، Operands و  منابع حافظه
  • اسمبلر درون خطی و دستورالعمل NOP
  • PUSH، POP، و نحوه صحیح تماشای پشته
  • آموزش MOV
  • دستورالعمل SUB و ADD
  • تابع 32 بیت Prolog و Epilog
  • دستورالعمل LEA
  • دستورالعمل CALL و RET
  • 32Bit Calling Conventions
  • 32Bit __cdecl Calling Convention
  • 32Bit __stdcall Calling Convention
  • 32Bit __fastcall Calling Convention
  • 32Bit This Calling Convention
  • 32Bit Naked Calling Convention
  • The One 64-Bit Calling Convention
  • پارامترهای مثبت برای دسترسی به پارامترهای 32بیت
  • Full 32-Bit Stack Setup Example
  • Full 64-Bit Stack Setup Example
  • دستورالعمل های دستکاری داده: AND, OR, NOT, NEG, XOR, INC, DEC, SHL, SHR, MOVSX, MOVZX, و LOCK Prefix
  • دستورالعمل های تست و مقایسه: CMP و TEST
  • دستورالعمل های Branch متشکل از JMP, JE, JL, JG, JNE, JGE, و JLE
  • دستورالعمل های String متشکل از MOVS, SCAS, STOS, CMPS, and The REP, REPE, و REPNE Prefixes
  • دستورالعمل های Vectorization و SSE2
  • رجیسترهای FS و GS برای Thread Information Block
  • ساختارها و کلاس ها در حافظه
  • کلاس های سی پلاس پلاس و Pointer
  • نتیجه
آیا این نوشته را دوست داشتید؟
Mastering Assembly Language Publisher:WintellectNOW Author:John Robbins Duration:01:45:17

For some strange reason, native applications always seem to crash in places where you don’t have source code. All you have is the raw disassembly to tell you what happened. Never fear! In this section, you’ll learn enough assembly language to survive and prosper in those situations. You’ll not only learn about the assembly language instructions the compiler uses, but also about how parameters are passed, calling conventions, branching, and vectorization. With both x86 and x64 covered, you’ll be prepared for any crash from now on.
00:00:00 - Introduction
00:00:40 - The CPU and Assembly Language
00:07:10 - CPU Registers
00:13:04 - CPU Register Special Purposes
00:17:51 - Instruction Format, Operands, and Memory References
00:25:17 - Inline Assembler and the NOP Instruction
00:29:54 - PUSH, POP, and How to Correctly Watch the Stack
00:32:29 - MOV Instruction
00:39:21 - SUB and ADD Instructions
00:40:28 - 32-Bit Function Prolog and Epilog
00:43:26 - LEA Instruction
00:45:06 - CALL and RET Instructions
00:48:59 - 32-Bit Calling Conventions
00:49:51 - 32-Bit __cdecl Calling Convention
00:53:35 - 32-Bit __stdcall Calling Convention
00:57:23 - 32-Bit __fastcall Calling Convention
01:00:03 - 32-Bit This Calling Convention
01:01:47 - 32-Bit Naked Calling Convention
01:02:10 - The One 64-Bit Calling Convention
01:05:54 - “Parameters are Positiveâ€‌ for 32-Bit Parameter Access
01:07:13 - Full 32-Bit Stack Setup Example
01:10:10 - Full 64-Bit Stack Setup Example
01:13:39 - Data Manipulation Instructions: AND, OR, NOT, NEG, XOR, INC, DEC, SHL, SHR, MOVSX, MOVZX, and the LOCK Prefix
01:17:16 - Comparing and Testing Instructions: CMP and TEST
01:18:27 - Branch Instructions: JMP, JE, JL, JG, JNE, JGE, and JLE
01:24:54 - String Instructions: MOVS, SCAS, STOS, CMPS, and The REP, REPE, and REPNE Prefixes
01:39:54 - Vectorization and SSE2 Instructions
01:41:37 - FS and GS Registers for the Thread Information Block
01:43:13 - Structures and Classes in Memory
01:43:59 - C++ Classes and the this Pointer
01:44:39 - Conclusion

پیشنهاد آموزش مرتبط در فرادرس