Part 29 – Linux ARM assembly terminology and references

The term

AAPCS: ARM Architecture Procedure Call Standard.

TrustedOS: This is the operating system running in the Secure World. It supports the execution of trusted applications in Secure EL0. When EL3 is using AArch64 it executes in Secure EL1. When EL3 is using AArch32 it executes in Secure EL3 modes other than Monitor mode.

EL0:Exception level used to execute user applications.

EL1:Exception level normally used to run operating systems.

El2:Hypervisor Exception level. In the Normal world, or Non-Secure state, this is used to execute hypervisor code.

EL3:Secure Monitor exception level.This is used to execute the code that guards transitions between the Secure and Normal worlds.

 

reference

The ARM architecture

ARM Reference Manual

Infocenter.arm.com/help/topic/…).

A Guide to ARM64 / AArch64 Assembly on Linux with Shellcodes and Cryptography

 

ARM assembly syntax

Developer.arm.com/docs/dui047…

Developer.arm.com/common-task…

www.toves.org/books/arm/

www.keil.com/support/man…

www.keil.com/support/man…

www.peter-cockerell.net/aalp/html/f…

Whirlwind Tour of the ARM Assembly.www.coranac.com/tonc/text/a…

Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation by Bruce Dang, Alexandre Gazet, Elias Bachaalany and Sebastien Josse.

Azeria-labs.com/writing-arm…

Assembler User Guide. www.keil.com/support/man…

Based on the Android series blog.csdn.net/allenwells/ ARM assembly language…

 

A 64 – bit assembly

Exploring AArch64 Assembler — Chapter 1

32-bit to 64-bit porting

Overview of ARM64 ABI conventions

Migrating code from ARM to ARM64

Porting to Arm 64-bit

A Guide to ARM64 / AArch64 Assembly on Linux with Shellcodes and Cryptography

64-bit ARM function call standard

Developer.arm.com/docs/ihi005…

 

Instruction set

Static.docs.arm.com/100898/0100…

ARMv8 Instruction Set Overview

 

Floating point

Reference links:

What Every Computer Scientist Should Know About Floating Point Arithmetic

 

NEON

Neon Programmer ‘s guide

 

Raspberry pie

(32-bit)ARM Assembler in Raspberry Pi thinkingeek.com/arm-assembl…

Raspberry pie

www.sciencedirect.com/topics/comp…

ARM Assembly Programming Using Raspberry Pi

RASPBERRY PI ASSEMBLER

 

books

“Assembly Language Programming: Based on ARM Architecture, Third Edition”

ARM Assembly Language Fundamentals and Techniques

 

The compiler

A ToC of the 20 part linker essay

System V Application Binary Interface – DRAFT – 10 June 2013

Computer Principles blog

 

 

The official material

Programmer’s Guide for ARMV8-A-DEN0024A_V8_architecture_PG

Technical Reference Manuals (TRMs)

ARM Architecture Reference Manual (the ARM ARM)