آموزش ARM Assembly Language From Ground Up‚Ñ¢ 1 [ویدئو]

ARM Assembly Language From Ground Up‚Ñ¢ 1 [Video]

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: برنامه‌نویسی اسمبلی تعبیه‌شده ARM از بسیاری از دستگاه‌هایی که روزانه استفاده می‌کنید پشتیبانی می‌کند و اگر می‌خواهید یک قدم جلوتر بروید و نحوه نوشتن برنامه‌های بی‌عیب، توسعه الگوریتم‌ها و ساخت ماشین‌ها در مونتاژ را بررسی کنید، در اینجا چیزی است که باید در نظر بگیرید. قبل از نوشتن برنامه های مونتاژ بدون خطا برای یک پردازنده، درک معماری پردازنده بسیار مهم است. این دوره ویدیویی شما را از طریق معماری ARM راهنمایی می کند و به شما کمک می کند الگوریتم ها و ماشین های بی عیب و نقصی را در مونتاژ ARM توسعه دهید. این دوره با مقدمه ای بر زبان اسمبلی ARM شروع می شود و شما را قادر می سازد تا ابزار اسمبلی و نحو را درک کنید. در مرحله بعد، با فلسفه طراحی ARM و معماری RISC آشنا می شوید و درک دقیقی از مجموعه دستورالعمل های ARM، مجموعه دستورالعمل های Thumb و مجموعه دستورالعمل های Thumb-2 به دست خواهید آورد. با حرکت رو به جلو، ساختارهای داده ای مانند FIFO و LIFO ایجاد می کنید و الگوریتم های پیچیده ای را برای انجام جستجوی باینری در اسمبلی طراحی می کنید. شما همچنین مشکلات ریاضی پیشرفته مانند سری تیلور و الگوریتم Bisection را حل خواهید کرد. در پایان، ماشین‌های حالت محدود مانند ماشین‌های Moore و Mealy را توسعه می‌دهید و یک دید کلی از Keil uVision 5 - راه‌حل توسعه نرم‌افزار برای کنترل‌کننده‌های مبتنی بر ARM را خواهید داشت. در پایان این دوره، مهارت هایی را که برای شروع حرفه خود به عنوان یک توسعه دهنده تعبیه شده ARM نیاز دارید، توسعه خواهید داد. بسته کد این دوره در https://github.com/PacktPublishing/ARM-Assembly-Language-from-Ground-Up-1 در دسترس است. درک ابزارها و نحوهای زبان اسمبلی ARM مجموعه دستورالعمل های Thumb و Thumb-2 را با جزئیات مطالعه کنید ایجاد ساختارهای داده و ماشین های حالت در مونتاژ نحوه نوشتن درایورهای سخت افزاری در اسمبلی را بیابید داده ها را از یک مکان حافظه به مکان دیگر کپی کنید الگوریتم های بازگشتی و متقابل کد در اسمبلی اگر شما یک مبتدی در برنامه نویسی جاسازی شده یا یک برنامه نویس باتجربه هستید که می خواهید جزئیاتی در مورد معماری ARM و برنامه نویسی اسمبلی بیاموزید، این دوره برای شما مناسب است. برای شروع این دوره به هیچ تجربه برنامه نویسی نیاز نیست. تنها چیزی که نیاز دارید یک تخته STM32F4-Discovery برای برخی از دروس عملی است. با معماری ARM و برنامه نویسی اسمبلی آشنا شوید * آموزش ساخت الگوریتم های پیچیده در اسمبلی * حل مسائل ریاضی پیشرفته مانند سری تیلور و الگوریتم Bisection

سرفصل ها و درس ها

معرفی Introduction

  • معرفی Introduction

مقدمه ای بر زبان اسمبلی ARM Introduction to the ARM Assembly Language

  • دستگاه محاسباتی Computing Device

  • سیستم های اعداد Number Systems

  • ابزار مونتاژ Assembly Tools

  • ترجمه بیت ها به دستورات Translating Bits to Commands

  • نحو اسمبلی Assembly Syntax

