ARM處理器 定址方式.

Slides:



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

我的未来不是梦 攀枝花市经贸旅游学校. 1. 文中案例王萍苦恼的原因是 什么? 2. 你有哪些办法可以帮助王萍? 导入 思考  谁来帮帮她?
幼小課程統合與銜接 楊朝祥 中原大學講座教授.
五專醫護類科介紹 樹人醫專 職業教育組 李天豪 組長.
ARM 编程技巧.
機關改制(含員工權益保障)業務簡介 報告人:王奐寅 100年6月24日.
乍看之下,似乎電荷不守恆 由小球流出的電流是流向所有方向的! 獵物內部一定有一條未標示出來與海水絕緣的內部迴路讓電荷再由負極流回正極!
追求阳光心态 做一个心理健康的人 上海市徐汇区精神卫生中心 吴洪明.
企业所得税年度纳税申报表(2014年版) 2015年1月.
NEUSOFT Institute of information Technology .ChengDu
说课课件 感悟工业革命力量,闪耀科技创新光辉 ----《走向整体的世界》教学设计及反思 爱迪生 西门子 卡尔·本茨 诺贝尔 学军中学 颜先辉.
歡迎來到十二星座ㄉ家族.
保良局何壽南小學 學校經驗分享: 學生成長的支援
主講者:林妙容 國立暨南國際大學 輔導與諮商研究所專任助理教授
教师应做学生的心理保健师 (之三) 昆明市心桥心理健康研究所 钱锡安
第四讲 组织结构与人员配置 复旦大学管理学院 芮明杰教授
拉萨属高原温带半干旱季风气候,平均海拔3658米,年日照3000多小时,素有“日光城”、“太阳城”的美誉。年最高气温29℃,最低气温零下16
美国史 美利坚合众国创造了一个人类建国史的奇迹,在短短230年的时间从一个被英帝国奴役的殖民地到成为驾驭全世界的“超级大国”、“世界警察”,美国的探索为人类的发展提供了很宝贵的经验。
2014年度企业所得税业务培训 蚌埠市地方税务局所得税科.
國中小教師甄試相關事宜 心理的準備 甄試日期 甄試方式 甄試內容 正式教師與代課教師差別 相關問題 關起門來說的問題 結語.
校 長 翁世盟 家長會長 蔡宏奕 教師會長 葉蕙境 敬上
課程內容 態度決定高度 履歷及面試重點提要 履歷 面試服裝及注意事項 性向分析 性向分析測驗.
我班最喜愛的零食 黃行杰.
宁波万里国际学校 陈湘龙
定风波.
企业所得税年度纳税申报表(2014年版)培训 国家税务总局公告2014年第63号
第3章 基于ARM的处理器体系结构1 主讲 马洪连.
微机原理与接口技术 第二章 ARM微处理器硬件结构
公主的月亮 最近看了一本友人劉清彥譯的書〔公主的月亮〕,極有趣味。 這個難題由一個生病的小公主提出,她嬌憨的告訴疼她的國王,
公主的月亮 最近看了一本友人劉清彥譯的書〔公主的月亮〕,極有趣味。 這個難題由一個生病的小公主提出,她嬌憨的告訴疼她的國王,
入库验收 讲课人:卢玉娟 《仓储管理》.
為人的藝術 ~善緣貴人多~ 請按左鍵換頁.
為人的藝術 ~善緣貴人多~ 請按左鍵換頁.
足太阳膀胱经.
新疆自治区“十二五”科技发展 规划编制工作
大连理工大学软件学院 软件工程系 赖晓晨 计算机组成与结构 大连理工大学软件学院 软件工程系 赖晓晨
EQ劇場 ~ 李爾王.
ARM及Thumb指令集.
用教学实践解读课程标准.
嵌入式系统讲义 第3章 ARM指令系统 周国运
ARM CPU從高階語言到Machine Code
College of Computer Science & Technology
啟示錄 人 子 七 教 會 寶 座 七 印 七 號 龍 與 獸 七 碗 巴 比 倫 千 禧 年 前 後 新 耶 路 撒 冷 第9章(第5號)
检测技术.
第4章 汇编语言程序设计 汇编语言源程序格式 汇编语言上机过程 汇编语言与C语言混合编程技术.
第四章 Thumb 指令集 4.1 Thumb 指令集概述 4.2 Thumb 指令详细介绍.
嵌入式体系结构与应用 第三章-ARM指令系统(ARMv4T).
教科版初中九年级物理 第五章 欧姆定律 3 等效电路.
第三节 尺寸注法 一、基本规则 (1)尺寸数值为零件的真实大小,与绘图比 例及绘图的准确度无关。 (2)以毫米为单位,如采用其它单位时,则
第五章 C/C++及汇编语言的混合编程 5.1 ARM C/C++编译器 5.2 在C/C++程序中内嵌汇编指令
嵌入式系统教案 武汉创维特信息技术有限公司 2019/1/18.
(第2版).
(第2版).
第2章 ARM体系结构.
ARM及Thumb指令集 (练习).
项目四 直流电阻的星、三角等效变换 一、实验目的 二、实验原理 三、实验仪器设备 四、实验内容及步骤 五、实验注意事项.
第3章 ARM微處理器的指令集.
面試的準備 1.
ARM指令集 Author : Steve Furber Advisor: Mei-Ling Chiang Speaker: 徐翔宇
嵌入式系统教案 武汉创维特信息技术有限公司 2019/4/29.
怎样使用电器正常工作 习题课.
沙田聖本篤堂 家庭牧民小組 簡介. 沙田聖本篤堂 家庭牧民小組 簡介 成立過程: 2000年教區會議期間,甘寶維神父邀請數對活躍於堂區夫婦商討籌辦家庭牧民小組的可行性 2000/01年間舉辦數次「家事談論會」凝聚有意投身服務人士,小組開始成型.
微處理機 Microprocessor (100上)
17 無母數統計檢定  學習目的.
100學年度上學期 月亮班課程規劃.
College of Computer Science & Technology
香港大學教育應用資訊科技發展研究中心 資訊年代青年自學才能拓展計劃 (S計劃)
第3章 目录 1.简介 2.ARM7TDMI 3.ARM7TDMI的模块和内部框图 4.体系结构直接支持的数据类型 5.处理器状态
班級經營--實務:疑難雜症 組員: 周雅文 李桂枝 顏純郁 黃福裕 戴曉真
嵌入式系统教案 武汉创维特信息技术有限公司 2019/10/1.
Presentation transcript:

