第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
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
树莓派
(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
书籍
《汇编语言程序设计:基于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)