Tags
Language
Tags
June 2025
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Arm Assembly Language From Ground Up™ 1 (updated 2/2022)

    Posted By: ELK1nG
    Arm Assembly Language From Ground Up™ 1 (updated 2/2022)

    Arm Assembly Language From Ground Up™ 1
    Last updated 2/2022
    MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
    Language: English | Size: 7.85 GB | Duration: 15h 7m

    Build over 50 Assembly Programs - ARM Instruction Set, Peripheral Driver Development, Algorithms, DSP routines etc.

    What you'll learn

    Master the ARM Instruction Set

    Master the Thumb and Thumb-2 Instruction Sets

    Understand the ARM Design Philosophy

    Understand RISC Architecture

    Master creating Data Structures in Assembly

    Master creating State Machines in Assembly

    Master building complex Algorithms in Assembly

    Master writing hardware Drivers in Assembly

    Be able to create Lookup Tables and Jump Tables in Assembly

    Be able to understand and apply the IEEE- 754 Floating point standard

    Requirements

    No programming experience needed - I'll teach you everything you need to know

    No paid software required - all assembly programs will be created in Keil uVision 5 (which is free)

    I'll walk you through, step-by-step how download and install Keil uVision

    You will need an STM32F4-DISCOVERY board for some of the practical lessons.

    Description

    Welcome to the ARM Assembly Programming From Ground Up™ 1 course. Covering ARM Systems Design, Architecture and Practical Assembly Programming,  this is the most comprehensive ARM assembly course online.I'll take you step-by-step through engaging and fun video tutorials and teach you everything you need to know to succeed as an ARM embedded developer.This course comes in two parts. This is the first part of the course.By the end of this part you will master the ARM Instruction Set, the Thumb Instruction Set and the Thumb-2 Instruction Set. You will be able to create data structures such as FIFOs and LIFOs in Assembly. You will also be able to create Finite  State Machines such as the Moore Machine and Mealy Machine.  Furthermore you will design complex algorithms for performing Binary Search in assembly , and solving advance mathematical problems like the Taylor Series and the Bisection Algorithm . REMEMBER : I have no doubt you will love this course. Also it comes with a  FULL money back guarantee for 30 days!  So put simply, you really have nothing to loose and everything to gain. Sign up and lets start writing some low level code.

    Overview

    Section 1: Introduction

    Lecture 1 Introduction

    Lecture 2 Dev Board

    Lecture 3 Set up

    Section 2: Introduction to ARM Assembly Language

    Lecture 4 The Computing Device

    Lecture 5 Number Systems

    Lecture 6 Assembly Tools

    Lecture 7 Translating Bits to Commands

    Lecture 8 Assembly Syntax

    Section 3: ARM Design Philosophy and RISC Architecture

    Lecture 9 The RISC Design Philosophy

    Lecture 10 The ARM Design Philosophy

    Lecture 11 Embedded Systems with ARM Processors

    Lecture 12 ARM Bus Technology and AMBA Bus Protocol

    Lecture 13 Memory

    Lecture 14 Peripherals

    Lecture 15 Von Nuemann and Harvard architecture

    Lecture 16 Cache and Tightly Couple Memory

    Lecture 17 Memory Management extensions

    Lecture 18 Co-processor extensions

    Section 4: The Programmer's Model

    Lecture 19 Data Types

    Lecture 20 Processor Modes

    Lecture 21 ARM7TDMI Registers

    Lecture 22 ARM7TDMI Vector Table

    Lecture 23 ARM Cortex-M Registers

    Lecture 24 ARM Cortex-M Vector Table

    Lecture 25 ARM Data Flow Model

    Lecture 26 The Pipeline

    Lecture 27 ARM Processor Family

    Lecture 28 ARM Cortex-A and Cortex-R

    Lecture 29 ARM Cortex-M

    Lecture 30 Section Summary

    Section 5: Assembler Rules and Directives

    Lecture 31 Structure of an Assembly Module

    Lecture 32 The ARM,Thumb and Thumb-2 Instruction Sets

    Lecture 33 Predefined Register Names

    Lecture 34 Frequently used Directives

    Lecture 35 Coding : Simple Assembly Project with Startup File

    Lecture 36 Coding : Importance of the Reset_Handler

    Lecture 37 Coding : Simple Assembly Project without Startup File

    Lecture 38 Coding : Allocating space in memory with the SPACE Directive

    Lecture 39 Overview of Binary Operators

    Lecture 40 Coding : Swapping Register Content

    Lecture 41 Coding : Renaming Registers

    Section 6: Load-Store Instructions

    Lecture 42 Memory Demarcations

    Lecture 43 Frequently used Load/Store Instructions (Part I)

    Lecture 44 Frequently used Load/Store Instructions (Part II)

    Lecture 45 Frequently used Load/Store Instructions (Part III)

    Lecture 46 Resource Download

    Lecture 47 Pre-Indexed Addressing

    Lecture 48 Post-Indexed Addressing

    Lecture 49 Endianness

    Lecture 50 Defining Memory Areas

    Lecture 51 Coding : Copying Data from One Memory Location to Another

    Section 7: Dealing with Constants and Literals

    Lecture 52 The Encoding of the MOV Instruction

    Lecture 53 The ARM Rotation Scheme

    Lecture 54 Loading Constants with the LDR Instruction

    Lecture 55 Loading Constants with the MOVW and MOVT Instructions

    Lecture 56 Loading Labels with ADR, ADRL and LDR Instructions

    Lecture 57 Coding : Solving a Simple Equation Method 1

    Lecture 58 Coding : Solving a Simple Equation Method 2 - Storing Constants in Memory

    Lecture 59 Coding : Solving a Simple Equation Method 3 - Using Register Relative Addressing

    Lecture 60 Coding : Solving a Simple Equation Method 4 - Compact Code

    Section 8: Arithmetic and Logic Instructions

    Lecture 61 Flags

    Lecture 62 The N and V Flags

    Lecture 63 The Z and C Flags

    Lecture 64 Compare/Test Instructions

    Lecture 65 Overview of Boolean Operations

    Lecture 66 Coding : Experimenting with the PSR Flags

    Lecture 67 Coding : Experimenting with the Carry Flag

    Lecture 68 Coding : Experimenting with the Overflow Bit

    Lecture 69 Introduction to Shifts and Rotations

    Lecture 70 Understanding Logical Shifts

    Lecture 71 Understanding Rotations

    Lecture 72 Some Shift and Rotate Examples

    Lecture 73 Coding : Experimenting with the Logical Shift Left Instruction

    Lecture 74 Overview Addition and Subtraction Instructions

    Lecture 75 Coding : Finding the Maximum Value in a Dataset

    Lecture 76 Coding : Adding Signed Data

    Lecture 77 Coding : Finding the Minimum Signed Data

    Lecture 78 Overview of Saturated Math Instructions

    Lecture 79 Overview of Multiplication Instructions

    Lecture 80 Multiplying by Constants

    Lecture 81 Coding : Solving a More Complex Equation

    Lecture 82 Overview of the Division Instruction

    Lecture 83 Coding : Performing Division by Subtraction

    Lecture 84 Overview of DSP Instructions

    Lecture 85 Fractional Notation

    Lecture 86 Bit Manipulation Instructions

    Lecture 87 Understanding Q Notation

    Section 9: Branch and Loop Instructions

    Lecture 88 Introduction to Branches and Loops

    Lecture 89 Branching

    Lecture 90 Compare and Branch

    Lecture 91 Loops in Assembly

    Lecture 92 Conditional Execution

    Lecture 93 The IF-THEN Block

    Lecture 94 Coding : Computing the Factorial of a Number using the IF-THEN Block

    Section 10: Tables

    Lecture 95 Introduction to Tables

    Lecture 96 Navigating a Lookup Table

    Lecture 97 Coding : Constructing a Floating-Point Lookup Table

    Lecture 98 Coding : Constructing a Floating-Point Lookup Table - Version 2

    Lecture 99 Coding : Creating a Program to Rapidly Compute the Sine of a Value (Part I)

    Lecture 100 Creating a Program to Rapidly Compute the Sine of a Value (Part II)

    Lecture 101 Coding : Creating a Program to Rapidly Compute the Sine of a Value (Part III)

    Lecture 102 Coding : Creating Jump Tables

    Section 11: Stack Instructions

    Lecture 103 Introduction to the Stack

    Lecture 104 The LDM and STM Instructions

    Lecture 105 Syntax of the PUSH and POP Instructions

    Lecture 106 Coding : Creating a Simple Stack

    Lecture 107 Coding : Saving and Restoring Context

    Section 12: The Floating Point Unit

    Lecture 108 Contributions of a Floating Point Unit with to an Embedded Processor

    Lecture 109 Floating-Point Data Types

    Lecture 110 Syntax of Floating-Point Instructions

    Lecture 111 Overview of Floating Point Instructions

    Lecture 112 Coding : Enabling the Floating-Point Coprocessor

    Lecture 113 Coding : Transferring Data Between Main Registers and Floating-Point Registers

    Section 13: Mixing C and Assembly

    Lecture 114 Coding : Inline Assembly

    Lecture 115 Coding : Exporting a Subroutine from Assembly to C

    Lecture 116 Coding : Exporting a Function from C to Assembly

    Section 14: Peripheral Drivers Development (STM32F411- DISCOVERY BOARD )

    Lecture 117 Coding : STM32F4 GPIO Driver Development ( Part I)

    Lecture 118 Coding : STM32F4 GPIO Driver Development ( Part II )

    Lecture 119 Coding : STM32F4 GPIO Driver Development ( Part III )

    Lecture 120 Coding : STM32F4 GPIO Driver Development ( Part IV)

    Section 15: Peripheral Drivers Development (STM32-F411- NUCLEO BOARD )

    Lecture 121 Coding : Assigning Symbolic Names to Relevant GPIO Registers

    Lecture 122 Coding : Writing the GPIO Output Driver

    Lecture 123 Coding : Toggling GPIO Outputs

    Lecture 124 Coding : Toggling GPIO Outputs with the BSRR Register

    Section 16: Peripheral Drivers Development ( TM4C123- TIVA C BOARD )

    Lecture 125 Coding : Assigning Symbolic Names to Relevant GPIO Registers

    Lecture 126 Coding : Implementing the GPIO Output Driver

    Lecture 127 Coding : Assigning Symbolic Names to Relevant GPIO Input Registers

    Lecture 128 Coding : Implementing the GPIO Input Driver

    Lecture 129 Coding : Toggling GPIO Outputs

    Section 17: Data Structures

    Lecture 130 Introduction to FIFOs

    Lecture 131 Coding : Fifo Implementation (Part I)

    Lecture 132 Coding : Fifo Implementation (Part II)

    Lecture 133 Coding : Fifo Implementation (Part III)

    Section 18: Algorithms Developments

    Lecture 134 Coding : Developing the Recursive Factorial Algorithm (Part I)

    Lecture 135 Coding : Developing the Recursive Factorial Algorithm (Part II)

    Lecture 136 Taylor Series Expansion algorithm (Part I)

    Lecture 137 Coding : Taylor Series Expansion algorithm (Part II)

    Lecture 138 Overview of The Reciprocal Square Root Algorithm

    Lecture 139 Coding : The Reciprocal Square Root Estimate Algorithm (Part I)

    Lecture 140 Coding : The Reciprocal Square Root Estimate Algorithm (Part II)

    Lecture 141 Overview of the Bisection algorithm

    Section 19: Finite State Machines

    Lecture 142 Introduction to Finite State Machines

    Lecture 143 Understanding the Moore's Finite State Machine

    Lecture 144 Implementation of the Moore's FSM

    Section 20: Set up - Keil uVision 5

    Lecture 145 Downloading Keil uVision 5

    Lecture 146 Installing Keil uVision 5

    Lecture 147 Installing Packs

    Lecture 148 Overview of Keil uVision

    Lecture 149 Changing the Compiler

    Section 21: Closing

    Lecture 150 Closing Remarks

    If you are an absolute beginner to embedded programming, then take this course.,If you are a seasoned programmer, then take this course to to get up to speed with ARM architecture and assembly programming,If you are switching from other architectures such x86 to ARM then this is a fast-track way of doing it. You can get started straight away with the ARM Instruction Set.