فلسفه طراحی و معماری مجموعه آموزش کاهش یافته کامپیوتر (RISC). Design Philosophy and Reduced Instruction Set Computer (RISC) Architecture

  • فلسفه طراحی کامپیوتر مجموعه دستورالعمل کاهش یافته (RISC). The Reduced Instruction Set Computer (RISC) Design Philosophy

  • فلسفه طراحی ARM The ARM Design Philosophy

  • سیستم های جاسازی شده با پردازنده های ARM Embedded Systems with the ARM Processors

  • پروتکل گذرگاه فناوری ARM Bus و معماری گذرگاه میکروکنترلر پیشرفته (AMBA) ARM Bus Technology and Advanced Microcontroller Bus Architecture (AMBA) Bus Protocol

  • حافظه Memory

  • لوازم جانبی Peripherals

  • فون نویمان و معماری هاروارد Von Neumann and Harvard Architecture

  • حافظه کش و محکم زوج Cache and Tightly Couple Memory

  • برنامه های افزودنی مدیریت حافظه Memory Management Extensions

  • برنامه های افزودنی کمک پردازنده Coprocessor Extensions

مدل برنامه نویس The Programmer's Model

  • انواع داده ها Data Types

  • حالت های پردازنده Processor Modes

  • رجیسترهای ARM7TDMI ARM7TDMI Registers

  • جدول وکتور ARM7TDMI ARM7TDMI Vector Table

  • ARM Cortex-M Registers ARM Cortex-M Registers

  • جدول وکتور ARM Cortex-M ARM Cortex-M Vector Table

  • مدل جریان داده ARM ARM Data Flow Model

  • خط لوله The Pipeline

  • خانواده پردازنده های ARM ARM Processor Family

  • پردازنده های ARM Cortex-A و Cortex-R ARM Cortex-A and Cortex-R Processors

  • پردازنده ARM Cortex-M ARM Cortex-M Processor

  • خلاصه بخش Section Summary

قوانین و دستورالعمل های اسمبلر Assembler Rules and Directives

  • ساختار یک ماژول مونتاژ Structure of an Assembly Module

  • مجموعه دستورات ARM، Thumb و Thumb-2 The ARM, Thumb, and Thumb-2 Instruction Sets

  • نام های ثبت از پیش تعریف شده Predefined Register Names

  • دستورالعمل های پرکاربرد Frequently Used Directives

  • یک پروژه اسمبلی ساده با یک فایل راه اندازی ایجاد کنید Create a Simple Assembly Project with a Startup File

  • اهمیت کنترل کننده بازنشانی Importance of the Reset Handler

  • پروژه مونتاژ ساده بدون فایل راه اندازی Simple Assembly Project without a Startup File

  • تخصیص فضا در حافظه با استفاده از دستورالعمل SPACE Allocating Space in Memory Using the SPACE Directive

  • مروری بر اپراتورهای باینری Overview of Binary Operators

  • تعویض محتوای ثبت نام Swapping Register Content

  • تغییر نام رجیسترها Renaming Registers

دستورالعمل های Load-Store Load-Store Instructions

  • مرزبندی حافظه Memory Demarcations

  • دستورالعمل‌های بارگیری/فروشگاه پرکاربرد (قسمت اول) Frequently Used Load/Store Instructions (Part I)

  • دستورالعمل‌های بارگیری/فروشگاه پرکاربرد (قسمت دوم) Frequently Used Load/Store Instructions (Part II)

  • دستورالعمل‌های بارگیری/فروشگاه پرکاربرد (قسمت سوم) Frequently Used Load/Store Instructions (Part III)

  • آدرس دهی از پیش نمایه شده Pre-Indexed Addressing

  • آدرس دهی پس از نمایه سازی Post-Indexed Addressing

  • اندیانس Endianness

  • تعریف مناطق حافظه Defining Memory Areas

  • کپی کردن داده ها از یک مکان حافظه به مکان دیگر Copying Data from One Memory Location to Another

