嵌入式系统教案 武汉创维特信息技术有限公司 2019/10/1.

Slides:



Advertisements
Similar presentations
請按左鍵換頁 為人的藝術 ~善緣貴人多~ 廣結善緣 1. 有什麼觀念,就有什麼行為; 有什麼行為,就有什麼習慣; 有什麼習慣,就有什麼性格; 有什麼性格,就有什麼命運。 2. 對長輩謙虛是本分,對平輩謙虛是修養, 對 晚輩謙虛是高貴,對所有人謙虛是安全。 3. 廣結善緣,圓融的人際關係( EQ ):
Advertisements

台中市牙醫師公會 社會教育委員會 蔡佩音醫師 迎接新口腔時代. 蛀牙 v.s 全身疾病.
美 丽的轴对称图形 教学内容 教学目标 教学重点、难点 教法、学法 教学过程 教材从具体到抽象,从感性到理性,从实 践到理论,再用实践检验理论,层次分明,循序 渐进的指导学生认识自然界和日常生活中具有轴 对称性质的事物,使学生进一步认识前面所学的 平面图形的本质特征。 教 学 内 容教 学 内.
我的未来不是梦 攀枝花市经贸旅游学校. 1. 文中案例王萍苦恼的原因是 什么? 2. 你有哪些办法可以帮助王萍? 导入 思考  谁来帮帮她?
河南中考电学考题汇总 涉村三中 翟新伟.
幼小課程統合與銜接 楊朝祥 中原大學講座教授.
ARM 编程技巧.
機關改制(含員工權益保障)業務簡介 報告人:王奐寅 100年6月24日.
追求阳光心态 做一个心理健康的人 上海市徐汇区精神卫生中心 吴洪明.
企业所得税年度纳税申报表(2014年版) 2015年1月.
NEUSOFT Institute of information Technology .ChengDu
说课课件 感悟工业革命力量,闪耀科技创新光辉 ----《走向整体的世界》教学设计及反思 爱迪生 西门子 卡尔·本茨 诺贝尔 学军中学 颜先辉.
歡迎來到十二星座ㄉ家族.
保良局何壽南小學 學校經驗分享: 學生成長的支援
主講者:林妙容 國立暨南國際大學 輔導與諮商研究所專任助理教授
教师应做学生的心理保健师 (之三) 昆明市心桥心理健康研究所 钱锡安
美国史 美利坚合众国创造了一个人类建国史的奇迹,在短短230年的时间从一个被英帝国奴役的殖民地到成为驾驭全世界的“超级大国”、“世界警察”,美国的探索为人类的发展提供了很宝贵的经验。
2014年度企业所得税业务培训 蚌埠市地方税务局所得税科.
國中小教師甄試相關事宜 心理的準備 甄試日期 甄試方式 甄試內容 正式教師與代課教師差別 相關問題 關起門來說的問題 結語.
校 長 翁世盟 家長會長 蔡宏奕 教師會長 葉蕙境 敬上
課程內容 態度決定高度 履歷及面試重點提要 履歷 面試服裝及注意事項 性向分析 性向分析測驗.
宁波万里国际学校 陈湘龙
总 复 习 班 级:测控技术与仪器2011-1、2班 授 课:滕召胜.
企业所得税年度纳税申报表(2014年版)培训 国家税务总局公告2014年第63号
第3章 基于ARM的处理器体系结构1 主讲 马洪连.
微机原理与接口技术 第二章 ARM微处理器硬件结构
公主的月亮 最近看了一本友人劉清彥譯的書〔公主的月亮〕,極有趣味。 這個難題由一個生病的小公主提出,她嬌憨的告訴疼她的國王,
公主的月亮 最近看了一本友人劉清彥譯的書〔公主的月亮〕,極有趣味。 這個難題由一個生病的小公主提出,她嬌憨的告訴疼她的國王,
入库验收 讲课人:卢玉娟 《仓储管理》.
為人的藝術 ~善緣貴人多~ 請按左鍵換頁.
為人的藝術 ~善緣貴人多~ 請按左鍵換頁.
足太阳膀胱经.
互 联 网 对 减 速 机 技 术 及 市 场 发 展 的 影 响 乔 华 山.
大连理工大学软件学院 软件工程系 赖晓晨 计算机组成与结构 大连理工大学软件学院 软件工程系 赖晓晨
EQ劇場 ~ 李爾王.
ARM及Thumb指令集.
用教学实践解读课程标准.
嵌入式系统讲义 第3章 ARM指令系统 周国运
ARM CPU從高階語言到Machine Code
College of Computer Science & Technology
第4章 汇编语言程序设计 汇编语言源程序格式 汇编语言上机过程 汇编语言与C语言混合编程技术.
汇编语言程序设计课程设计 第二次实验 DEBUG基本命令与算术运算指令
第四章 Thumb 指令集 4.1 Thumb 指令集概述 4.2 Thumb 指令详细介绍.
嵌入式体系结构与应用 第三章-ARM指令系统(ARMv4T).
第三节 尺寸注法 一、基本规则 (1)尺寸数值为零件的真实大小,与绘图比 例及绘图的准确度无关。 (2)以毫米为单位,如采用其它单位时,则
ARM處理器 定址方式.
第五章 C/C++及汇编语言的混合编程 5.1 ARM C/C++编译器 5.2 在C/C++程序中内嵌汇编指令
嵌入式系统教案 武汉创维特信息技术有限公司 2019/1/18.
(第2版).
條件處理.
(第2版).
第六次全国人口普查 近期数据处理工作部署 夏雨春 2010年12月28日.
第2章 ARM体系结构.
ARM及Thumb指令集 (练习).
项目四 直流电阻的星、三角等效变换 一、实验目的 二、实验原理 三、实验仪器设备 四、实验内容及步骤 五、实验注意事项.
第3章 ARM微處理器的指令集.
面試的準備 1.
ARM指令集 Author : Steve Furber Advisor: Mei-Ling Chiang Speaker: 徐翔宇
嵌入式系统教案 武汉创维特信息技术有限公司 2019/4/29.
沙田聖本篤堂 家庭牧民小組 簡介. 沙田聖本篤堂 家庭牧民小組 簡介 成立過程: 2000年教區會議期間,甘寶維神父邀請數對活躍於堂區夫婦商討籌辦家庭牧民小組的可行性 2000/01年間舉辦數次「家事談論會」凝聚有意投身服務人士,小組開始成型.
教科版六年级下册第一单元第4课 怎样放得更大 莲都区天宁小学 陈建秋.
微處理機 Microprocessor (100上)
复杂电路简化的原则和方法.
100學年度上學期 月亮班課程規劃.
香港大學教育應用資訊科技發展研究中心 資訊年代青年自學才能拓展計劃 (S計劃)
ARM简介及BootLoader介绍 黄大荣
微處理機 Microprocessor (100上) ARM 內核嵌入式SOC原理
第3章 目录 1.简介 2.ARM7TDMI 3.ARM7TDMI的模块和内部框图 4.体系结构直接支持的数据类型 5.处理器状态
班級經營--實務:疑難雜症 組員: 周雅文 李桂枝 顏純郁 黃福裕 戴曉真
臺中市政府警察局 烏日分局 主講人:副分局長 蔡期望 時 間:105年9月10日.
Presentation transcript:

嵌入式系统教案 武汉创维特信息技术有限公司 2019/10/1

提纲 第三章 ARM指令分类及寻址方式 1 ARM 微处理器指令的分类 2 ARM 微处理器指令的条件域 3 ARM 微处理器指令的寻址方式

ARM微处理器的指令系统 ARM微处理器指令的分类 跳转指令 数据处理指令 程序状态寄存器(PSR)处理指令 加载/存储指令 协处理器指令和异常产生指令

ARM微处理器指令表-1 ARM微处理器指令的分类 助记符 指令功能描述 ADC 带进位加法指令 ADD 加法指令 AND 逻辑与指令 B 跳转指令 BIC 位清零指令 BL 带返回的跳转指令 BLX 带返回和状态切换的跳转指令 BX 带状态切换的跳转指令

ARM微处理器指令表-2 ARM微处理器指令的分类 助记符 指令功能描述 CDP 协处理器数据操作指令 CMN 比较反值指令 CMP 比较指令 EOR 异或指令 LDC 存储器到协处理器的数据传输指令 LDM 加载多个寄存器指令 LDR 存储器到寄存器的数据传输指令 MCR ARM寄存器到协处理器寄存器数据传输

ARM微处理器指令表-3 ARM微处理器指令的分类 助记符 指令功能描述 MLA 乘加运算指令 MOV 数据传送指令 MRC MRS 传送CPSR或SPSR的内容到通用寄存器 MSR 传送通用寄存器到CPSR或SPSR的指令 MUL 32位乘法指令 32位乘加指令 MVN 数据取反传送指令

