|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
ARM 的技术实现; Z# \2 Q! [* s# x/ A: x5 |
4 A- L$ M# q: \+ T8 v/ M
: n( ?" X8 x6 }; z+ W5 Z要想深入理解ARM的实现原理是个很大的学习工程,这里一样希望读者读后能对ARM起到一个总体的认识,后续可以进一步的深入学习。我们先以 ARM 汇编基础来展开这一章的 chat。
, Z+ }% a- h7 A# X: [ c
" ]+ L. G2 x/ Q/ [4 j+ \& R, Y# ?$ I: e0 J8 z8 j
汇编语言是机器代码上的一个薄的语法层,它由以二进制编码的指令组成,这是我们的计算机所理解。那么为什么我们不写代码呢?可想而知以二进制来进行 coding 的话是多么的痛苦,因此我们将编写ARM程序集。. @' l* W' X9 f6 ^9 A- e3 l
' X, F3 w8 _) W( ]
' V6 T/ A6 n& R但是计算机本身只识别机器码是不能运行汇编代码的,这就需要将汇编代码装到机器代码中的工具 GNU Binutils 项目中的 GNU Assembler。一旦用扩展名*.s编写程序就需要把它与其进行组合并与ld链接起来:
7 f M+ G Q( t9 e* o" {! \
* U5 `" O$ b' J0 H8 i8 d( W: ?( L2 C* W/ u- ^2 i
( K* A; y; C. Z; S n) ~
, z7 e' j2 T% c9 b) l
$ s; c, `2 d+ `8 L5 E* R
. E7 {( i2 @! {; Q& k ?9 J% H" r6 Z7 W2 I1 H) R: \
- D, T3 B, S3 p! N' w, F, o* D
) \: j- i/ \& z
0 i3 q, S, W* y$ R5 Z$ F9 R+ N _& z
; }' w$ r) E- p; T% ], a- o2 e# H- f6 i7 Z
; U Y0 m" E0 o) c, K* o
( Y# V( e, y$ s5 p
8 t/ t" i7 G9 p, P( j, Z
9 ?: q {2 E5 ]/ S
3 b5 A# b- l- o: G9 ?4 e6 N* R9 R8 ~- y7 F+ M* \) h
/ ^+ [9 S( q' H0 D1 h2 f. r( q3 j5 y, ~* }( L9 M
* G( _% g; Y- @: Z, k w- u
|
|