|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
ARM 的技术实现+ a# v$ A8 L2 O8 g- k1 b; T
7 j* X6 q: X3 g) s; v& \2 `' B' O
- y5 i) C% e3 A% g6 G要想深入理解ARM的实现原理是个很大的学习工程,这里一样希望读者读后能对ARM起到一个总体的认识,后续可以进一步的深入学习。我们先以 ARM 汇编基础来展开这一章的 chat。
( G, D% C, |' }3 k7 N Z& c& S' x! D0 B( I' j) |
) j( M9 _) H: H7 b
汇编语言是机器代码上的一个薄的语法层,它由以二进制编码的指令组成,这是我们的计算机所理解。那么为什么我们不写代码呢?可想而知以二进制来进行 coding 的话是多么的痛苦,因此我们将编写ARM程序集。
. R; @$ b! [3 A/ s
4 k! @! v% U) @$ {; O) A3 ?, i* c3 J4 A4 }) A+ `
但是计算机本身只识别机器码是不能运行汇编代码的,这就需要将汇编代码装到机器代码中的工具 GNU Binutils 项目中的 GNU Assembler。一旦用扩展名*.s编写程序就需要把它与其进行组合并与ld链接起来:2 H( ` w% p0 _! E' b. }
& N8 n' Y l5 r' V8 q0 n; r
. v7 D% c" B* J/ V5 P
4 [, b5 C4 F0 L, z6 R6 C4 A$ ~' _" Y' [# _
: J, a2 i# v; [# t; F$ N+ H
+ \5 ~: H% c. r5 Z' i- a7 g( X" d
! V& P8 \( K2 u8 ]( }+ ^+ X
M" P! I( h% _* S1 N
7 e- @% d0 G/ x) u2 t1 x2 M; {- l" y5 d' d i* Z
* X* \8 P$ k6 T3 c' A1 D2 w% Z; `
: z+ F/ h( M) j7 B3 ]* ?
/ P3 y) D1 I5 q4 `
5 D, p& a1 g; j
2 b: Y+ r- e, Q4 H
- f: I5 a; T J6 Y
* s- t( z7 f$ b6 d! k) s! _, |% n9 r T& P5 b/ p8 ^
0 Z$ f4 \, r3 [4 Q0 J \3 W1 K0 k; I: W/ F
. `* K8 X/ e. W9 u |
|