arm汇编程序以及指令 arm初学者推荐书籍

《ARM体系结构与编程》杜春雷

《ARM嵌入式系统开发:软件设计与优化》

对于初学者来说这两本书籍可以知道个基本的指令集以及一些相关的常识,当然里面很多理论知识,实用性不是很好不要想着看完这几部部书就想说入门了。这个不可能,只能说这只是用于查询了解一些基本知识用的书籍。

学习ARM汇编指令的经典资料。 对ARM的各种汇编指令进行了深入全面的讲解,并给出了各种示例和详细注解,并且还对一些值得注意的点或是容易犯错误的地方进行了总结。 目录 前言................................................................................................................................................................i 目录................................................................................................................................................................I ARM7TDMI(-S)指令集及汇编....................................................................................................................1 ARM处理器寻址方式..........................................................................................................................2 寄存器寻址....................................................................................................................................2 立即寻址........................................................................................................................................2 寄存器偏移寻址............................................................................................................................2 寄存器间接寻址............................................................................................................................3 基址寻址........................................................................................................................................3 多寄存器寻址................................................................................................................................4 堆栈寻址........................................................................................................................................4 块拷贝寻址....................................................................................................................................5 相对寻址........................................................................................................................................5 指令集介绍............................................................................................................................................7 ARM指令集..................................................................................................................................7 指令格式................................................................................................................................7 第2个操作数................................................................................................................7 #immed_8r...........................................................................................................7 Rm..........................................................................................................................8 Rm,shift..................................................................................................................8 条件码............................................................................................................................9 ARM存储器访问指令........................................................................................................11   LDR和STR........................................................................................................11   LDM和STM.......................................................................................................14   SWP.....................................................................................................................17 ARM数据处理指令............................................................................................................19 数据传送指令..............................................................................................................20   MOV............................................................................................................20   MVN............................................................................................................20 算术逻辑运算指令......................................................................................................20   ADD.............................................................................................................20   SUB..............................................................................................................21   RSB..............................................................................................................21   ADC.............................................................................................................21   SBC..............................................................................................................21   RSC..............................................................................................................22   AND.............................................................................................................22   ORR..............................................................................................................22   EOR..............................................................................................................22   BIC...............................................................................................................23 比较指令......................................................................................................................23   CMP.............................................................................................................23   CMN.............................................................................................................23   TST...............................................................................................................24   TEQ..............................................................................................................24 乘法指令......................................................................................................................25   MUL.............................................................................................................25   MLA.............................................................................................................25   UMULL........................................................................................................25   UMLAL........................................................................................................26   SMULL........................................................................................................26   SMLAL........................................................................................................26 ARM跳转指令....................................................................................................................27   B...........................................................................................................................27   BL.........................................................................................................................27   BX........................................................................................................................27 ARM协处理器指令............................................................................................................28   CDP......................................................................................................................28   LDC......................................................................................................................29   STC......................................................................................................................29   MCR.....................................................................................................................30   MRC.....................................................................................................................30 ARM杂项指令....................................................................................................................31   SWI......................................................................................................................31   MRS.....................................................................................................................32   MSR.....................................................................................................................33 ARM指令........................................................................................................................34   ADR.....................................................................................................................35   ADRL...................................................................................................................35   LDR......................................................................................................................36   NOP......................................................................................................................37 Thumb指令集.............................................................................................................................39 Thumb指令集与ARM指令集的区别..............................................................................39 Thumb存储器访问指令.....................................................................................................40   LDR和STR........................................................................................................41   PUSH和POP......................................................................................................43   LDMIA和STMIA..............................................................................................43 Thumb数据处理指令.........................................................................................................45 数据传送指令..............................................................................................................46   MOV............................................................................................................46   MVN............................................................................................................46   NEG..............................................................................................................47 算术逻辑运算指令......................................................................................................47   ADD.............................................................................................................47   SUB..............................................................................................................48   ADC.............................................................................................................49   SBC..............................................................................................................49   MUL.............................................................................................................50   AND.............................................................................................................50   ORR..............................................................................................................50   EOR..............................................................................................................51   BIC...............................................................................................................51   ASR..............................................................................................................51   LSL...............................................................................................................52   LSR..............................................................................................................52   ROR..............................................................................................................53 比较指令......................................................................................................................53   CMP.............................................................................................................53   CMN.............................................................................................................54   TST...............................................................................................................54 Thumb跳转指令.........................................................................................................55   B...................................................................................................................55   BL.................................................................................................................55   BX................................................................................................................55 Thumb杂项指令.........................................................................................................56   SWI..............................................................................................................56 Thumb伪指令.............................................................................................................57   ADR.............................................................................................................57   LDR..............................................................................................................57   NOP..............................................................................................................58 伪指令..................................................................................................................................................59 符号定义伪指令..........................................................................................................................59   GBLA、GBLL、GBLS..............................................................................................59   LCLA、LCLL、LCLS................................................................................................60   SETA、SETL、SETS.................................................................................................61   RLIST...........................................................................................................................61   CN................................................................................................................................62   CP.................................................................................................................................62   DN、SN.......................................................................................................................62   FN.................................................................................................................................63 数据定义伪指令..........................................................................................................................63   LTORG.........................................................................................................................64   MAP.............................................................................................................................64   FIELD..........................................................................................................................65   SPACE..........................................................................................................................66   DCB.............................................................................................................................66   DCD和DCDU............................................................................................................67   DCDO..........................................................................................................................67   DCFD和DCFDU........................................................................................................68   DCFS和DCFSU.........................................................................................................68   DCI...............................................................................................................................69   DCQ和DCQU............................................................................................................69   DCW和DCWU..........................................................................................................70 报告伪指令..................................................................................................................................70   ASSERT.......................................................................................................................70   INFO............................................................................................................................71   OPT..............................................................................................................................71   TTL和SUBT..............................................................................................................72 汇编控制伪指令..........................................................................................................................73   IF、ELSE和ENDIF...................................................................................................73   MACRO和MEND.....................................................................................................74   WHIL和WEND.........................................................................................................75 杂项伪指令..................................................................................................................................76   ALIGN.........................................................................................................................77   AREA...........................................................................................................................78   CODE16和CODE32..................................................................................................79   END.............................................................................................................................80   ENTRY.........................................................................................................................80   EQU.............................................................................................................................81   EXPORT和GLOBAL................................................................................................81   IMPORT和EXTERN.................................................................................................82   GET和INCLUDE......................................................................................................83   INCBIN........................................................................................................................83   KEEP............................................................................................................................83   NOFP...........................................................................................................................84   REQUIRE....................................................................................................................84   PEQUIRE8和PRESERVE8.......................................................................................84   RN................................................................................................................................84   ROUT...........................................................................................................................85 ARM指令................................................................................................................................86   ADR.............................................................................................................................86   ADRL...........................................................................................................................86   LDR..............................................................................................................................86   NOP..............................................................................................................................86   LDFD...........................................................................................................................86   LDFS............................................................................................................................87 Thumb伪指令.............................................................................................................................87   ADR.............................................................................................................................87   LDR..............................................................................................................................87   NOP..............................................................................................................................88 ARM汇编程序设计............................................................................................................................88 文件格式......................................................................................................................................88 ARM汇编的一些规范................................................................................................................88 汇编语句格式......................................................................................................................88 标号......................................................................................................................................89   基于PC的标号...................................................................................................89   基于寄存器的标号..............................................................................................90   绝对地址..............................................................................................................90 局部标号..............................................................................................................................90 符号......................................................................................................................................91 常量......................................................................................................................................91   数字常数..............................................................................................................91   字符常量..............................................................................................................92   布尔常量..............................................................................................................92 段定义..................................................................................................................................92 宏定义及其作用..................................................................................................................93 子程序的调用..............................................................................................................................94 数据比较跳转..............................................................................................................................95 循环..............................................................................................................................................95 数据块复制..................................................................................................................................95 栈操作..........................................................................................................................................96 特殊寄存器定义及应用..............................................................................................................96 散转功能......................................................................................................................................97 查表操作......................................................................................................................................97 长跳转..........................................................................................................................................97 对信号量的支持..........................................................................................................................98 伪指令使用..................................................................................................................................98 一个完整的例子..........................................................................................................................98 外围部件控制..............................................................................................................................99 三级流水线介绍..........................................................................................................................99 C与汇编混合编程............................................................................................................................100 内嵌汇编....................................................................................................................................100 内嵌汇编指令用法........................................................................................................103 内嵌汇编器与armasm汇编器的差异.............................................................................104 内嵌汇编注意事项............................................................................................................104 访问全局变量............................................................................................................................106 C与汇编相互调用....................................................................................................................107 寄存器的使用规则............................................................................................................108 堆栈使用规则....................................................................................................................108 参数传递规则....................................................................................................................109 C程序调用汇编程序........................................................................................................110 汇编程序调用C程序.......................................................................................................111 ARM指令集列表..............................................................................................................................113 ARM存储器访问指令表列表..................................................................................................113 ARM数据处理指令列表..........................................................................................................114 ARM乘法指令列表..................................................................................................................115 ARM跳转指令列表..................................................................................................................116 ARM协处理器指令列表..........................................................................................................117 ARM杂项指令列表..................................................................................................................118 ARM指令列表......................................................................................................................119 Thumb指令集列表...........................................................................................................................120 Thumb存储器访问指令列表...................................................................................................120 Thumb数据处理指令列表.......................................................................................................121 Thumb跳转指令及软中断指令列表.......................................................................................122 Thumb伪指令列表...................................................................................................................123 汇编预定义变量及伪指令................................................................................................................124 预定义的寄存器和协处理器名................................................................................................124 通用寄存器........................................................................................................................124 程序状态寄存器................................................................................................................124 浮点数寄存器....................................................................................................................124 协处理器及协处理器寄存器............................................................................................125 内置变量列表............................................................................................................................125 伪指令列表................................................................................................................................126 指令条件码列表........................................................................................................................128 CPSR和SPSR分配图.............................................................................................................................129
### 回答1: "ARM汇编程序100例" 是一本介绍ARM汇编语言编程的参考书。该书包含了100个例子,用于帮助读者学习和理解ARM汇编程序设计的基本概念和技巧。 ARM汇编是一种低级别的程序设计语言,用于直接控制计算机硬件。它与高级语言相比,更接近计算机底层的操作。学习ARM汇编可以使程序员更深入地了解计算机体系结构,从而编写更高效和优化的程序。 "ARM汇编程序100例" 这本书的内容涵盖了从基本的指令和寄存器的使用到复杂的数据结构和算法的实现。它结合了理论知识和实际操作,通过具体的例子来演示和讲解各种ARM汇编的编程技巧。 这本书的设计初衷是帮助初学者掌握ARM汇编的基本概念和技术,并能够熟练地编写ARM汇编程序。每个例子都有详细的注释和解释,以帮助读者理解程序的功能和目的。读者可以通过学习这些例子,逐步提高自己的ARM汇编编程水平。 此外,这本书还提供了一些高级的ARM汇编程序设计技巧,以便读者能够编写更复杂和高效的程序。它还介绍了ARM处理器的一些特殊功能和优化技术,以提升程序的性能和效果。 总之,"ARM汇编程序100例" 是一本适合想要学习和掌握ARM汇编编程的读者的参考书。它通过丰富的例子和实践操作,帮助读者深入理解ARM汇编的基本原理和技巧,并提供了一些高级的编程技术,使读者能够编写更高效和优化的ARM汇编程序。 ### 回答2: ARM汇编程序100例是一本关于ARM体系结构编程技术的实例教程。本书共分为100个例子,每个例子涵盖了不同的ARM汇编编程技术和应用场景。 这本书首先介绍了ARM体系结构的基础知识,包括ARM寄存器、指令集以及主要的寻址模式等。然后,通过一系列具体的实例,展示了多种ARM汇编语言的使用方法和技巧。 这100个例子涵盖了ARM汇编编程的各个方面,包括数据处理、逻辑运算、条件分支、循环结构等等。每个例子都给出了详细的代码示例和运行结果,以帮助读者更好地理解和掌握ARM汇编语言的编程技巧。 此外,书中还介绍了一些常见的ARM应用场景和编程技巧,如中断处理、嵌入式系统开发等。这些实例旨在帮助读者在实际项目中能够灵活应用ARM汇编语言,提高编程效率和代码质量。 总之,ARM汇编程序100例是一本系统而全面的ARM汇编编程教程,通过实例的方式展示了ARM汇编语言的编程技术和应用场景。对于对ARM体系结构感兴趣的读者来说,这本书将是一本十分实用的参考资料。 ### 回答3: ARM汇编程序100例是针对ARM架构开发的一系列汇编程序示例,旨在帮助开发者更好地理解和掌握ARM汇编语言的编程技巧和应用场景。以下是一些例子供参考: 1. 反转字符串:通过使用寄存器作为索引,逐个字符反转存储在内存中的字符串。 2. 求和:通过使用循环和累加器寄存器,计算给定数组中元素的总和。 3. 斐波那契数列:根据斐波那契数列的定义,使用循环和寄存器计算前n个数字。 4. 阶乘计算:通过使用递归或循环,计算给定数字的阶乘。 5. 素数检测:根据素数的定义,使用循环和条件分支,判断给定数字是否为素数。 6. 字符串拷贝:通过使用循环和寄存器,将一个字符串的内容复制到另一个字符串。 7. 二进制转换:将一个正整数转换为二进制表示,并以字符串形式输出。 8. 查找最大值:通过使用循环和比较指令,找到给定数组中的最大值。 9. 排序算法:使用冒泡排序、插入排序或快速排序等算法,对给定数组进行排序。 10. 十进制转换:将一个十进制数转换为二进制、八进制或十六进制表示,并以字符串形式输出。 以上是部分例子,ARM汇编程序100例覆盖了更多的常见编程任务和算法,并通过示例代码的解析和说明,帮助开发人员更好地理解和应用ARM汇编语言。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值