|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
ARM 的技术实现) M0 q$ e# A( v7 F! b) R& x
( a; t# P. R F j, V
, F* h4 E$ i7 y* @7 |3 p$ f! R要想深入理解ARM的实现原理是个很大的学习工程,这里一样希望读者读后能对ARM起到一个总体的认识,后续可以进一步的深入学习。我们先以 ARM 汇编基础来展开这一章的 chat。
6 ^* C& S' Z# c+ }; i
4 R! |: o& C# ]4 Y: A* j* |9 h: _5 Q7 k
v& [: j0 ] r; w9 H汇编语言是机器代码上的一个薄的语法层,它由以二进制编码的指令组成,这是我们的计算机所理解。那么为什么我们不写代码呢?可想而知以二进制来进行 coding 的话是多么的痛苦,因此我们将编写ARM程序集。- V' K$ h) h8 J* k
) L! P# o6 p& I% ~: H1 F4 A) M
1 ^8 h* g v6 s' g2 ~% H$ s
但是计算机本身只识别机器码是不能运行汇编代码的,这就需要将汇编代码装到机器代码中的工具 GNU Binutils 项目中的 GNU Assembler。一旦用扩展名*.s编写程序就需要把它与其进行组合并与ld链接起来:: r! r5 {$ D P& J& d0 ^
9 y6 e3 X1 A3 y. S$ m) F
. l9 p* t" P3 E' X/ ^6 w9 o: }. k
+ S' D$ ^' q" T7 ^+ Z' y
% v) Z' u. R q5 n5 P6 `2 a, i3 T$ O" s; ~$ S
; P! m. R! s) p$ D9 }
6 ~* y4 _1 S. t6 u
* \ x; L/ p: H9 U1 @6 I: P+ n6 b4 b9 x G% C6 e( W
4 }; Z8 ]; t: P% s4 e1 Y
* `, T ~# T" i) \) f) A3 X
( }; V3 t6 X2 N) [; I% E
6 z+ i; `6 m: u1 i( H4 x8 ^+ ?& x* j6 l1 K4 \
; p1 V1 p9 O/ a$ I& a% m
& b% e; R0 k* Q! C. E- R, O& ~" h) I' T3 g- A+ \
3 q/ |7 r$ t. g$ F$ L& k2 Z$ O0 ~3 y' p1 N7 V3 t/ k
* R! A. [" l' J2 @ |
|