آموزش ARM Assembly Language From Ground Up™ 1

ARM Assembly Language From Ground Up™ 1

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: ساخت بیش از 50 برنامه اسمبلی - مجموعه دستورات ARM، توسعه درایورهای جانبی، الگوریتم‌ها، روتین‌های DSP و غیره. بر مجموعه دستورالعمل‌های ARM مسلط شوید. ماشین های حالت در اسمبلی استاد ساختمان مجتمع الگوریتم ها در اسمبلی استاد نوشتن سخت افزار درایورها در اسمبلی قادر به ایجاد جداول جستجو و جداول پرش در اسمبلی قادر به درک و اعمال استاندارد IEEE- 754 ممیز شناور پیش نیازها:بدون نیاز به تجربه برنامه نویسی - I' همه چیزهایی را که باید بدانید بدون نیاز به نرم افزار پولی - همه برنامه های اسمبلی در Keil uVision 5 ایجاد می شوند (که رایگان است) من شما را راهنمایی خواهم کرد، گام به گام چگونه Keil uVision را دانلود و نصب کنید. تخته STM32F4-DISCOVERY برای برخی از دروس عملی.


به دوره ARM Assembly Programming From Ground Up™ 1 خوش آمدید.

این دوره جامع‌ترین دوره آنلاین مونتاژ ARM است که شامل طراحی سیستم‌های ARM، معماری و برنامه‌نویسی مونتاژ عملی می‌شود.

من شما را گام به گام از طریق آموزش های ویدیویی جذاب و سرگرم کننده راهنمایی می کنم و هر آنچه را که برای موفقیت به عنوان یک توسعه دهنده تعبیه شده ARM نیاز دارید به شما آموزش می دهم.

این دوره در دو بخش ارائه می شود. این قسمت اول دوره است.

در پایان این بخش، شما بر مجموعه دستورالعمل های ARM، مجموعه دستورالعمل های شست و مجموعه دستورالعمل های Thumb-2 مسلط خواهید شد. شما قادر خواهید بود ساختارهای داده ای مانند FIFO s و LIFO s را در اسمبلی ایجاد کنید. همچنین می‌توانید ماشین‌های حالت محدود مانند Moore Machine و Mealy Machine ایجاد کنید. علاوه بر این، شما الگوریتم های پیچیده ای را برای انجام جستجوی باینری در مونتاژ و حل مسائل ریاضی پیشرفته مانند سری تیلور و الگوریتم دوبخشی طراحی خواهید کرد.


به یاد داشته باشید: شک ندارم که شما این دوره را دوست خواهید داشت. همچنین با ضمانت بازگشت کامل پول به مدت 30 روز همراه است! بنابراین به زبان ساده، شما واقعاً چیزی برای از دست دادن و همه چیز برای به دست آوردن ندارید.

ثبت نام کنید و اجازه دهید شروع به نوشتن کدهای سطح پایین کنیم.


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

معرفی Introduction

  • معرفی Introduction

  • Dev Board Dev Board

  • برپایی Set up

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

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

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

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

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

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

فلسفه طراحی ARM و معماری RISC ARM Design Philosophy and RISC Architecture

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

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

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

  • فناوری اتوبوس ARM و پروتکل اتوبوس AMBA ARM Bus Technology and AMBA Bus Protocol

  • حافظه Memory

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

  • فون نومان و معماری هاروارد Von Nuemann and Harvard architecture

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

  • پسوندهای مدیریت حافظه Memory Management extensions

  • پسوندهای پردازنده مشترک Co-processor 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

  • ARM Cortex-M ARM Cortex-M

  • خلاصه بخش 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

  • کد نویسی: پروژه مونتاژ ساده با فایل راه اندازی Coding : Simple Assembly Project with Startup File

  • کدگذاری: اهمیت Reset_Handler Coding : Importance of the Reset_Handler

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

  • کدگذاری: تخصیص فضا در حافظه با دستورالعمل SPACE Coding : Allocating space in memory with the SPACE Directive

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

  • کدگذاری: مبادله محتوای ثبت نام Coding : Swapping Register Content

  • کدگذاری: تغییر نام رجیسترها Coding : 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)

  • دانلود منبع Resource Download

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

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

  • انددینی Endianness

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

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

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

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

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

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

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

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

  • کدگذاری: حل یک روش معادله ساده 1 Coding : Solving a Simple Equation Method 1

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

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

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

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

  • پرچم ها Flags

  • پرچم های N و V The N and V Flags

  • پرچم های Z و C The Z and C Flags

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

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

  • کدگذاری: آزمایش با پرچم های PSR Coding : Experimenting with the PSR Flags

  • کدگذاری: آزمایش با Carry Flag Coding : Experimenting with the Carry Flag

  • کدگذاری: آزمایش با بیت سرریز Coding : Experimenting with the Overflow Bit

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

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

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

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

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

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

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

  • کدگذاری: افزودن داده های امضا شده Coding : Adding Signed Data

  • کدگذاری: یافتن حداقل داده های امضا شده Coding : Finding the Minimum Signed Data

  • مروری بر دستورالعمل های ریاضی اشباع شده Overview of Saturated Math Instructions

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

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

  • کدگذاری: حل یک معادله پیچیده تر Coding : Solving a More Complex Equation

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

  • کدگذاری: انجام تقسیم با تفریق Coding : Performing Division by Subtraction

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

  • نماد کسری Fractional Notation

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

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

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

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

  • انشعاب Branching

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

  • حلقه ها در مونتاژ Loops in Assembly

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

  • بلوک IF-THEN The IF-THEN Block

  • کدگذاری: محاسبه فاکتوریل یک عدد با استفاده از بلوک IF-THEN Coding : Computing the Factorial of a Number using the IF-THEN Block

