猜你喜欢
汇编语言程序设计 ——基于ARM体系结构 (第4版)

汇编语言程序设计 ——基于ARM体系结构 (第4版)

书籍作者:文全刚 ISBN:9787512433861
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:4659
创建日期:2021-10-07 发布日期:2021-10-07
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书是学习嵌入式技术的入门教材,是学习嵌入式系统原理与接口技术、嵌入式系统设计与应用等知识的前导教材。

本书基于ARM体系结构进行汇编语言的教学,内容分成3个部分:第一部分主要介绍汇编语言程序设计的基础知识和ARM系列微处理器,包括第1、2章;第二部分主要介绍基于ARM体系结构的指令系统、汇编程序设计以及异常中断编程,包括第3、4、5章;第三部分主要是MDK集成开发环境的使用和ARM汇编语言程序实验,包括第6、7章。本书是再版书,相比旧版,修订了旧版的一些错误,并更新了部分内容。

本书配套资料包含相关章节程序源代码及其他相关资料,读者可以到北京航空航天大学出版社网站的“下载专区”免费下载。


编辑推荐

本书可作为高等院校计算机及相关专业的汇编语言程序设计课程的教材或参考书,也可供使用汇编语言的工程技术人员参考。


目录

第1章基础知识1


1.1数制与数制转换1


1.1.1数制的基本概念1


1.1.2二进制数2


1.1.3十进制和二进制之间的转换3


1.1.4二进制和其他进制之间的转换4


1.2二进制数的基本运算5


1.3计算机中的编码6


1.3.1数字的编码6


1.3.2字符的编码7


1.3.3汉字的编码8


1.3.4统一代码10


1.3.5语音编码11


1.3.6差错控制编码12


1.4计算机中有符号数的表示18


1.4.1机器数与真值18


1.4.2原码、反码与补码19


1.4.3补码的加法运算21


1.4.4定点数与浮点数22


1.5基本逻辑运算24


1.5.1“与”运算24


1.5.2“或”运算24


1.5.3“非”运算25


1.5.4“异或”运算25


习题一26


第2章ARM微处理器基础27


2.1嵌入式系统概述27


2.1.1嵌入式系统的基本概念27


2.1.2嵌入式系统的发展29


2.1.3嵌入式系统的组成结构31


2.1.4嵌入式处理器36


2.1.5典型嵌入式处理器介绍38


2.2ARM概述40


2.2.1计算机体系结构的分类40


2.2.2ARM技术的发展过程41


2.2.3ARM技术与人工智能46


2.3ARM内核的特点47


2.3.1RISC技术47


2.3.2流水线技术47


2.3.3超标量技术48


2.4基于ARM核的微处理器 49


2.4.1基于ARM核的硬件结构49


2.4.2ARM核的数据流模型50


2.4.3ARM处理器工作模式和工作状态51


2.5ARM寄存器52


2.5.1通用寄存器52


2.5.2状态寄存器54


2.5.3Thumb寄存器57


2.6ARM的存储系统简介58


2.6.1存储器的层次结构58


2.6.2数据类型与存储器格式60


2.6.3非对齐的存储器访问62


习题二63


第3章ARM指令系统64


3.1指令基础64


3.1.1程序设计语言的层次结构64


3.1.2指令周期和时序65


3.1.3程序的执行过程67


3.2ARM汇编语言68


3.2.1指令和指令格式68


3.2.2指令的可选后缀69


3.2.3指令的条件执行70


3.2.4ARM指令分类72


3.3ARM指令的寻址方式72


3.3.1立即数寻址73


3.3.2寄存器寻址73


3.3.3寄存器间接寻址73


3.3.4寄存器移位寻址74


3.3.5基址变址寻址74


3.3.6多寄存器寻址75


3.3.7相对寻址76


3.3.8堆栈寻址76


3.4数据处理指令77


3.4.1数据传送指令78


3.4.2移位操作78


3.4.3算术指令82


3.4.4逻辑运算指令86


3.4.5比较指令87


3.4.6乘法指令89


3.5数据加载与存储指令92


3.5.1数据加载与存储指令概述94


3.5.2单寄存器加载与存储指令95


3.5.3多寄存器加载与存储指令101


3.5.4堆栈操作105


3.5.5交换指令107


3.6分支指令108


3.6.1分支指令B109


3.6.2带返回的分支指令BL 110


3.6.3带状态切换的分支指令BX111


3.6.4带返回和状态切换的分支指令BLX112


3.7程序状态寄存器访问指令113


3.8协处理器指令115