برخورد با ثابت ها و لفظ ها Dealing with Constants and Literals

  • رمزگذاری دستورالعمل MOV Encoding the MOV Instruction

  • طرح چرخش ARM ARM Rotation Scheme

  • بارگذاری ثابت ها با استفاده از دستورالعمل LDR Loading Constants Using the LDR Instruction

  • بارگذاری ثابت ها با استفاده از دستورالعمل های MOVW و MOVT. Loading Constants Using the MOVW and MOVT Instructions.

  • بارگیری برچسب ها با استفاده از دستورالعمل های ADR، ADRL و LDR Loading Labels Using the ADR, ADRL, and LDR Instructions

  • حل یک معادله ساده (روش 1) Solving a Simple Equation (Method 1)

  • حل یک معادله ساده (روش 2) - ذخیره کردن ثابت ها در حافظه Solving a Simple Equation (Method 2) - Storing Constants in Memory

  • حل یک معادله ساده (روش 3) - با استفاده از آدرس دهی نسبی ثبت نام Solving a Simple Equation (Method 3) - Using Register Relative Addressing

  • حل یک معادله ساده (روش 4) - کد فشرده Solving a Simple Equation (Method 4) - Compact Code

دستورات حساب و منطق Arithmetic and Logic Instructions

  • پرچم ها Flags

  • پرچم های منفی (N) و سرریز امضا شده (V). The Negative (N) and Signed Overflow (V) Flags

  • پرچم صفر (Z) و حمل (C). The Zero (Z) and Carry (C) Flags

  • مقایسه/دستورالعمل تست Compare/Test Instructions

  • مروری بر عملیات بولی Overview of Boolean Operations

  • آزمایش با پرچم‌های ثبت وضعیت برنامه (PSR). Experimenting with the Program Status Register (PSR) Flags

  • در حال آزمایش با Carry Flag Experimenting with the Carry Flag

  • در حال آزمایش با پرچم سرریز Experimenting with the Overflow Flag

  • مقدمه ای بر شیفت ها و چرخش ها Introduction to Shifts and Rotations

  • درک تغییرات منطقی Understanding Logical Shifts

  • درک چرخش ها Understanding Rotations

  • چند مثال Shift و Rotation Some Shift and Rotation Examples

  • آزمایش با دستور Logical Shift Left Experimenting with the Logical Shift Left Instruction

  • مروری بر دستورالعمل های جمع و تفریق Overview of the Addition and Subtraction Instructions

  • یافتن حداکثر مقدار در یک مجموعه داده Finding the Maximum Value in a Dataset

  • افزودن داده های امضا شده Adding Signed Data

  • یافتن حداقل داده های امضا شده Finding the Minimum Signed Data

  • مروری بر دستورات حسابی اشباع Overview of the Saturation Arithmetic Instructions

  • مروری بر دستورالعمل های ضرب Overview of the Multiply Instructions

  • ضرب در ثابت Multiplying by Constants

  • حل معادله پیچیده تر Solving More Complex Equation

  • مروری بر دستورالعمل بخش Overview of the Division Instruction

  • انجام تقسیم با تفریق Performing Division by Subtraction

  • مروری بر دستورالعمل های پردازش سیگنال دیجیتال (DSP). Overview of the Digital Signal Processing (DSP) Instructions

  • دستورالعمل های دستکاری بیت Bit Manipulation Instructions

  • نماد کسری Fractional Notation

  • درک نماد Q Understanding Q Notation

دستورالعمل های شاخه و حلقه Branch and Loop Instructions

  • مقدمه ای بر شاخه ها و حلقه ها Introduction to Branches and Loops

  • انشعاب Branching

  • مقایسه کنید و شاخه بزنید Compare and Branch

  • حلقه ها در زبان اسمبلی Loops in Assembly Language

  • اعدام مشروط Conditional Execution

  • اگر-پس بلوک The If-Then Block

  • محاسبه فاکتوریل یک عدد با استفاده از بلوک If-Then Computing the Factorial of a Number Using the If-Then Block

