第29部分- Linux ARM汇编 术语和参考

术语

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.

 

参考

ARM架构

ARM Reference Manual

http://infocenter.arm.com/help/topic/com.arm.doc.dui0068b/index.html)

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

 

 ARM汇编语法

https://developer.arm.com/docs/dui0473/k/writing-arm-assembly-language

https://developer.arm.com/common-tasks/writing-arm-assembly-code/single-page

http://www.toves.org/books/arm/

http://www.keil.com/support/man/docs/armasm/armasm_dom1359731144635.htm

http://www.keil.com/support/man/docs/armasm/armasm_dom1359731144051.htm

http://www.peter-cockerell.net/aalp/html/frames.html

Whirlwind Tour of ARM Assembly.https://www.coranac.com/tonc/text/asm.htm

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

https://azeria-labs.com/writing-arm-assembly-part-1/

Assembler User Guide. http://www.keil.com/support/man/docs/armasm/default.htm

基于Android的ARM汇编语言系列 https://blog.csdn.net/allenwells/article/details/46773257

 

 64位汇编

Exploring AArch64 assembler – Chapter 1

32位到64位移植

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位ARM函数调用标准

https://developer.arm.com/docs/ihi0055/d/procedure-call-standard-for-the-arm-64-bit-architecture

 

指令集

https://static.docs.arm.com/100898/0100/the_a64_Instruction_set_100898_0100.pdf

ARMv8 Instruction Set Overview

 

浮点

参考链接:

What Every Computer Scientist Should Know About Floating Point Arithmetic

 

NEON

Neon Programmer’s guide

 

树莓派

(32位)ARM assembler in Raspberry Pi https://thinkingeek.com/arm-assembler-raspberry-pi/

树莓派

https://www.sciencedirect.com/topics/computer-science/raspberry-pi

ARM Assembly Programming Using Raspberry Pi

RASPBERRY PI ASSEMBLER

 

书籍

《汇编语言程序设计:基于ARM体系结构第三版》

《ARM Assembly Language Fundamentals and Techniques》

 

编译器

A ToC of the 20 part linker essay

System V Application Binary Interface - DRAFT - 10 June 2013

计算机原理博客

 

 

官方材料

《Programmer’s Guide for ARMv8-A-DEN0024A_v8_architecture_PG》

Technical Reference Manuals (TRMs)

ARM Architecture Reference Manual (the ARM ARM)