3.9软件中断指令119


3.10ARM伪指令121


3.11Thumb指令集123


3.11.1概述123


3.11.2Thumb指令寄存器的使用126


3.11.3ARMThumb交互126


3.11.4数据处理指令128


3.11.5单寄存器加载和存储指令130


3.11.6多寄存器加载和存储指令131


3.11.7堆栈指令132


3.11.8软件中断指令133


3.12Thumb伪指令133


习题三134


第4章ARM汇编语言程序设计136


4.1汇编语言程序格式136


4.1.1汇编语言的基本概念136


4.1.2汇编语言源程序的组成137


4.1.3汇编语言程序中常用的符号140


4.1.4汇编语言程序中的表达式和运算符142


4.2ARM汇编器的伪操作145


4.2.1符号定义伪操作146


4.2.2数据定义伪操作147


4.2.3汇编控制伪操作152


4.2.4信息报告伪操作155


4.2.5其他常用的伪操作157


4.3汇编语言程序的上机过程162


4.3.1汇编语言上机环境162


4.3.2编辑汇编语言源程序164


4.3.3编译链接源程序166


4.3.4调试汇编程序167


4.4汇编语言程序设计167


4.4.1程序设计步骤167


4.4.2简单程序设计169


4.4.3分支程序设计170


4.4.4循环程序设计174


4.4.5子程序设计178


4.4.6汇编程序举例180


4.5工作模式切换编程183


4.5.1处理器模式183


4.5.2处理器工作模式切换编程183


4.6ATPCS介绍184


4.6.1寄存器的使用规则185


4.6.2数据栈使用规则186


4.6.3参数传递规则187


4.6.4ARM和Thumb程序混合使用的ATPCS188


4.7ARM和Thumb混合编程188


4.7.1工作状态188


4.7.2工作状态切换编程190


4.8汇编语言和C语言交互编程193


4.8.1汇编程序访问C程序变量193


4.8.2汇编程序调用C程序194


4.8.3C程序内嵌汇编指令195


4.8.4C程序调用汇编程序201


习题四202


第5章异常中断编程204


5.1ARM的异常和中断204


5.1.1异常和中断的基本概念204


5.1.2ARM的异常中断205


5.1.3向量表206


5.1.4异常的优先级别208


5.2ARM异常中断的处理过程209


5.2.1异常中断响应过程209


5.2.2异常中断的返回211


5.3复位处理程序215


5.3.1复位215


5.3.2复位处理编程216


5.4SWI异常中断处理程序218


5.4.1SWI异常中断处理程序的实现218


5.4.2SWI异常中断调用221


5.5FIQ和IRQ异常中断处理程序226


5.5.1IRQ/FIQ中断处理机制226


5.5.2IRQ/FIQ异常中断处理程序229


5.5.3IRQ异常中断处理程序举例231


5.6未定义指令异常中断232


习题五233


第6章RealView MDK软件的使用234


6.1嵌入式系统开发基础234


6.1.1嵌入式系统开发流程234


6.1.2嵌入式软件开发235


6.1.3DS开发平台简介238


6.1.4RealView MDK软件的安装239


6.2μVision集成开发环境介绍244


6.2.1工程工作区245


6.2.2工作区248


6.2.3输出窗口249


6.2.4菜单栏、工具栏和快捷键250


6.2.5软件开发流程254


6.3程序的编辑255


6.3.1工程项目创建257


6.3.2源文件的创建259


6.3.3工程项目管理260


6.3.4工程基本配置261


6.4程序的编译与链接265


6.4.1基本概念265


6.4.2链接器的基本功能269


6.4.3分散加载描述文件273


6.4.4编译链接配置274


6.4.5编译链接工程277


6.5程序的调试278


6.5.1调试模式278


6.5.2调试前的配置278


6.5.3调试器的使用280


6.5.4调试窗口和对话框281


6.5.5Flash编程工具291


6.5.6调试命令和变量 293


6.5.7调试函数简介298


6.5.8调试脚本的使用302


6.5.9调试信息和去除方法 304


6.5.10映像文件转换器fromELF305


习题六306


第7章ARM汇编语言程序实验307


7.1ARM汇编的上机过程307


7.2ARM寻址方式313


7.3数据处理指令318


7.4数据加载与存储指令321


7.5ARM分支指令326


7.6ARM汇编程序设计一330


7.7ARM汇编程序设计二335


7.8工作模式的切换338


7.9ARM汇编和C语言混合编程343


7.10异常中断编程348


参考文献351


产品特色