汇编语言程序设计 基于ARM体系结构

所需积分/C币:12 2014-09-16 10:39:32 49.39MB PDF
23
收藏 收藏
举报

随着嵌入式技术的发展,越来越需要一套很好的嵌入式系列教材。《汇编语言程序设计:基于ARM体系结构(第2版)》是学习嵌入式技术的入门教材,是学习嵌入式系统原理与接口技术、嵌入式系统设计与应用等知识的前导教材。《汇编语言程序设计:基于ARM体系结构(第2版)》基于ARM体系结构进行汇编语言的教学。全书的内容分成三个部分:第一部分主要介绍汇编语言程序设计的基础知识和ARM系列微处理器,包括第1、2章。第二部分主要介绍基于ARM体系结构的指令系统,汇编程序设计,以及异常中断编程,包括第3、4、5章。第三部分主要是MDK集成开环境的使用和ARM汇编语言程序实验,包括第6、7章。 《汇编语言程序设计:基于ARM体系结构(第2版)》可作为高等院校计算机及相关专业本、专科的汇编语言程序设计课程的教材或参考书,也可供使用汇编语言的工程技术人员参考。
98D 2007 “十一五”高等院校规划教材 汇编语言程序设计 基于ARM体系结构 文全刚编著 址京貌空航无头爹出社 内容简介 随着嵌入式技术的发展越来越需要一套很好的嵌人式系列教材。本书是学习嵌入式技术的人门教材, 是学习嵌入式系统原理与接口技术、嵌入式系统设计与应用等知识的前导教材。 本书基于ARM体系结构进行汇编语言的教学。全书的内容分成三个部分:第一部分主要介绍汇编语言 程序设计的基础知识和ARM系列微处理器,包括第1、2章;第二部分主要介绍基于ARM体系结构的指令 系统,汇编程序设计,以及异常中断编程,包括第3、4、5章;第三部分主要是ADS集成开发环境的使用和 ARM汇编语言程序实验,包括第6、7章。书中含光盘1张,内含相关章节程序源代码及其他相关资料。 本书可作为高等院校计算机及相关专业本科生和专科生的汇编语言程序设计课程的教材或参考书,也 可供使用汇编语言的工程技术人员参考。 图书在版编目《CIP数据 汇编语言程序设计:基于ARM体系结构/文全刚编著 北京:北京航空航天大学出版杜,2007.3 ISBN978-7-81077-979-1 I.汇…Ⅱ.文…Ⅲ.①汇编语言一程序设计一高等学 校一教材②微处理器,ARM一高等学校一教材.TP313 中国版本图书馆CTP数据核字(2007)第020427号 2006,北京航空航天大学出版社,版权所有。 未经本书出版者书面许可,任何单位和个人不得以任何形式或手段复制或传播本书及其所附 光盘内容。 侵权必究。 汇编语言程序设计—基于ARM体系结构 文全刚编著 责任编辑张学静 北京航空航天大学出版社出版发行 北京市海淀区学院路37号(100083)发行部电话:010-82317024传真:010-82328026 http://www.buaapress.comcnE-mail:bhpress@263.net 涿州市新华印刷有限公司印装各地书店经销 开本:787×9601/16印张:23.5字数:526千字 2007年3月第1版2007年3月第1次印刷印数:5000册 IsBN978-7-81077-979-1定价:35.00元(含光盘) 前言 使用单片机、FPGA/CPLD、DSP、ARM等实现的产品都可以称之为嵌人式产品, 嵌入式产品的开发不仅需要嵌入式知识还需要行业背景知识。嵌入式知识的学习范围 很广,不仅要学习软件知识还要学习硬件知识。因此,建议学习者首先选择一个主流芯 片,以点带面、循序渐进地进行学习。目前,以ARM为核心的嵌入式技术逐渐成为我 国嵌入式教学的主流,大多数嵌人式软件是使用C语言和汇编语言开发的 在我们编写的嵌入式系列教材中,《汇编语言程序设计》是学习嵌入式技术的入门 教材,利用汇编语言可以设计出效率极高的核心底层程序,如设备驱动程序。汇编语言 程序能够直接有效地利用机器硬件资源,因此用汇编语言编写的程序一般比用高级语 言编写的程序执行得快,且所占内存较少。在一些实时控制系统中,这点更是不可缺少 和代替。同时,学习汇编语言对于理解和掌握计算机硬件组成及工作原理是十分重要 的,也是进行计算机应用系统设计的先决条件。 本书的具体章节安排如下: 第一章基础知识。绍常用的数制及各种数制之间的转换、数据编码、基本逻辑 运算。 第二章ARM微处理器基础。介绍ARM微处理器的基本知识,ARM技术的发展 过程、基于ARM核的硬件结构、ARM内核的基本知识和存储器的基本知识。 第三章ARM指令系统。介绍机器指令的基础知识、ARM指令集、 Thumb指令 集,以及各类指令对应的寻址方式。 第四章ARM汇编语言程序设计。介绍汇编语言程序的基本格式和汇编程序设计 所需要的一些伪操作、汇编语言程序的上杋过程、汇编语言程序的基本结构、工作模式 的切换和工作状态的转换编程,以及汇编语言程序和C语言程序的交互。 第五章异常中断编程。介绍ARM中异常和中断的基本概念、复位处理程序、SWI 异常中断处理程序、FIQ和IRQ异常中断处理程序的编写 第六章ADS集成开发环境的使用。介绍ADS集成开发环境的使用,使学习者能 掌握一种嵌入式系统开发工具。 第七章ARM汇编语言程序实验。介绍ARM汇编语言程序设计实验过程,总共 汇编语言程序设计一基于ARM体系结构 分为十个实验,每个实验与具体硬件平台无关,全部可以通过软件模拟来实现。学习者 能掌握ARM汇编语言程序设计的编辑、编译、连接和调试过程。 本书有如下几个特点。 1.本书是学习ARM架构嵌入式知识的入门课程适用于嵌入式方向应用型本、 专科院校、高职高专学校的教学,也适合读者自学。 2.本书编写中融入了作者多年的项目经验,编写时注重实践操作部分,尽量避免 繁琐、高深的理论介绍,使学习者能迅速掌握一个必要的知识子集,学习者上手比较快。 3.硬件平台耦合度低,目前大多数关于嵌入式教学的书籍都和具体的实验箱捆绑 在一起,学习者离开实验箱往往做不了实验,从而失去了学习的积极性。本书95%以 上的程序都可以在ADS开发环境中釆用 ARMulator(软件模拟与仿真)方式对程序进 行调试,避免了初学者对具体硬件电路结构的畏惧感。学习者通过对软件的使用能够 很轻松地切人到这个专业中来,为以后使用硬件平台打下良好的基础。 4.文字表述浅显易懂,结合图表说明,绝大部分知识点采用介绍知识点的原理→ 案例→实验巩固,这样一个模式来学习 5.本书中用到的源程序在光盘中,并配有教学课件。 本书在编写的过程中得到了北京航空航天大学何立民教授、北京航空航天大学出 版社马广云博士的很多帮助和鼓励。陈守孔教授主审了本书,提出许多宝贵意见。我 的同事苗雨、许友军、盛建强、孙奇、尹贺、陈卓、吕喆等也为本书做出了很大贡献,我的 学生张曼舒、郑明灿、潘保成等为书稿的录入、排版、程序的调试做出了大量工作。在此 一并表示诚挚的谢意。本书成书仓促,作者水平有限,错误和不足之处在所难免,谨请 读者和同行专家批评指正,我的邮箱:wenSIr_125@l63.com。 文全刚 2006.11珠海 目录 第1章基础知识 1.1数制与数制转换 ·.·、··。.着申·申「·垂垂音“面由面面量由量翻音量音量番吾晋唐击中吾吾音吾吾「 1.1.1数制的基本概念…… 1.1.2二进制数 1.1.3十进制和二进制之间的转换…… 1.14二进制和其他进制之间的转换 1.2二进制数的基本运算 1.3计算机中的编码 1.3.1数字的编码… 1.3.2字符的编码……… a··aa·..·.·.·····中·· 自由画加垂由量m 3456678 1.3.3汉字的编码……………… 1.3.4统一代码 11 1.3.5语音编码 .3.6差错控制编码… ··b曲 12 1.4计算机中有符号数的表示 18 1.4.1机器数与真值 ·更曹曾鲁曾量量 18 1.4.2原码、反码与补码 由量量面量量量量查量着量昏 …………………19 1.4.3补码的加法运算 ………………………………………………21 1.4.4定点数与浮点数… ………………………………23 1.5基本逻辑运算………………………………………………………………………………24 1.5.1与运算… 南画 24 1.5.2或运算 24 1.5.3非运算……………………………………………………………25 1.5.4异或运算…………………………………………………………………25 习题 ……………………26 心汇编语言程序设计—基于ARM体系结构 第2章ARM微处理器甚础 2.1嵌入式系统概述 ···“··甲中-··.;,庙#当当a·;*··a:a ……27 2.1.1嵌入式系统的基本概念 ········由··曹平曹曹,曹曹晋吾量音音晋面首“自.聊咖道自 27 2.1.2嵌人式系统的发展 29 2.1.3嵌人式系统的组成结构 ·重“·······申··豐·曹···曾·普。鲁·會···聊「·着福-b。“画 31 2.1.4嵌人式处理器 …………………………………………36 2.1.5典型嵌入式处理器介绍 38 2.2ARM概述 ……………………39 2.2.1计算机体系结构的分类 ………………………………:39 2.2.2ARM技术的发展过程 40 2.3ARM内核的特点 44 2.3.1RISC技术 面量 44 2.3.2流水线技术… 45 2.3.3超标量技术 46 2.4基于ARM核的微处理器 46 2.4.1基于ARM核的硬件结构 …46 2.4.2ARM核的数据流模型 …47 2.4.3ARM处理器工作模式和工作状态……………………………………… 48 2.5ARM寄存器…………………………………………………………………49 2.5.1通用寄存器 …“······"中「“‘“““““···“···**·· 50 2.5.2状态寄存器 51 2.5.3 Thumb寄存器 ·看晶是由面当是面“中····兽·晋吾晶音福音画a““事····。a 54 2.6ARM的存储系统简介 55 2.6.1存储器的层次结构…………………………………55 2.6.2数据类型与存储器格式… 57 2.6.3非对齐的存储器访问 59 习题二… 册···申即日喜.看看而吾““;a要甲哺晋垂画画面画 59 第3章ARM指令系统 3.1指令基础… 60 3.1.1程序设计语言的层次结构…… 出量“量 60 3.1.2指令周期和时序… ……………………………………61 3.1.3程序的执行过程…………………………………………………63 ●目录 3.2ARM汇编语言… 自由·自·。自即市申非,暨鲁垂 64 3.2.1指令和指令格式 ·当·面““A““*#·4··“*····“·“甲甲年 64 3.2.2指令的可选后缀 65 3.2.3指令的条件执行 面b.由中······中··,··.,:,t由曲由菲非审兽·事 66 32.4ARM指令分类 68 3.3ARM指令的寻址方式 ,········由··········中·着型曹量普音量面量面面面由着· 68 3.3.1立即数寻址 ············中·.···.甲吾吾;““““‘a:·m 69 3.2寄存器寻址 69 3.3.3寄存器间接寻址 69 3.3.4寄存器移位寻址……………… 鲁看垂垂吾量重曹 70 3.3.5基址变址寻址 70 3.3.6多寄存器寻址… 71 3.3.7相对寻址 71 3.3.8堆栈寻址 “中和·中*·········· 72 3.4数据处理指令… 72 3.4.1数据传送指令 1面“看1“‘“““““···*·········a 74 3.4.2移位操作 ·哥而面福“出百由甲·甲甲中中鲁手中韦击鲁吾量省量幽面面音量画面非a ……………74 3.4.3算术指令………………………………………… 78 3.4.4逻辑运算指令……………………………………………………………82 3.4.5比较指令…… 83 3.4.6乘法指令 85 3.5数据加载与存储指令… 香·晋晋面面曲面量·面自即串申:·..看.币.吾吾断面““·“·;,.,q甲;.dg 88 35.1数据加载与存储指令概述 面非着着善年善得善晋昏音普普音量 88 35.2单寄存器加载与存储指令 91 35.3多寄存器加载与存储指令 中·「·鲁晋晋番量;鲁 审·鲁鲁翻幽自鲁 3.5.4堆栈操作… ……………………………101 35.5交换指令 申申费曹鲁兽普普。晋画 103 3.6分支指令 ………………………………105 3.6.1分支指令B …………………………………105 3.6.2带返回的分支指令BL…………………………“………………106 36.3带状态切换的分支指令BX……… ……………………………107 36.4带返回和状态切换的分支指令BLX …1108 3.7程序状态寄存器访问指令……… ……………109 3.8协处理器指令 ……………………………111 汇编语言程序设计—基于ARM体系结构 3.9软件中断指令 15 3.10ARM伪指令 7 3.11 Thumb指令集… …120 3.11.1概述 120 3.11.2 Thumb指令寄存器的使用 ……122 3.11.3 ARM-Thumb交互 …………123 3,11.4数据处理指令… ………………………………125 3.11.5单寄存器加载和存储指令……………………………………………………127 3.11.6多寄存器加载和存储指令 128 3.11.7堆栈指令……………………………………………………………………129 3.11.8软件中断指令… 兽鲁中吾市音··鲁,吾即自即「申申「·自非丰非鲁由·日申兽「自,··自申非·兽鲁自日兽,兽中鲁 129 3.12 Thumb伪指令…………………………………………………………………130 习题三………………………………………………………………………………131 第4章ARM汇编语盲程序设计 4.1汇编语言程序格式… 133 4.1.1汇编语言的基本概念 133 4.1.2汇编语言源程序的组成 134 4.1.3汇编语言程序中常用的符号… 137 4.1.4汇编语言程序中的表达式和运算符…… 139 4.2ARM汇编器的伪操作 …142 4.2.1符号定义伪操作 143 4.2.2数据定义伪操作 145 4.2.3汇编控制伪操作 149 4.2.4信息报告伪操作 152 4.2.5其他常用的伪操作 “.···:······ 154 4.3汇编语言程序的上机过程 160 4.3.1汇编语言上机环境 160 4.3.2编辑汇编语言源程序 兽··要鲁吾「申厝垂普 ……………161 4.3.3编译连接源程序……164 4.3.4调试汇编程序… ,,…………,!164 4.4汇编语言程序设计… 166 4.4.1程序设计步骤 166 4,4,2简单程序设计… ·鲁晋音鲁晋番量面要音看面·非南非电·非 167