جداول Tables

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

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

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

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

  • کدگذاری: ایجاد برنامه ای برای محاسبه سریع سینوس یک مقدار (قسمت اول) Coding : 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)

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

  • کد نویسی: ایجاد جداول پرش Coding : 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

  • کدگذاری: ایجاد یک پشته ساده Coding : Creating a Simple Stack

  • کدگذاری: ذخیره و بازیابی متن Coding : Saving and Restoring Context

واحد نقطه شناور The Floating Point Unit

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

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

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

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

  • کدگذاری: فعال کردن Coprocessor Floating-Point Coding : Enabling the Floating-Point Coprocessor

  • کدگذاری: انتقال داده بین رجیسترهای اصلی و رجیسترهای ممیز شناور Coding : Transferring Data Between Main Registers and Floating-Point Registers

مخلوط کردن C و مونتاژ Mixing C and Assembly

  • کدگذاری: اسمبلی درون خطی Coding : Inline Assembly

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

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

توسعه درایورهای جانبی (STM32F411- DISCOVERY ARD) Peripheral Drivers Development (STM32F411- DISCOVERY BOARD )

  • کدگذاری: توسعه درایور STM32F4 GPIO (قسمت اول) Coding : STM32F4 GPIO Driver Development ( Part I)

  • کدگذاری: توسعه درایور STM32F4 GPIO (قسمت دوم) Coding : STM32F4 GPIO Driver Development ( Part II )

  • کدگذاری: توسعه درایور STM32F4 GPIO (قسمت سوم) Coding : STM32F4 GPIO Driver Development ( Part III )

  • کدگذاری: توسعه درایور STM32F4 GPIO (قسمت چهارم) Coding : STM32F4 GPIO Driver Development ( Part IV)

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

  • کدگذاری: اختصاص نام های نمادین به ثبت های مربوطه GPIO Coding : Assigning Symbolic Names to Relevant GPIO Registers

  • کدگذاری: نوشتن درایور خروجی GPIO Coding : Writing the GPIO Output Driver

  • کدگذاری: تغییر وضعیت خروجی های GPIO Coding : Toggling GPIO Outputs

  • کدگذاری: تغییر خروجی های GPIO با ثبت BSRR Coding : Toggling GPIO Outputs with the BSRR Register

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

  • کدگذاری: اختصاص نام های نمادین به ثبت های مربوطه GPIO Coding : Assigning Symbolic Names to Relevant GPIO Registers

  • کدگذاری: پیاده سازی درایور خروجی GPIO Coding : Implementing the GPIO Output Driver

  • کدگذاری: اختصاص نام های نمادین به ثبت های ورودی GPIO مربوطه Coding : Assigning Symbolic Names to Relevant GPIO Input Registers

  • کدگذاری: پیاده سازی درایور ورودی GPIO Coding : Implementing the GPIO Input Driver

  • کدگذاری: تغییر وضعیت خروجی های GPIO Coding : Toggling GPIO Outputs

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

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

  • کدگذاری: پیاده سازی Fifo (قسمت اول) Coding : Fifo Implementation (Part I)

  • کدگذاری: پیاده سازی Fifo (قسمت دوم) Coding : Fifo Implementation (Part II)

  • کدگذاری: پیاده سازی Fifo (قسمت سوم) Coding : Fifo Implementation (Part III)

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

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

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

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

  • کدگذاری: الگوریتم بسط سری تیلور (قسمت دوم) Coding : Taylor Series Expansion algorithm (Part II)

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

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

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

  • مروری بر الگوریتم Bisection Overview of the Bisection algorithm

ماشین های حالت محدود Finite State Machines

  • مقدمه ای بر ماشین های حالت محدود Introduction to Finite State Machines

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

  • پیاده سازی FSM مور Implementation of the Moore's FSM

راه اندازی - Keil uVision 5 Set up - Keil uVision 5

  • دانلود Keil uVision 5 Downloading Keil uVision 5

  • نصب Keil uVision 5 Installing Keil uVision 5

  • نصب پک ها Installing Packs

  • مروری بر Keil uVision Overview of Keil uVision

  • تغییر کامپایلر Changing the Compiler

بسته شدن Closing

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

نمایش نظرات

آموزش ARM Assembly Language From Ground Up™ 1
جزییات دوره
15 hours
150
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
6,312
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Israel Gbati Israel Gbati

Embedded Firmware Engineer نام من اسرائیل است ، من بیش از 7 سال است که در فضای سیستم جاسازی شده تحقیق و کار می کنم. در Udemy ده ها هزار دانش آموز در سیستم های جاسازی شده با تمرکز بر موضوعاتی مانند برنامه نویسی Assembly ، طراحی سیستم عامل های زمان واقعی ، توسعه سیستم عامل و پردازش سیگنال دیجیتال آموزش داده ام. من قادر به آموزش این مباحث هستم زیرا در کارهای روزمره مفاهیمی را از این مباحث استفاده می کنم. به یکی از دوره های من بپیوندید و ببینید چطور پیش می رود. همیشه می توانید درخواست بازپرداخت کنید.

BHM Engineering Academy BHM Engineering Academy

آکادمی مهندسی قرن بیست و یکم