ARM處理器 定址方式

寄存器定址 直接由暫存器取出值操作 指令中的位址為暫存器編號 例題: MOV R1,R2 ; R2 -> R1 SUB R0,R1,R2 ; R1 - R2 -> R0

立即定址 指令碼是 指令 也是 運算元 取出指令即可做運算 “#”後的值為立即值,16 進制數值時以“0x”表示 例題: SUBS R0,R0,#1 ; R0 – 1 -> R0 MOV R0,#0xff00 ; 0xff00 -> R0

暫存器偏移定址 進行偏移動作 先 偏移 後 作運算 第2 個運算元在與第1 個運算元結合之前 例題: MOV R0,R2,LSL #3 ;

暫存器間接定址 指令中的位址碼為通用暫存器編號 運算元儲存在暫存器指定位址的儲存單元中 例題: LDR R1,[R2] ; 將R2 中的數值作為位址, 取出位址中的資料儲存在R1 中

基址定址 暫存器的內容與指令中給出的偏移量相加 常用於查表,陣列操作,功能指令暫存器存取等 例題: LDR R2,[R3,#0x0F] ; 將R3 中的數值加0x0F 作為位址, 將此位址的數值儲存在R2 中

多暫存器定址 一次可以傳多個暫存器值 順序由小到大的順序排列,連續的暫存器可用“-”連接,否則,用“,”分隔書寫 例題: LDMIA R1!,{R2-R7,R12} ; 將R1 中的資料讀到R2-R7, R12, R1 自動加1

堆疊定址 特定順序進行存取的儲存區 例題: STMFD SP!,{R1-R7,LR} ; 將R1~R7,LR 存入

區塊複製定址 將資料整段複製 記憶體的某一位置複製到另一位置 例題: STMIA R0!,{R1-R7} ;將R1~R7 的資料儲存到記憶體中,記憶體指標在儲存第一 個值之後增加

相對定址 指令中的位址碼欄位作為偏移量 兩者相加後得到的位址即為運算元的有效位址 例題: BL ROUTE1 ; 調整到ROUTE1 副程式 BEQ LOOP ; 條件跳躍到LOOP 旗標處 … LOOP MOV R2,#2 ROUTE1

ARM 指令集

ARM 指令集 指令格式 記憶體存取指令 資料處理指令 跳躍指令

基本格式 第2 個運算元 條件碼

第2 個運算元 指令格式 <opcode>{<cond>}{S}<Rd>,<Rn>

第2 個運算元 靈活的使用第2 個運算元能提高代碼效率 基本運算元 #immed_8r Rm Rm,shift 條件碼

第2 個運算元#immed_8r 常數是由一個8 位的常數 例題: ND R1,R2,#0x0F ; R2 與0x0F作運算,結果儲存在R1

第2 個運算元Rm 算元即為暫存器的數值 例題: SUB R1,R1,R2 ;R1-R2=>R1

第2 個運算元Rm,shift 暫存器的移位結果作為運算元 RM 值不變 ASR #n 算術右移n 位(1≤n≤32) LSL #n 邏輯左移n 位元(1≤n≤31) 例題: ADD R1,R1,R1,LSL #3 ; R1=R1*9

條件碼 相等、不相等(EQ、 NE ) 無符號數大於或等於、無符號數小於(CS/HS 、CC/LO ) 負數、正數或零(MI 、PL ) 溢出、沒有溢出(VS、 VC )

條件碼 無符號數大於、 無符號數小於或等於(HI、LS ) 帶符號數大於或等於、 帶符號數小於(GE、 LT ) 帶符號數大於、 帶符號數小於或等於(GT、 LE ) 無條件執行(AL )

條件碼 例題: CMP R0,R1 ;R0 與R1 比較 ADDHI R0,R0,#1 ;若R0>R1,則R0=R0+1 ADDLS R1,R1,#1 ;若R0<=R1,則R1=R1+1

ARM 記憶體存取指令 LDR LDM SWP

ARM 記憶體存取指令LDR 記憶體中讀取資料放入暫存器 格式: LDR{cond} {T} Rd, <地址> ; 載入指定位址上的資料(字),放入Rd 中 例題: LDR R2,[R5] ; 載入R5 指定位址上的資料(字), 放入R2 中

ARM 記憶體存取指令LDM 為載入多個暫存器 格式: LDM{cond}<模式> Rn{!},reglist{^} 例題: LDMIA R0!,{R3-R9} ; 載入R0 指向位址上的多字資料, 儲存到R3~R9 中,R0 值更新

ARM 記憶體存取指令SWP 將一個記憶體單元(暫存器Rn 中)讀取到一個暫存器Rd 中,同時將另一個暫存器Rm 寫入到該單元中 格式: SWP{cond}{B} Rd,Rm,[Rn] B 參數 ;Rd 從記憶體載入到的暫存 器;Rm 儲存到記憶體中

ARM 記憶體存取指令SWP 例題: SWP R1,R1,[R0] ; 將R1 的內容與R0 指向的儲存單元 的內容進行交換

ARM 資料處理指令 資料傳送指令 算術邏輯運算指令 比較指令 乘法指令

資料傳送指令 MOV、MVN 格式: MOV{cond}{S} Rd,operand2 MVN{cond}{S} Rd,operand2 例題: MOV R0,R1 ;R0=R1 MVN R1,R2 ;將R2 取反,結果存到R1

算術邏輯運算指令 ADD、SUB 、RSB 、AND 、ORR 格式: ADD{cond}{S} Rd,Rn,operand2 ORR{cond}{S} Rd,Rn,operand2 例題: ADD R1,R1,R2 ;R1=R1+R2 EOR R2,R1,R0 ;R2=R1^R0

比較指令 CMP、CMN、TST、TEQ 格式: CMP{cond} Rn,operand2 TST {cond} Rn,operand2 例題: CMP R1,R2 ; R1 與R2 比較,設定相關旗標位元 TST R0,#0x01 ; 判斷R0 的最低位是否為0

乘法指令 MUL 、MLA 格式: MUL{cond}{S} Rd,Rm,Rs MLA{cond}{S} Rd,Rm,Rs,Rn 例題: MUL R1,R2,R3 ;R1=R2×R3 UMLAL R0,R1,R5,R8 ; (R1,R0)=R5×R8+(R1,R0)

跳躍指令 B(跳躍 )、BL(帶鏈結的跳躍 )、BX(分支與轉換的跳躍 ) 格式: B{cond} label 例題: B WAITA ;跳躍到WAITA 標號處 BL DELAY ; 副程式使用 BX R0 ;跳躍到R0,依據R0 的最低位元 來切換處理器狀態