...展开详情
试读 127P 汇编语言程序设计 基于ARM体系结构
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
shushu516 资料不错很实用
2015-06-01
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚积分or赚钱
最新推荐
汇编语言程序设计 基于ARM体系结构 12积分/C币 立即下载
1/127
汇编语言程序设计 基于ARM体系结构第1页
汇编语言程序设计 基于ARM体系结构第2页
汇编语言程序设计 基于ARM体系结构第3页
汇编语言程序设计 基于ARM体系结构第4页
汇编语言程序设计 基于ARM体系结构第5页
汇编语言程序设计 基于ARM体系结构第6页
汇编语言程序设计 基于ARM体系结构第7页
汇编语言程序设计 基于ARM体系结构第8页
汇编语言程序设计 基于ARM体系结构第9页
汇编语言程序设计 基于ARM体系结构第10页
汇编语言程序设计 基于ARM体系结构第11页
汇编语言程序设计 基于ARM体系结构第12页
汇编语言程序设计 基于ARM体系结构第13页
汇编语言程序设计 基于ARM体系结构第14页
汇编语言程序设计 基于ARM体系结构第15页
汇编语言程序设计 基于ARM体系结构第16页
汇编语言程序设计 基于ARM体系结构第17页
汇编语言程序设计 基于ARM体系结构第18页
汇编语言程序设计 基于ARM体系结构第19页
汇编语言程序设计 基于ARM体系结构第20页

试读结束, 可继续阅读

12积分/C币 立即下载 >