𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Modern Arm Assembly Language Programming: Covers Armv8-A 32-bit, 64-bit, and SIMD

✍ Scribed by Daniel Kusswurm


Publisher
Apress
Year
2020
Tongue
English
Leaves
477
Edition
1st ed.
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Gain the fundamentals of Armv8-A 32-bit and 64-bit assembly language programming. This book emphasizes Armv8-A assembly language topics that are relevant to modern software development. It is designed to help you quickly understand Armv8-A assembly language programming and the computational resources of Arm’s SIMD platform. It also contains an abundance of source code that is structured to accelerate learning and comprehension of essential Armv8-A assembly language constructs and SIMD programming concepts. After reading this book, you will be able to code performance-optimized functions and algorithms using Armv8- A 32-bit and 64-bit assembly language.

Modern Arm Assembly Language Programming accentuates the coding of Armv8-A 32-bit and 64-bit assembly language functions that are callable from C++. Multiple chapters are also devoted to Armv8-A SIMD assembly language programming. These chapters discuss how to code functions that are used in computationally intense applications such as machine learning, image processing, audio and video encoding, and computer graphics.

The source code examples were developed using the GNU toolchain (g++, gas, and make) and tested on a Raspberry Pi 4 Model B running Raspbian (32-bit) and Ubuntu Server (64-bit). It is important to note that this is a book about Armv8-A assembly language programming and not the Raspberry Pi.

What You Will Learn

  • See essential details about the Armv8-A 32-bit and 64-bit architectures including data types, general purpose registers, floating-point and SIMD registers, and addressing modes
  • Use the Armv8-A 32-bit and 64-bit instruction sets to create performance-enhancing functions that are callable from C++
  • Employ Armv8-A assembly language to efficiently manipulate common data types and programming constructs including integers, arrays, matrices, and user-defined structures
  • Create assembly language functions that perform scalar floating-point arithmetic using the Armv8-A 32-bit and 64-bit instruction sets
  • Harness the Armv8-A SIMD instruction sets to significantly accelerate the performance of computationally intense algorithms in applications such as machine learning, image processing, computer graphics, mathematics, and statistics.
  • Apply leading-edge coding strategies and techniques to optimally exploit the Armv8-A 32-bit and 64-bit instruction sets for maximum possible performance

Who This Book Is For

Software developers who are creating programs for Armv8-A platforms and want to learn how to code performance-enhancing algorithms and functions using the Armv8-A 32-bit and 64-bit instruction sets. Readers should have previous high-level language programming experience and a basic understanding of C++.


✦ Table of Contents


Front Matter ....Pages i-xix
Armv8-32 Architecture (Daniel Kusswurm)....Pages 1-11
Armv8-32 Core Programming – Part 1 (Daniel Kusswurm)....Pages 13-36
Armv8-32 Core Programming – Part 2 (Daniel Kusswurm)....Pages 37-64
Armv8-32 Core Programming – Part 3 (Daniel Kusswurm)....Pages 65-90
Armv8-32 Floating-Point Architecture (Daniel Kusswurm)....Pages 91-99
Armv8-32 Floating-Point Programming (Daniel Kusswurm)....Pages 101-130
Armv8-32 SIMD Architecture (Daniel Kusswurm)....Pages 131-140
Armv8-32 SIMD Integer Programming (Daniel Kusswurm)....Pages 141-177
Armv8-32 SIMD Floating-Point Programming (Daniel Kusswurm)....Pages 179-214
Armv8-64 Architecture (Daniel Kusswurm)....Pages 215-222
Armv8-64 Core Programming – Part 1 (Daniel Kusswurm)....Pages 223-244
Armv8-64 Core Programming – Part 2 (Daniel Kusswurm)....Pages 245-274
Armv8-64 Floating-Point Programming (Daniel Kusswurm)....Pages 275-302
Armv8-64 SIMD Integer Programming (Daniel Kusswurm)....Pages 303-340
Armv8-64 SIMD Floating-Point Programming (Daniel Kusswurm)....Pages 341-388
Armv8-64 Advanced SIMD Programming (Daniel Kusswurm)....Pages 389-432
Optimization Strategies and Techniques (Daniel Kusswurm)....Pages 433-443
Back Matter ....Pages 445-465

✦ Subjects


Computer Science; Professional Computing; Hardware and Maker; Mobile Computing; Open Source


πŸ“œ SIMILAR VOLUMES


ARM 64-Bit Assembly Language
✍ Larry D Pyeatt πŸ“‚ Library πŸ“… 2020 πŸ› Newnez 🌐 English

ARM 64-Bit Assembly Language carefully explains the concepts of assembly language programming, slowly building from simple examples towards complex programming on bare-metal embedded systems. Considerable emphasis is put on showing how to develop good, structured assembly code. More advanced topics

ARM 64-Bit Assembly Language
✍ Larry D. Pyeatt, William Ughetta πŸ“‚ Library πŸ“… 2019 πŸ› Newnes 🌐 English

<p><i>ARM 64-Bit Assembly Language</i> carefully explains the concepts of assembly language programming, slowly building from simple examples towards complex programming on bare-metal embedded systems. Considerable emphasis is put on showing how to develop good, structured assembly code. More advanc

ARM 64-Bit Assembly Language
✍ Pyeatt, Larry D;Ughetta, William πŸ“‚ Library πŸ“… 2019;2020 πŸ› Newnes 🌐 English

ARM 64-Bit Assembly Languagecarefully explains the concepts of assembly language programming, slowly building from simple examples towards complex programming on bare-metal embedded systems. Considerable emphasis is put on showing how to develop good, structured assembly code. More advanced topics s