جداول Tables

  • مقدمه ای بر جداول Introduction to Tables

  • پیمایش در جدول جستجو Navigating a Lookup Table

  • ساخت جدول جستجوی ممیز شناور Constructing a Floating-Point Lookup Table

  • ساخت جدول جستجوی ممیز شناور - نسخه 2 Constructing a Floating-Point Lookup Table - Version 2

  • ایجاد یک برنامه برای محاسبه سریع سینوس یک مقدار (قسمت اول) Creating a Program to Rapidly Compute the Sine of a Value (Part I)

  • ایجاد یک برنامه برای محاسبه سریع سینوس یک مقدار (قسمت دوم) Creating a Program to Rapidly Compute the Sine of a Value (Part II)

  • ایجاد یک برنامه برای محاسبه سریع سینوس یک مقدار (قسمت سوم) Creating a Program to Rapidly Compute the Sine of a Value (Part III)

  • ایجاد جداول پرش Creating Jump Tables

دستورات پشته Stack Instructions

  • مقدمه ای بر پشته Introduction to the Stack

  • دستورالعمل های LDM و STM The LDM and STM Instructions

  • نحو دستورات PUSH و POP Syntax of the PUSH and POP Instructions

  • ایجاد یک پشته ساده Creating a Simple Stack

  • ذخیره و بازیابی متن Saving and Restoring Context

واحد ممیز شناور The Floating-Point Unit

  • کمک های یک واحد ممیز شناور به یک پردازنده تعبیه شده Contributions of a Floating-Point Unit to an Embedded Processor

  • انواع داده های ممیز شناور Floating-Point Data Types

  • نحو دستورات ممیز شناور Syntax of Floating-Point Instructions

  • مروری بر دستورالعمل های ممیز شناور Overview of Floating-Point Instructions

  • فعال کردن Coprocessor Floating-Point Enabling the Floating-Point Coprocessor

  • انتقال داده ها بین رجیسترهای اصلی و رجیسترهای ممیز شناور Transferring Data between the Main Registers and Floating-Point Registers

ترکیب C و زبان اسمبلی Mixing C and Assembly Language

  • مونتاژ درون خطی Inline Assembly

  • صادرات یک زیربرنامه از اسمبلی به C Exporting a Subroutine from Assembly to C

  • صادر کردن یک تابع از C به اسمبلی Exporting a Function from C to Assembly

توسعه درایورهای جانبی (STM32-F411-Nucleo Board) Peripheral Drivers Development (STM32-F411-Nucleo Board)

  • تخصیص نام های نمادین به رجیسترهای ورودی/خروجی مربوط به هدف عمومی (GPIO) Assigning Symbolic Names to the Relevant General Purpose Input/Output (GPIO) Registers

  • نوشتن درایور خروجی ورودی/خروجی عمومی (GPIO). Writing the General Purpose Input/Output (GPIO) Output Driver

  • جابجایی خروجی های ورودی/خروجی عمومی (GPIO). Toggling General Purpose Input/Output (GPIO) Outputs

  • جابجایی خروجی های ورودی/خروجی عمومی (GPIO) با ثبت BSRR Toggling General Purpose Input/Output (GPIO) Outputs with the BSRR Register

توسعه درایورهای جانبی (TM4C123-TIVA C Board) Peripheral Drivers Development (TM4C123-TIVA C Board)

  • تخصیص نام های نمادین به رجیسترهای ورودی/خروجی مربوط به هدف عمومی (GPIO) Assigning Symbolic Names to the Relevant General Purpose Input/Output (GPIO) Registers

  • پیاده سازی درایور خروجی ورودی/خروجی عمومی (GPIO). Implementing the General Purpose Input/Output (GPIO) Output Driver

  • تخصیص نام های نمادین به رجیسترهای ورودی/خروجی مربوط به هدف عمومی (GPIO) Assigning Symbolic Names to the Relevant General Purpose Input/Output (GPIO) Input Registers

  • پیاده سازی درایور ورودی/خروجی عمومی (GPIO). Implementing the General Purpose Input/Output (GPIO) Input Driver

  • جابجایی خروجی های ورودی/خروجی عمومی (GPIO). Toggling General Purpose Input/Output (GPIO) Outputs

