标题: ARM的技术实现 [打印本页] 作者: thinkfunny 时间: 2019-6-27 13:26 标题: ARM的技术实现 ARM 的技术实现8 @, \/ Z: T( G8 m
# U+ G4 b/ R+ A" a' S' M9 J- D
* @+ @/ G+ \; L, s1 _* r要想深入理解ARM的实现原理是个很大的学习工程,这里一样希望读者读后能对ARM起到一个总体的认识,后续可以进一步的深入学习。我们先以 ARM 汇编基础来展开这一章的 chat。, Q+ ^- s; Z% P0 J M
4 G3 |* C- Z% M
* H7 ~% g& d2 x/ h' R8 h6 l D, y汇编语言是机器代码上的一个薄的语法层,它由以二进制编码的指令组成,这是我们的计算机所理解。那么为什么我们不写代码呢?可想而知以二进制来进行 coding 的话是多么的痛苦,因此我们将编写ARM程序集。/ t1 }# K% q4 B6 N
8 }( E2 f. s! r4 T( @: i5 ^- f) o, Z1 S! D# H) V Y
但是计算机本身只识别机器码是不能运行汇编代码的,这就需要将汇编代码装到机器代码中的工具 GNU Binutils 项目中的 GNU Assembler。一旦用扩展名*.s编写程序就需要把它与其进行组合并与ld链接起来:2 ?( H& [3 u1 ?* P/ G8 v
q0 p4 ^: f1 E# i 8 f. ?+ G. P# N! D * s3 U' b4 p: [9 ]9 a) z% P " J0 q) p" |$ J+ M0 s' R; C7 N1 U( ^& I9 B1 V& _- w
. m& b: r/ P, n2 U+ x
$ @, _5 a8 q" U \ . C( N- B4 L0 t j/ R* g8 V( v, g# X( E- F/ M: M; `
$ Q2 y8 e/ E/ b3 D& X3 l- A7 [7 h1 V# f* z
# Q- B; U) V7 o+ }/ H7 C3 b2 H ) f3 L) K$ `/ n6 E( D" X/ ~5 p+ ~# Z; O, c
4 Y4 ?+ Q* v, `0 {; T6 P" C
" K0 X0 }6 N, p5 W: X+ [
( a* j# k% `3 m" ^8 ~/ X! @8 B3 B- h5 T$ F) \, a( P5 a, B
8 ^: K5 M! t/ V, P
) |( \6 N+ N7 I( M1 w1 a