ARM微处理器指令表-4 ARM微处理器指令的分类 助记符 指令功能描述 ORR 逻辑或指令 RSB 逆向减法指令 RSC 带借位的逆向减法指令 SBC 带借位减法指令 STC 协处理器寄存器写入存储器指令 STM 批量内存字写入指令 STR 寄存器到存储器的数据传输指令 SUB 减法指令

ARM微处理器指令表-5 ARM微处理器指令的分类 助记符 指令功能描述 SWI 软件中断指令 SWP 交换指令 TEQ 相等测试指令 TST 位测试指令

ARM微处理器指令的条件域 指令的条件域 当处理器工作在ARM状态时,几乎所有的指令均根据CPSR中条件码的状态和指令的条件域有条件的执行。当指令的执行条件满足时,指令被执行,否则指令被忽略。 每一条ARM指令包含4位的条件码,位于指令的最高4位[31:28]。条件码共有16种,每种条件码可用两个字符表示,这两个字符可以添加在指令助记符的后面和指令同时使用。例如,跳转指令B可以加上后缀EQ变为BEQ表示“相等则跳转”,即当CPSR中的Z标志置位时发生跳转。

指令的条件域表-1 ARM微处理器指令的条件域 条件码 后缀 标 志 含 义 0000 EQ Z置位 相等 0001 NE Z清零 不相等 0010 CS C置位 无符号数大于或等于 0011 CC C清零 无符号数小于 0100 MI N置位 负数 0101 PL N清零 正数或零 0110 VS V置位 溢出 0111 VC V清零 未溢出

指令的条件域表-2 ARM微处理器指令的条件域 条件码 后缀 标 志 含 义 1001 LS C清零Z置位 无符号数小于或等于 1010 GE N等于V 带符号数大于或等于 1011 LT N不等于V 带符号数小于 1100 GT Z清零且(N等于V) 带符号数大于 1101 LE Z置位或(N不等于V) 带符号数小于或等于 1110 AL 忽略 无条件执行

ARM指令的寻址方式 ARM微处理器指令的寻址方式 ARM指令系统支持如下几种常见的寻址方式: 立即寻址 寄存器寻址 寄存器间接寻址 基址变址寻址 多寄存器寻址 相对寻址 堆栈寻址

ARM微处理器指令的寻址方式 立即寻址 立即寻址也叫立即数寻址,这是一种特殊的寻址方式,操作数本身就在指令中给出,只要取出指令也就取到了操作数。这个操作数被称为立即数,对应的寻址方式也就叫做立即寻址。例如以下指令: ADD R0,R0,#1 /*R0←R0+1*/ ADD R0,R0,#0x3f /*R0←R0+0x3f*/ 在以上两条指令中,第二个源操作数即为立即数,要求以“#”为前缀,对于以十六进制表示的立即数,还要求在“#”后加上“0x”。

