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

Slides:



Advertisements
Similar presentations
台中市牙醫師公會 社會教育委員會 蔡佩音醫師 迎接新口腔時代. 蛀牙 v.s 全身疾病.
Advertisements

翻譯技巧解說 例文 授課教師:何資宜. 一、加譯 「おしん」の視 聴率は、最高の時が 62.9 %に達した。ク ロジロが出てくる 「南極物語」は、配 給収入が 52 億円を超 えて、記録を更新し た。 《阿信》的收視率最 高時曾達 62.9% 。此 外,以兩隻小狗太郎 次郎為主角的《南極 物語》,票房收入也.
從閱讀擺渡到寫作 高雄女中 楊子霈.
品德教育讀書會分組報告 第三組 組員:董健毅老師、黃琡雯老師、方永強老師、 李淑瑜老師、郭德義老師、邱美鈴老師、 陳月鈴老師、曾婷瑜老師
ARM 编程技巧.
企业所得税年度纳税申报表(2014年版) 2015年1月.
NEUSOFT Institute of information Technology .ChengDu
说课课件 感悟工业革命力量,闪耀科技创新光辉 ----《走向整体的世界》教学设计及反思 爱迪生 西门子 卡尔·本茨 诺贝尔 学军中学 颜先辉.
公會組織糾紛 指導老師:柯伶玫 組員 495B0065 劉致維 495B0072 廖怡塵 495B0097 范家皓.
往下扎根 向上生长 ——提高学考选考教学实效的几点感想 桐庐中学 李文娟
美国史 美利坚合众国创造了一个人类建国史的奇迹,在短短230年的时间从一个被英帝国奴役的殖民地到成为驾驭全世界的“超级大国”、“世界警察”,美国的探索为人类的发展提供了很宝贵的经验。
2014年度企业所得税业务培训 蚌埠市地方税务局所得税科.
2012年浙江省高考 历史备考安排和复习建议 嘉兴市秀州中学 高 良 平
宁波万里国际学校 陈湘龙
微型计算机技术 教 学 指 导(七) 太原广播电视大学 郭建勇.
如何查財產(2/6) EX:利息明細提醒您於金融機構有存款;營利(股利)明細提醒您有買股票。
企业所得税年度纳税申报表(2014年版)培训 国家税务总局公告2014年第63号
第3章 基于ARM的处理器体系结构1 主讲 马洪连.
微机原理与接口技术 第二章 ARM微处理器硬件结构
運用網路資源趣味化 「每日飲食指南份量」教學
足太阳膀胱经.
大连理工大学软件学院 软件工程系 赖晓晨 计算机组成与结构 大连理工大学软件学院 软件工程系 赖晓晨
能量買賣訊號 ◎波段賣訊:下列四項出現三項以上(含三項) 1、空方能量升至整波上漲之最高水準,且空方能量>多方 能量30%以上。
ARM及Thumb指令集.
教育人員退休新法說明會 106年12月14日 ★資料來源:參考銓敘部及高雄市教育局人事室簡報檔.
國文(一) 1.第一單元---青春印記 (學習篇、愛情篇) 2.第二單元---生活美學 3.第三單元---優遊家園.
4.1 汇编语言 4.2 顺序结构程序 4.3 分支程序设计 4.4 循环程序设计 4.5 子程序设计
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
第7章 并行接口 7.1 简单并行接口 7.2 可编程并行接口8255A 7.3 键盘接口 7.4 LED显示器接口.
嵌入式系统讲义 第3章 ARM指令系统 周国运
指令集架構 計算機也跟人類一樣,需要提供一套完整的語言讓人們跟它充分溝通,以完成正確的計算工作。
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月05日.
ARM CPU從高階語言到Machine Code
College of Computer Science & Technology
第四章 BootLoader开发 附-s3c2410/s3c2440中断控制器介绍
第4章 汇编语言程序设计 汇编语言源程序格式 汇编语言上机过程 汇编语言与C语言混合编程技术.
第一章 8086程序设计 第二章 MCS-51程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
汇编语言程序设计课程设计 第二次实验 DEBUG基本命令与算术运算指令
第四章 Thumb 指令集 4.1 Thumb 指令集概述 4.2 Thumb 指令详细介绍.
嵌入式体系结构与应用 第三章-ARM指令系统(ARMv4T).
教科版初中九年级物理 第五章 欧姆定律 3 等效电路.
第二章 模拟量输出通道 本章要点 1.模拟量输出通道的结构组成与模板通用性; 2.8位D/A转换器DAC0832的原理组成及其接口电路
ARM處理器 定址方式.
主日信息: 講題:腳步 經文:箴言16:1~9 大綱: 壹、人的心 貳、人的謀算 參、交託耶和華 肆、耶和華的指引 金句:箴16:9
第五章 C/C++及汇编语言的混合编程 5.1 ARM C/C++编译器 5.2 在C/C++程序中内嵌汇编指令
(第2版).
條件處理.
(第2版).
第六次全国人口普查 近期数据处理工作部署 夏雨春 2010年12月28日.
第2章 ARM体系结构.
第10章 可编程外围接口芯片8255A及其应用 10.1 概述 A的工作原理 A的应用举例.
习题3 1、 分别说明下列指令的原操作数和目的操作数各采用什么寻址方式。 设定如下: ①立即寻址 ② ① ②寄存器寻址
ARM及Thumb指令集 (练习).
项目四 直流电阻的星、三角等效变换 一、实验目的 二、实验原理 三、实验仪器设备 四、实验内容及步骤 五、实验注意事项.
第3章 ARM微處理器的指令集.
第九章 BIOS和DOS中断 在存储器系统中,从地址0FE000H开始的8K ROM(只读存储器)中装有BIOS(Basic Iuput /output System)例行程序。驻留在ROM中的BIOS给PC系列的不同微处理器提供了兼容的系统加电自检,引导装入,主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。使用BIOS功能调用,给程序员编程带来很大方便,程序员不必了解硬件操作的具体细节,直接用指令设置参数,然后中断调用BIOS中的子功能,所以利用BIOS功能编写的程序简洁,可读性好,
ARM指令集 Author : Steve Furber Advisor: Mei-Ling Chiang Speaker: 徐翔宇
嵌入式系统教案 武汉创维特信息技术有限公司 2019/4/29.
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月17日.
复杂电路简化的原则和方法.
ARM简介及BootLoader介绍 黄大荣
勞工保險年金制度 簡報人:吳宏翔.
微處理機 Microprocessor (100上) ARM 內核嵌入式SOC原理
法律的解釋 楊智傑.
第3章 目录 1.简介 2.ARM7TDMI 3.ARM7TDMI的模块和内部框图 4.体系结构直接支持的数据类型 5.处理器状态
第三章 8086的指令系统 8086指令特点 8086的寻址方式 8086的指令格式及数据类型 8086的指令集.
嵌入式系统教案 武汉创维特信息技术有限公司 2019/10/1.
臺中市政府警察局 烏日分局 主講人:副分局長 蔡期望 時 間:105年9月10日.
Presentation transcript:

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