ساختارهای داده Data Structures

  • مقدمه ای بر FIFO ها Introduction to FIFOs

  • پیاده سازی FIFO (قسمت اول) FIFO Implementation (Part I)

  • پیاده سازی FIFO (قسمت دوم) FIFO Implementation (Part II)

  • پیاده سازی FIFO (قسمت سوم) FIFO Implementation (Part III)

توسعه الگوریتم ها Algorithms Development

  • توسعه الگوریتم فاکتوریل بازگشتی (قسمت اول) Developing the Recursive Factorial Algorithm (Part I)

  • توسعه الگوریتم فاکتوریل بازگشتی (قسمت دوم) Developing the Recursive Factorial Algorithm (Part II)

  • الگوریتم بسط سری تیلور (قسمت اول) Taylor Series Expansion Algorithm (Part I)

  • الگوریتم گسترش سری تیلور (قسمت دوم) Taylor Series Expansion Algorithm (Part II)

  • مروری بر الگوریتم ریشه مربع متقابل Overview of the Reciprocal Square Root Algorithm

  • الگوریتم تخمین ریشه مربع متقابل (قسمت اول) The Reciprocal Square Root Estimate Algorithm (Part I)

  • الگوریتم تخمین ریشه مربع متقابل (قسمت دوم) The Reciprocal Square Root Estimate Algorithm (Part II)

  • مروری بر الگوریتم دوبخشی Overview of the Bisection Algorithm

ماشین حالت محدود (FSM) Finite State Machine (FSM)

  • مقدمه ای بر ماشین حالت محدود (FSM) Introduction to Finite State Machine (FSM)

  • آشنایی با ماشین حالت محدود مور (FSM) Understanding the Moore's Finite State Machine (FSM)

  • پیاده سازی ماشین حالت محدود مور (FSM) Implementation of the Moore's Finite State Machine (FSM)

Keil µVision 5 را تنظیم کنید Set up Keil µVision 5

  • دانلود Keil µVision 5 Downloading Keil µVision 5

  • نصب Keil µVision 5 Installing Keil µVision 5

  • نصب پک ها Installing Packs

  • مروری بر Keil µVision 5 Overview of Keil µVision 5

بسته شدن Closing

  • سخنان پایانی Closing Remarks

نمایش نظرات

Packtpub یک ناشر دیجیتالی کتاب‌ها و منابع آموزشی در زمینه فناوری اطلاعات و توسعه نرم‌افزار است. این شرکت از سال 2004 فعالیت خود را آغاز کرده و به تولید و انتشار کتاب‌ها، ویدیوها و دوره‌های آموزشی می‌پردازد که به توسعه‌دهندگان و متخصصان فناوری اطلاعات کمک می‌کند تا مهارت‌های خود را ارتقا دهند. منابع آموزشی Packtpub موضوعات متنوعی از جمله برنامه‌نویسی، توسعه وب، داده‌کاوی، امنیت سایبری و هوش مصنوعی را پوشش می‌دهد. محتوای این منابع به صورت کاربردی و به‌روز ارائه می‌شود تا کاربران بتوانند دانش و توانایی‌های لازم برای موفقیت در پروژه‌های عملی و حرفه‌ای خود را کسب کنند.

آموزش ARM Assembly Language From Ground Up‚Ñ¢ 1 [ویدئو]
جزییات دوره
14 h 37 m
142
Packtpub Packtpub
(آخرین آپدیت)
از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Bohobiom Incorporated Ltd. Bohobiom Incorporated Ltd.

Bohobiom Engineering یک آکادمی آنلاین مهندسی کامپیوتر در قرن بیست و یکم مستقر در لندن انگلستان است که دارای مدرسان مجرب در زمینه‌های برنامه‌نویسی مونتاژ، مهندسی سخت‌افزار، پردازش سیگنال و تصویر، توسعه سیستم‌افزار تعبیه‌شده، یادگیری عمیق و سایر مهارت‌های قرن بیست و یکمی با تقاضای بالا است. تا امروز، آنها بیش از 35000 دانش آموز را آموزش داده اند. برای بررسی دوره های موجود با آنها و پیام دادن به آنها در صورت داشتن هر گونه سوال، از وب سایت آنها بازدید کنید.