ARM微处理器指令的寻址方式 寄存器寻址 寄存器寻址就是利用寄存器中的数值作为操作数,这种寻址方式是各类微处理器经常采用的一种方式,也是一种执行效率较高的寻址方式。以下指令: ADD R0,R1,R2 /*R0←R1+R2*/ 该指令的执行效果是将寄存器R1和R2的内容相加,其结果存放在寄存器R0中。

寄存器间接寻址 ARM微处理器指令的寻址方式 寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数本身存放在存储器中。例如以下指令: ADD R0,R1,[R2] /*R0←R1+[R2]*/ LDR R0,[R1] /*R0←[R1]*/ STR R0,[R1] /*[R1]←R0*/ 在第一条指令中,以寄存器R2的值作为操作数的地址,在存储器中取得一个操作数后与R1相加,结果存入寄存器R0中; 第二条指令将以R1的值为地址的存储器中的数据传送到R0中。 第三条指令将R0的值传送到以R1的值为地址的存储器中。

基址变址寻址 ARM微处理器指令的寻址方式 基址变址寻址就是将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。变址寻址方式常用于访问某基地址附近的地址单元。采用变址寻址方式的指令常见有以下几种形式,如下所示: LDR R0,[R1,#4] ;R0←[R1+4] LDR R0,[R1,#4]! ;R0←[R1+4]、R1←R1+4 LDR R0,[R1] ,#4 ;R0←[R1]、R1←R1+4 LDR R0,[R1,R2] ;R0←[R1+R2] 在第一条指令中,将寄存器R1的内容加上4形成操作数的有效地址,从而取得操作数存入寄存器R0中。 在第二条指令中,将寄存器R1的内容加上4形成操作数的有效地址,从而取得操作数存入寄存器R0中,然后,R1的内容自增4个字节。 在第三条指令中,以寄存器R1的内容作为操作数的有效地址,从而取得操作数存入寄存器R0中,然后,R1的内容自增4个字节。 在第四条指令中,将寄存器R1的内容加上寄存器R2的内容形成操作数的有效地址,从而取得操作数存入寄存器R0中。

多寄存器寻址 ARM微处理器指令的寻址方式 采用多寄存器寻址方式,一条指令可以完成多个寄存器值的传送。这种寻址方式可以用一条指令完成传送最多16个通用寄存器的值。以下指令: LDMIA R0,{R1,R2,R3,R4} ;R1←[R0] ;R2←[R0+4] ;R3←[R0+8] ;R4←[R0+12] 该指令的后缀IA表示在每次执行完加载/存储操作后,R0按字长度增加,因此,指令可将连续存储单元的值传送到R1~R4。

ARM微处理器指令的寻址方式 相对寻址 与基址变址寻址方式相类似,相对寻址以程序计数器PC的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址。以下程序段完成子程序的调用和返回,跳转指令BL采用了相对寻址方式: BL NEXT ;跳转到子程序NEXT处执行 …… NEXT MOV PC,LR ;从子程序返回

ARM微处理器指令的寻址方式 堆栈寻址 堆栈是一种数据结构,按先进后出(First In Last Out,FILO)的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。 当堆栈指针指向最后压入堆栈的数据时,称为满堆栈(Full Stack),而当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈(Empty Stack)。

ARM微处理器指令的寻址方式 堆栈寻址 根据堆栈的生成方式,又可以分为递增堆栈(Ascending Stack)和递减堆栈(Decending Stack),当堆栈由低地址向高地址生成时,称为递增堆栈,当堆栈由高地址向低地址生成时,称为递减堆栈。这样就有四种类型的堆栈工作方式 满递增堆栈:堆栈指针指向最后压入的数据,且由低地址向高地址生成。 满递减堆栈:堆栈指针指向最后压入的数据,且由高地址向低地址生成。 空递增堆栈:堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生成。 空递减堆栈:堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生成