提綱 第三章 ARM指令分類及定址方式 1 ARM 微處理器指令的分類 2 ARM 微處理器指令的條件域 3 ARM 微處理器指令的定址方式

ARM微處理器的指令系統 ARM微處理器指令的分類 跳躍指令 資料處理指令 程式狀態暫存器(PSR)處理指令 載入/儲存指令 輔助運算器指令和異常産生指令

ARM微處理器指令表-1 ARM微處理器指令的分類 助記符 指令功能描述 ADC 帶進位加法指令 ADD 加法指令 AND 邏輯與指令 B 跳躍指令(JMP) BIC 位清零指令 BL 呼叫副程式(CALL)指令 BLX 呼叫副程式和狀態切換的跳躍指令 BX 帶狀態切換的跳躍指令

ARM微處理器指令表-2 ARM微處理器指令的分類 助記符號 指令功能描述 CDP 輔助運算器資料操作指令 CMN 比較反值指令 CMP 比較指令 EOR XOR指令 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中條件碼的狀態和指令的條件欄位,作有條件的執行。當指令的執行條件滿足時,指令被執行,否則指令被忽略。 Ex. ADDNE R0,R0,R1 每一條ARM指令包含4位元的條件碼,位於指令的最高4位元[31:28]。條件碼共有16種,每種條件碼可用兩個字元表示,這兩個字元可以附加在指令助記符號的後面和指令同時使用。例如,跳躍指令B可以加上尾碼EQ變爲BEQ表示“相等則跳躍”,即當CPSR中的Z標誌置位元時發生跳躍 Ex. BEQ JP_Lable

指令的條件欄位表-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 無符號數小於或等於 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)和遞減堆疊(Descending Stack),當堆疊由低位址向高位址生成時,稱爲遞增堆疊,當堆疊由高位址向低位址成長時,稱爲遞減堆疊。這樣就有四種類型的堆疊工作方式滿遞增堆疊:堆疊指標指向最後壓入的数值,且由低位址向高位址成長。 滿遞減堆疊:堆疊指標指向最後壓入的資料,且由高位址向低位址成長。 空遞增堆疊:堆疊指標指向下一個將要放入資料的空位置,且由低位址向高地址成長。 空遞減堆疊:堆疊指標指向下一個將要放入資料的空位置,且由高位址向低地址成長成

多暫存器用法 LDMIA R0!,{R3-R9} ;Inc. After STMIB R0!,{R0-R3, R7} ; Inc. Before LDADA STMDB LDMFD = DB STMED = DA LDMFA = IB LDMEA = IA Ex. 記憶體內容搬移 LDR R0,=SrcData LDR R1,=DstData LDMIA R0!,{R2-R9} STMIA R1!,{R2-R9} Ex. 暫存器儲存 STMED SP!,{R0-R4,LR} … LDMFD SP!,{R0-R4,PC}