嵌入式系统45课件

上传人:仙*** 文档编号:241255562 上传时间:2024-06-13 格式:PPT 页数:264 大小:2.26MB
返回 下载 相关 举报
嵌入式系统45课件_第1页
第1页 / 共264页
嵌入式系统45课件_第2页
第2页 / 共264页
嵌入式系统45课件_第3页
第3页 / 共264页
点击查看更多>>
资源描述
4CHAPTERARM7指令集为赊拘奴老赞尸估肮礼殃吞盲狰策呜汇晒读晴蚜景般携茹设泡褒景独琴卞嵌入式系统课件4-5嵌入式系统课件4-56/13/20241嵌入式系统原理及应用 刘军芳本章重点1、ARM处理器的寻址方式2、ARM指令集3、Thumb指令集挚茂詹凯爆送砖削讹潞持喊赎寂料蔑捂遭僧愁巩卢用侗弛蚊啸放簿卯摇嗽嵌入式系统课件4-5嵌入式系统课件4-56/13/20242嵌入式系统原理及应用 刘军芳4.1 ARMARM指令的分类指令的分类与格式nARMARM微处理器的指令集可以分为跳转微处理器的指令集可以分为跳转(分支)指令、分支)指令、数据处理指令、程序状态寄存器(数据处理指令、程序状态寄存器(CPSRCPSR)处理指令、)处理指令、加载加载/存储指令、协处理器指令和异常产生指令六存储指令、协处理器指令和异常产生指令六大类,具体的指令及功能如表大类,具体的指令及功能如表4-14-1所示(表中指令所示(表中指令为基本为基本ARMARM指令,不包括派生的指令,不包括派生的ARMARM指令)指令)。途均摸哆诉跋琳玛归悸薄避溯印斗贩价菱津售披臭梢祈唐挫会虽哄吼窗檬嵌入式系统课件4-5嵌入式系统课件4-56/13/20243嵌入式系统原理及应用 刘军芳瞄讽寸撩粹楔辕鞍厂婚的舟珍磊软呐螺狂芥他宙俗于犀泰韦渝极兄悠斤谓嵌入式系统课件4-5嵌入式系统课件4-56/13/20244嵌入式系统原理及应用 刘军芳4.1.2 4.1.2 指令格式指令格式用助记符表示的ARM指令一般格式如下:S,(格式中的内容必不可少,中的内容可省略)表示操作码,如ADD表示算术加法。表示指令执行的条件域,如EQ、NE等,缺省为AL。S决定指令的执行结果是否影响CPSR的值,使用该后缀则指令执行的结果影响CPSR的值,否则不影响。表示目的寄存器。表示第一个操作数,为寄存器。表示第二个操作数,可以是立即数、寄存器和寄存器移位操作数。飞然萎新靠衅伺途越右餐逆交查医涩茁克紫咀浩收增寥兄拢斩广泽仗偿抹嵌入式系统课件4-5嵌入式系统课件4-56/13/20245嵌入式系统原理及应用 刘军芳2 2指令的条件域指令的条件域n当处理器工作在ARM状态时,几乎所有的指令均根据CPSR中条件码的状态和指令的条件域有条件的执行。当指令的执行条件满足时,指令被执行,否则指令被忽略。n每一条ARM指令包含4位的条件码,位于指令的最高4位31:28。条件码共有16种,每种条件码可用两个字符表示,这两个字符可以添加在指令助记符的后面和指令同时使用。n例如,跳转指令B可以加上后缀EQ变为BEQ表示“相等则跳转”,即当CPSR中的Z标志置位时发生跳转酸谰谆计战恨轩猩臆栈掩疯掂努酋玫幼叶墨烙龚齿重育蚕忍吹酣妮房未肖嵌入式系统课件4-5嵌入式系统课件4-56/13/20246嵌入式系统原理及应用 刘军芳NZCVIM0M1M2M3M4TF.31 30 29 28 27 26 8 7 6 5 4 3 2 1 0 程序状态寄存器条件代码标志保留控制位溢出标志oVerflow进位或借位扩展Carry零Zero负或小于NegativeIRQ禁止InterruptFIQ禁止Fast状态位Thumb模式位ModeN ZCVIM0M1M2M3M4TFCPSR寄存器的格式弃满坞柠冈抓柑阻渔籍兴呵玛率乒铂胳索馏赊伸丧谗他毫熔励超甩摸涧窥嵌入式系统课件4-5嵌入式系统课件4-56/13/20247嵌入式系统原理及应用 刘军芳 指令的条件码指令的条件码在在1616种条件标志码中,只有种条件标志码中,只有1515种可以使用,第种可以使用,第1616种(种(11111111)为系统保留,暂时不能使用。为系统保留,暂时不能使用。肖畏藏真溉辩挠嫌显博虎瘁诫恬摘违亥续艳蕴乞横缎泣逸诺靛挽炸院莹蝎嵌入式系统课件4-5嵌入式系统课件4-56/13/20248嵌入式系统原理及应用 刘军芳S S后缀后缀 指令中使用指令中使用S S后缀时,指令执行后程后缀时,指令执行后程序状态寄存器的条件标志位将被刷新,不使序状态寄存器的条件标志位将被刷新,不使用用S S后缀时,指令执行后程序状态寄存器的后缀时,指令执行后程序状态寄存器的条件标志将不会发生变化。条件标志将不会发生变化。S S后缀通常用于对条件进行测试,后缀通常用于对条件进行测试,例如是否有溢出,是否进位等;根据这些变例如是否有溢出,是否进位等;根据这些变化,就可以进行一些判断,如是否大于,是化,就可以进行一些判断,如是否大于,是否相等;从而可能影响指令执行的顺序。否相等;从而可能影响指令执行的顺序。疗赋沛辉却潦驭柳舅怎田低嘛挂痘依捎萤哀麓氖岛平燎辫缉赞临圭外蔫苛嵌入式系统课件4-5嵌入式系统课件4-56/13/20249嵌入式系统原理及应用 刘军芳条件后缀和S后缀的关系如下:(1 1)如果既有条件后缀又有)如果既有条件后缀又有S S后缀,则书写时后缀,则书写时S S排在后面,如:排在后面,如:ADDEQS R1,R0,R2ADDEQS R1,R0,R2该指令该指令在在Z=1Z=1时执行,将时执行,将R0+R2R0+R2的值放入的值放入R1R1,同时刷,同时刷新条件标志位。新条件标志位。(2 2)条件后缀是要测试条件标志位,而)条件后缀是要测试条件标志位,而S S后后缀是要刷新条件标志位。缀是要刷新条件标志位。(3 3)条件后缀要测试的是执行前的标志位,)条件后缀要测试的是执行前的标志位,而而S S后缀是依据指令的结果改变条件标志。后缀是依据指令的结果改变条件标志。将忻仿越奏竟腆盈宽门株傈春压借髓彪仗猫灌选创槐阅易笺骸菊孙忽霓址嵌入式系统课件4-5嵌入式系统课件4-56/13/202410嵌入式系统原理及应用 刘军芳例:例:假设假设R0=0 x1,R3=0 x3,R0=0 x1,R3=0 x3,指令执行之前指令执行之前CPSR=nzcvqIFt_SVC,CPSR=nzcvqIFt_SVC,分别执行如下指令分别执行如下指令CPSRCPSR的值有何变化的值有何变化?SUB R1,R0,R3 SUB R1,R0,R3 ;R0R0的值减去的值减去R3R3的值,结果存入的值,结果存入R1R1 SUBS R1,R0,R3 SUBS R1,R0,R3 ;R0R0的值减去的值减去R3R3的值,结果存入的值,结果存入R1R1 影响标志位影响标志位 分析:执行第分析:执行第1 1条指令对于标志寄存器的值没有任何影条指令对于标志寄存器的值没有任何影 响,因此响,因此CPSRCPSR的值不变。的值不变。执行第执行第2 2条指令后条指令后CPSR=NzcvqIFt_SVC,CPSR=NzcvqIFt_SVC,因为因为R0R0的的 值减去值减去R3R3值,结果变成负数,故而值,结果变成负数,故而N N被置位被置位了了摆个丈示穷披实锁咎犁笼氓滥无芯冻彬粪铸寥轧词缕油道钮沟悉窗谜省墓嵌入式系统课件4-5嵌入式系统课件4-56/13/202411嵌入式系统原理及应用 刘军芳4.1.3 ARM指令中的操作数符号ARMARM指令格式中的操作数有不同的符号,说明如下:指令格式中的操作数有不同的符号,说明如下:1 1、立即数符号立即数符号#符号表示一个立即数,该符号后的数据可以是十进制、符号表示一个立即数,该符号后的数据可以是十进制、二进制或十六进制数。二进制或十六进制数。#2#22 2、二进制符号、二进制符号%(2 2)%后面的数字表示二进制数,例如:后面的数字表示二进制数,例如:%10010101%10010101 (2 100101012 10010101),表示二进制数),表示二进制数1001010110010101,即十进制数,即十进制数149149。3 3、十六进制数、十六进制数0 x0 x 0 x 0 x后面的数字表示十六进制数,如:后面的数字表示十六进制数,如:0 xFFFF 0 xFFFF,表示十六进,表示十六进制数制数FFFFFFFF,即十进制数的,即十进制数的6553565535 绳猛恬态少纳紊娘规谆圃杂饥扮诬俏伯辈癌骸杖窃缚毕僻杯承篇锄夺邀峻嵌入式系统课件4-5嵌入式系统课件4-56/13/202412嵌入式系统原理及应用 刘军芳ARMARM指令中的操作数符号(续指令中的操作数符号(续1 1)5 5、更新基地址寄存器符号!、更新基地址寄存器符号!符号表示指令在完成操作后应将最后的地址!符号表示指令在完成操作后应将最后的地址写入基址寄存器。写入基址寄存器。如果指令地址表达式中不含!后缀,则基址寄存如果指令地址表达式中不含!后缀,则基址寄存器中的地址值不会发生变化。指令中的地址表达式器中的地址值不会发生变化。指令中的地址表达式中含有中含有!后缀时,指令执行后,基址寄存器中的地后缀时,指令执行后,基址寄存器中的地址值将发生变化,变化的结果如下:址值将发生变化,变化的结果如下:基址寄存器中的值(指令执行后)基址寄存器中的值(指令执行后)指令执行前的值地址偏移量指令执行前的值地址偏移量挨沮靠挟谬经致烬孜丰鞘吭蛆肠兆尔藏暖稚捶乎诗瞪靛炔塘厢乐深彼硅铬嵌入式系统课件4-5嵌入式系统课件4-56/13/202413嵌入式系统原理及应用 刘军芳例例 分别执行下面两条指令有何区别?分别执行下面两条指令有何区别?LDR R3,R0,#4 LDR R3,R0,#4 LDR R3,R0,#4 LDR R3,R0,#4!分析:在上述指令中,第分析:在上述指令中,第1 1条指令没有后缀!,条指令没有后缀!,指令的结果是把指令的结果是把R0R0加加4 4作为地址指针,把这个作为地址指针,把这个指针所指向的地址单元所存储的数据读入指针所指向的地址单元所存储的数据读入R3R3,R0R0的值不变。第的值不变。第2 2条指令除了实现以上操作条指令除了实现以上操作外,还把外,还把R0R04 4的结果送到的结果送到R0R0中。中。棍帧禾湃夷蹿粹犁治涪信捞靖吐疽食吼巴静协哲矛泽菱它贮煮今男伞统擦嵌入式系统课件4-5嵌入式系统课件4-56/13/202414嵌入式系统原理及应用 刘军芳使用使用!后缀需要注意如下事项:后缀需要注意如下事项:(1)!(1)!后缀必须紧跟在地址表达式后面,后缀必须紧跟在地址表达式后面,而地址表达式要有明确的地址偏移量。而地址表达式要有明确的地址偏移量。(2)!(2)!后缀不能用于后缀不能用于R15(PC)R15(PC)的后面的后面 眺焦塌块狮巢蛹葡校逝柒蛊茂竹彭挎飘例疟扮潜俭习值窄封裴息塌斡仔格嵌入式系统课件4-5嵌入式系统课件4-56/13/202415嵌入式系统原理及应用 刘军芳6 6、复制、复制SPSRSPSR到到CPSRCPSR符号符号 该符号通常在批量数据存储指令中作为后缀放该符号通常在批量数据存储指令中作为后缀放在存储器之后,当前寄存器不包含在存储器之后,当前寄存器不包含PCPC时,该符号表时,该符号表示所用的寄存器使用户模式的寄存器;当其前面的示所用的寄存器使用户模式的寄存器;当其前面的寄存器包含寄存器包含PCPC时,该符号指示将时,该符号指示将SPSRSPSR寄存器的值复寄存器的值复制到制到CPSRCPSR寄存器中。寄存器中。7 7、指示寄存器列表范围符号、指示寄存器列表范围符号 符号用于有些指令中表示多个连续的寄存器时,符号用于有些指令中表示多个连续的寄存器时,及从及从到到。例如:。例如:R0R7R0R7,表示,表示R0R0、R1.R7 R1.R7,8 8个寄存器。个寄存器。柿侦雹帜炳阉谣洽慕奈犀猪抄旗皿析民犀篓镰警案靠阀峭裁茫糜揩迢卤影嵌入式系统课件4-5嵌入式系统课件4-56/13/202416嵌入式系统原理及应用 刘军芳4.1.4 ARM指令中的移位操作nARMARM微处理器内嵌的桶型移位器(微处理器内嵌的桶型移位器(Barrel Barrel ShifterShifter),支持数据的各种移位操作,移位操作),支持数据的各种移位操作,移位操作在在ARMARM指令集中不作为单独的指令使用,它只能作指令集中不作为单独的指令使用,它只能作为指令格式中是一个字段,在汇编语言中表示为指为指令格式中是一个字段,在汇编语言中表示为指令中的选项。令中的选项。n例如,数据处理指令的第二个操作数为寄存器时,例如,数据处理指令的第二个操作数为寄存器时,就可以加入移位操作选项对它进行各种移位操作。就可以加入移位操作选项对它进行各种移位操作。n移位操作包括如下移位操作包括如下6 6种类型,种类型,LSL LSL 逻辑左移、逻辑左移、ASL ASL 算术左移算术左移 、LSR LSR 逻辑右移逻辑右移 、ASR ASR 算术右移、算术右移、ROR ROR 循环右移循环右移 、RRX RRX 带扩展的循环右移带扩展的循环右移;ASLASL和和LSLLSL是是等价的,可以自由互换:等价的,可以自由互换:星衬驯痹砾菱匣腊新伶翼访氟默哭拔髓绘界邮动诊恒厦莉审纪薄搞敷述舵嵌入式系统课件4-5嵌入式系统课件4-56/13/202417嵌入式系统原理及应用 刘军芳4.2指令集介绍n桶形移位器支持数据的各种移位操作ALU桶形移位器桶形移位器Rd结果结果N预预处处理理未未预预处处理理RmRn皿讶夕尽尺蘑写接诚返墒碳讨鼓哭颊泪撇澈冻鬃逆括晃旺责影互队痰瑶仁嵌入式系统课件4-5嵌入式系统课件4-56/13/202418嵌入式系统原理及应用 刘军芳ARM指令中的移位操作(续1)n1 1、LSLLSL(或(或ASLASL)逻辑(或算术)左移操作逻辑(或算术)左移操作 LSL LSL(或(或ASLASL)操作的格式为:)操作的格式为:通用寄存器,通用寄存器,LSLLSL(或(或ASLASL)操作数操作数 用途:用途:LSL LSL(或(或ASLASL)可完成对通用寄存器中的内容进行逻辑(或算)可完成对通用寄存器中的内容进行逻辑(或算术)的左移操作,按操作数所指定的数量向左移位,低位术)的左移操作,按操作数所指定的数量向左移位,低位用零来填充。其中,操作数可以用一个立即值用零来填充。其中,操作数可以用一个立即值(从从 0 0 到到 31)31)指定移位数量,或用包含在指定移位数量,或用包含在 0 0 和和 31 31 之间的一个值的之间的一个值的寄存器指定移位数量。寄存器指定移位数量。操作示例:操作示例:MOVR0,R1,MOVR0,R1,LSL#2LSL#2 ;将;将R1R1中的内容左移两位后传送到中的内容左移两位后传送到R0R0中。中。争埃斑笑隆倾恿赐懂桃艾兜袒能脾胃俺泳惕剧沧谰永刁儒桃粉晚坞间侗乃嵌入式系统课件4-5嵌入式系统课件4-56/13/202419嵌入式系统原理及应用 刘军芳ARM指令中的移位操作(续2)2 2、LSR LSR 逻辑右移操作逻辑右移操作 LSR LSR操作的格式为:操作的格式为:通用寄存器,通用寄存器,LSR LSR 操作数操作数 用途:用途:LSR LSR可完成对通用寄存器中的内容进行右移的操可完成对通用寄存器中的内容进行右移的操作,按操作数所指定的数量向右移位,左端用零来填充。作,按操作数所指定的数量向右移位,左端用零来填充。其中,操作数操作数可以用一个立即值其中,操作数操作数可以用一个立即值(从从 0 0 到到 31)31)指定指定移位数量,或用包含在移位数量,或用包含在 0 0 和和 31 31 之间的一个值的寄存器指之间的一个值的寄存器指定移位数量。定移位数量。操作示例:操作示例:MOVR0,R1,LSR#2 MOVR0,R1,LSR#2;将;将R1R1中的内容中的内容右移两位后传送到右移两位后传送到 ;R0R0中,左端用零来填充。中,左端用零来填充。估锑蚂吻消律舔脚遁鳖几材篓坯螺求雏苍伤漓纸头都出瞒蒲滇谍豢改吼债嵌入式系统课件4-5嵌入式系统课件4-56/13/202420嵌入式系统原理及应用 刘军芳ARM指令中的移位操作(续3)3 3、ASR ASR 算数右移操作算数右移操作 ASR ASR操作的格式为:操作的格式为:通用寄存器,通用寄存器,ASR ASR 操作数操作数 用途:用途:ASR ASR可完成对通用寄存器中的内容进行算数右移的操作,可完成对通用寄存器中的内容进行算数右移的操作,按操作数所指定的数量向右移位,左端用第按操作数所指定的数量向右移位,左端用第3131位的值来填位的值来填充。其中,操作数操作数可以用一个立即值充。其中,操作数操作数可以用一个立即值(从从 0 0 到到 31)31)指定移位数量,或用包含在指定移位数量,或用包含在 0 0 和和 31 31 之间的一个值的寄存之间的一个值的寄存器指定移位数量。操作示例:器指定移位数量。操作示例:MOVR0,R1,ASR#2 MOVR0,R1,ASR#2;将;将R1R1中的内容中的内容右移两位后传送到右移两位后传送到R0R0中,左端用第中,左端用第3131位的值来填充。位的值来填充。矩剧想毋阜摇捻副踪略波推穴壕攻奴举又樟催厄货鞋猛搐扣科不漾浙攀卤嵌入式系统课件4-5嵌入式系统课件4-56/13/202421嵌入式系统原理及应用 刘军芳ARM指令中的移位操作(续4)4 4、ROR ROR 循环右移操作循环右移操作 ROR ROR操作的格式为:通用寄存器,操作的格式为:通用寄存器,ROR ROR 操作数操作数 用途:用途:ROR ROR可完成对通用寄存器中的内容进行循环右移的操作,按可完成对通用寄存器中的内容进行循环右移的操作,按操作数所指定的数量向右循环移位,左端用右端移出的位操作数所指定的数量向右循环移位,左端用右端移出的位来填充。其中,操作数可以是通用寄存器,也可以是立即来填充。其中,操作数可以是通用寄存器,也可以是立即数(数(0 03131)。显然,当进行)。显然,当进行3232位的循环右移操作时,通用位的循环右移操作时,通用寄存器中的值不改变。寄存器中的值不改变。操作示例:操作示例:MOVR0,R1,ROR#2 MOVR0,R1,ROR#2;将;将R1R1中的内容循中的内容循环右移两位后传送到环右移两位后传送到R0R0中。中。随述辙管撵看橡柒汝赋述旺咆烃狼靛楷辅轮潘需醋榜谩慷磋构年扳纠辗釜嵌入式系统课件4-5嵌入式系统课件4-56/13/202422嵌入式系统原理及应用 刘军芳ARM指令中的移位操作(续5)5 5、RRX RRX 带扩展的循环右移操作带扩展的循环右移操作 RRX RRX操作的格式为:操作的格式为:通用寄存器,通用寄存器,RRX RRX 操作数操作数 用途:用途:RRX RRX可完成对通用寄存器中的内容进行带扩展的循环右移可完成对通用寄存器中的内容进行带扩展的循环右移的操作,按操作数所指定的数量向右循环移位,左端用进的操作,按操作数所指定的数量向右循环移位,左端用进位标志位位标志位C C来填充。其中,操作数可以是通用寄存器,也可来填充。其中,操作数可以是通用寄存器,也可以是立即数(以是立即数(0 03131)。)。操作示例:操作示例:MOVR0,R1,RRX#2MOVR0,R1,RRX#2;将;将R1R1中的内容进行带扩展的循环右移两位后传送到中的内容进行带扩展的循环右移两位后传送到R0R0中。中。兽羞上梗硅旷席锗充瘸寄铆热查复闹泞悦鳖爵哀磐盂醉吴勾桑霞多驳了眩嵌入式系统课件4-5嵌入式系统课件4-56/13/202423嵌入式系统原理及应用 刘军芳4.2 ARM处理器寻址方式寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式。ARM处理器具有7种基本寻址方式。1.立即寻址;2.寄存器寻址;3.寄存器间接寻址;4.基址加变址寻址;5.相对寻址;6.堆栈寻址;7.多寄存器寻址;锐谈珐孩蛙兵喘唤僧硷铜卞蒲煽声侄馒盲述座芥杀案圾背腻恬舷旋酸满倦嵌入式系统课件4-5嵌入式系统课件4-56/13/202424嵌入式系统原理及应用 刘军芳寻址方式分类立即寻址立即寻址指令中的操作码字段后面的地址码部分即是操作数本身,也就是说,数据就包含在指令当中,取出指令也就取出了可以立即使用的操作数(这样的数称为立即数)。立即寻址指令举例如下:SUBS R0,R0,#1;R0减1,结果放入R0,并且影响标志位MOV R0,#0 xFF000;将立即数0 xFF000装入R0寄存器0 x55R0MOV R0,#0 xFF00程序存储MOVR0,#0 xFF000 xFF00从代码中获得数据鬼娟怪珊惧贩眩糊链靶纸找冠该萎略瓜功捍瘸阐阴延廉扩系量铲翌欺竟牡嵌入式系统课件4-5嵌入式系统课件4-56/13/202425嵌入式系统原理及应用 刘军芳寻址方式分类寄存器寻址操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编号,指令执行时直接取出寄存器值来操作。寄存器寻址指令举例如下:MOVR1,R2;将R2的值存入R1SUBR0,R1,R2;将R1的值减去R2的值,结果保存到R00 xAA0 x55R2R1MOVR1,R20 xAA狠傲铣潭琼痢隶酸鼎者痉戴粱肥漱鸯凛刹弄降空容应妙凋陆捡窑农匝肮勤嵌入式系统课件4-5嵌入式系统课件4-56/13/202426嵌入式系统原理及应用 刘军芳寄存器间接寻址指令中的地址码给出的是一个通用寄存器的编号,所需的操作数保存在寄存器指定地址的存储单元中,即寄存器为操作数的地址指针。寄存器间接寻址指令举例如下:LDRR1,R2;将R2指向的存储单元的数据读出,保存在R1中SWPR1,R1,R2;将寄存器R1的值和R2指定的存储单元的内容交换0 x55R0R2 0 x400000000 xAA0 x40000000n寻址方式分类寄存器间接寻址LDRR0,R20 xAA踪旗佬掸体浑忍蹦厦缄叛秘县仕奉脯注使尼儡膛秦屁括惨梯针蔡蝶表意郁嵌入式系统课件4-5嵌入式系统课件4-56/13/202427嵌入式系统原理及应用 刘军芳基址寻址就是将基址寄存器的内容与指令中给出的偏移量(4K)相加/减,形成操作数的有效地址。基址寻址用于访问基址附近的存储单元,常用于查表、数组操作、功能部件寄存器访问等。寄存器间接寻址是偏移量为0的基址加偏移寻址。基址寻址指令举例如下(前索引寻址):LDRR2,R3,#0 x0C;读取R3+0 x0C地址上的存储单元;的内容,放入R2STRR1,R0,#-4!;先R0=R0-4,然后把R0的值寄存;到保存到R1指定的存储单元 寻址方式分类基址(加变址)寻址0 x55R2R3 0 x400000000 xAA0 x4000000CLDRR2,R3,#0 x0C0 xAA将R3+0 x0C作为地址装载数据陌匈虚荧蔗伯睁扁纷窟粗烦粘从寿息拟城喉杭哨斯跳哦绽苫嫉嚣字授闪铝嵌入式系统课件4-5嵌入式系统课件4-56/13/202428嵌入式系统原理及应用 刘军芳寻址方式分类基址(加变址)寻址基址寻址指令举例如下:LDRR0,R1,#4;R0=R1,R1R14;后索引基址寻址;ARM这种自动索引机制不消耗;额外的时间LDRR0,R1,R2;R0=R1+R2豫煞眼撩吉跋吟隆属瓤窒探原肋颠山读洁技烤院殖芳厂颠砧铜壳嚼尖疯篙嵌入式系统课件4-5嵌入式系统课件4-56/13/202429嵌入式系统原理及应用 刘军芳相对寻址是基址寻址的一种变通。由程序计数器PC提供基准地址,指令中的地址码字段作为偏移量,两者相加后得到的地址即为操作数的有效地址。相对寻址指令举例如下:BLSUBR1;调用到SUBR1子程序BEQLOOP;条件跳转到LOOP标号处.LOOP MOV R6,#1.SUBR1.寻址方式分类相对寻址落窖齐棠眉泪难篡猜盼腕疲著近肘串怖屯终美终菏蹄禹糕绅告宰督栖洛漓嵌入式系统课件4-5嵌入式系统课件4-56/13/202430嵌入式系统原理及应用 刘军芳堆栈是一个按特定顺序进行存取的存储区,操作顺序为“后进先出”。堆栈寻址是隐含的,它使用一个专门的寄存器(堆栈指针)指向一块存储区域(堆栈),指针所指向的存储单元即是堆栈的栈顶。存储器堆栈可分为两种:向上生长:向高地址方向生长,称为递增堆栈向下生长:向低地址方向生长,称为递减堆栈ARM中采用LDMFD和STMFD指令分别用来支持POP操作(出栈)和PUSH操作(进栈),R13作为堆栈指针。寻址方式分类堆栈寻址泛刹宪氏页谋全几庇突埠跃廉驾榜佣短菏炽柏碑祝告证谆趋赚亡揪屋饥谩嵌入式系统课件4-5嵌入式系统课件4-56/13/202431嵌入式系统原理及应用 刘军芳寻址方式分类堆栈寻址(续1)栈底栈顶栈区SP堆栈存储区栈顶栈底栈区SP向下增长向上增长0 x123456780 x12345678堆栈压栈堆栈压栈冀隘因妨寞滚货瘁坊殊蝴梗搪抽漳弧牲眺天番蹈里语人辅陇倦土猖料锨喇嵌入式系统课件4-5嵌入式系统课件4-56/13/202432嵌入式系统原理及应用 刘军芳栈顶SP栈顶SP栈底空堆栈栈底满堆栈堆栈指针指向最后压入的堆栈的有效数据项,称为满堆栈;堆栈指针指向下一个待压入数据的空位置,称为空堆栈。寻址方式分类堆栈寻址(续2)0 x123456780 x12345678栈顶SP0 x12345678栈顶SP压栈压栈曳嚎凡帜骋脾破掉蛙乞愿绅孤义锯戒压周平孩穿诊稿限颜萎延观惹愁椒捌嵌入式系统课件4-5嵌入式系统课件4-56/13/202433嵌入式系统原理及应用 刘军芳所以可以组合出四种类型的堆栈方式:满递增:堆栈向上增长,堆栈指针指向内含有效数据项的最高地址。指令如LDMFA、STMFA等;空递增:堆栈向上增长,堆栈指针指向堆栈上的第一个空位置。指令如LDMEA、STMEA等;满递减:堆栈向下增长,堆栈指针指向内含有效数据项的最低地址。指令如LDMFD、STMFD等;空递减:堆栈向下增长,堆栈指针向堆栈下的第一个空位置。指令如LDMED、STMED等。寻址方式分类堆栈寻址(续3)否都裂忌驹雾检尚瞥屿詹泳绷悲杆蓑吃擅菩咐箍霞先茧献涵境漫嘴邯茂个嵌入式系统课件4-5嵌入式系统课件4-56/13/202434嵌入式系统原理及应用 刘军芳多寄存器寻址一次可传送几个寄存器值,允许一条指令传送16个寄存器的任何子集或所有寄存器。多寄存器寻址指令举例如下:LDMIAR1!,R2-R7,R12;将R1指向的单元中的数据读出到;R2R7、R12中(R1自动加4)STMIAR0!,R2-R7,R12;将寄存器R2R7、R12的值保;存到R0指向的存储单元中;(R0自动加4)0 x40000000R1R20 x?0 x010 x400000000 x?R3R40 x?R60 x?0 x020 x030 x040 x400000040 x400000080 x4000000C存储器寻址方式分类多寄存器寻址LDRR1!,R2-R4,R60 x010 x020 x030 x040 x40000010音丸豆咋籽瀑雷炮胺聚吩捏齿裤公药大留苏梢沙俄沈桥驾撤腺炭狂诵叶序嵌入式系统课件4-5嵌入式系统课件4-56/13/202435嵌入式系统原理及应用 刘军芳4.3 ARM 指令集n数据处理指令大致可分为数据处理指令大致可分为3 3类:类:n数据传送指令;数据传送指令;n算术逻辑运算指令;算术逻辑运算指令;n比较指令。比较指令。n 数据处理指令只能对寄存器的内容进行操数据处理指令只能对寄存器的内容进行操作,而不能对内存中的数据进行操作。所有作,而不能对内存中的数据进行操作。所有ARMARM数据处理指令均可选择使用数据处理指令均可选择使用S S后缀,以使后缀,以使指令影响状态标志。指令影响状态标志。送靡遁胀丘住酷沟病抠壁夹丢蔑迎是炕幢晶灌腾声蠕这忍买训穴洱茎旦翘嵌入式系统课件4-5嵌入式系统课件4-56/13/202436嵌入式系统原理及应用 刘军芳4.3.1 4.3.1 数据处理指令数据处理指令n数据处理指令包括:数据处理指令包括:n MOV MOV 数据传送指令数据传送指令 MVN MVN 数据取反传送指令数据取反传送指令 n CMP CMP 比较指令比较指令 CMN CMN 反值比较指令反值比较指令 n TST TST 位测试指令位测试指令 TEQ TEQ 相等测试指令相等测试指令 n ADD ADD 加法指令加法指令 ADC ADC 带进位加法指令带进位加法指令 n SUB SUB 减法指令减法指令 SBC SBC 带借位减法指令带借位减法指令 n RSB RSB 逆向减法指令逆向减法指令 RSC RSC 带借位的逆向减法指令带借位的逆向减法指令 n AND AND 逻辑与指令逻辑与指令 ORR ORR 逻辑或指令逻辑或指令 n EOR EOR 逻辑异或指令逻辑异或指令 BIC BIC 位清除指令位清除指令 分色僻隐武由帜邮冯溉熟漂陇澳瞬袍氨韦愁涤忍船狡搓厨伊冶厦资视餐恢嵌入式系统课件4-5嵌入式系统课件4-56/13/202437嵌入式系统原理及应用 刘军芳ARM数据处理指令指令编码指令执行的条件码I用于区别立即数(I为1)和寄存器移位(I为0)opcode数据处理指令操作码第二操作数Rd目标寄存器Rn第一操作数寄存器S设置条件码,与指令中的S位对应带进位加法ADC0101带进位减法指令SBC0110带进位逆向减法指令RSC0111位测试指令TST1000相等测试指令TEQ1001比较指令CMP1010负数比较指令CMN1011逻辑或操作指令ORR1100数据传送MOV1101位清除指令BIC1110数据非传送MVN1111加法运算指令ADD0100逆向减法指令RSB0011减法运算指令SUB0010逻辑异或操作指令EOR0001逻辑与操作指令AND0000说明指令助记符操作码opcode操作码功能表犯离锐韭梳写趟啸苑昏急勿颗壁敦卯兑冤捉抖蒲瞬咀视寿阮酚海弥蓝墟阀嵌入式系统课件4-5嵌入式系统课件4-56/13/202438嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置MOV Rd,operand2数据传送Rdoperand2 MOVcondSMVN Rd,operand2数据非传送Rd(operand2)MVNcondSARM数据处理指令数据传送注:当后缀S时,这些指令根据结果更新标志N和Z,在计算Operand2时更新标志C,不影响标志V。愤北配藏拨缝弥渺绦终总周乎侨曾里稼邹畔谤牛同咎砒弛木陷秤糖攒摧谁嵌入式系统课件4-5嵌入式系统课件4-56/13/202439嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置MOV Rd,operand2MOV Rd,operand2数据传送Rdoperand2 MOVcondSMVN Rd,operand2数据非传送Rd(operand2)MVNcondSARM数据处理指令数据传送MOV指令将立即数或寄存器传送到目标寄存器(Rd),可用于移位运算等操作。指令格式如下:MOVcondSRd,operand2MOV指令举例如下:MOVR1,#0 xF000000B;R1=0 xF000000BMOVR0,R1;R0=R1MOVSR3,R1,LSL#2;R3=R110,则执行本指令确憋撬冬鸳赃珠棘筐运敖薯垦丢库纶携会辜浅疹逗氦匝曹位钻窘嵌篓沪痰嵌入式系统课件4-5嵌入式系统课件4-56/13/202443嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置CMP Rn,operand2比较指令标 志 N、Z、C、VRn-operand2CMPcondCMN Rn,operand2CMN Rn,operand2负数比较指令标志N、Z、C、VRn+operand2CMNcondTST Rn,operand2位测试指令标志N、Z、C、VRn&operand2TSTcondTEQ Rn,operand2相等测试指令标志N、Z、C、VRn operand2TEQcondARM数据处理指令比较指令负数比较指令CMN指令用于把一个寄存器的内容和另一个寄存器的内容或立即数取反后进行比较,同时更新CPSR中条件标志位的值。该指令实际完成操作数1和操作数2相加,并根据结果更改条件标志位:CMNcondRn,operand2应用示例:CMNR0,#1;R0+1染译萝萤轰谋的帕禽辫毡三晓场研芋代墅翻比瓦被疾兜霜棉苞菏蓑姿鹏规嵌入式系统课件4-5嵌入式系统课件4-56/13/202444嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置CMP Rn,operand2比较指令标 志 N、Z、C、VRn-operand2CMPcondCMN Rn,operand2负数比较指令标志N、Z、C、VRn+operand2CMNcondTST Rn,operand2TST Rn,operand2位测试指令标志N、Z、C、VRn&operand2TSTcondTEQ Rn,operand2相等测试指令标志N、Z、C、VRn operand2TEQcondARM数据处理指令比较指令位测试指令TST指令将寄存器Rn的值与operand2的值按位作逻辑“与”操作,根据操作的结果更新CPSR中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。指令格式如下:TSTcondRn,operand2应用示例:TSTR0,#0 x01;判断R0的最低位是否为0TSTR1,#0 x0F;判断R1的低4位是否为0熊膊套短芹盎道粟畜兼胺爷说嚎嫡玉兰箩逮锚眨材正宦放兽菩套析孟拣饯嵌入式系统课件4-5嵌入式系统课件4-56/13/202445嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置CMP Rn,operand2比较指令标 志 N、Z、C、VRn-operand2CMPcondCMN Rn,operand2负数比较指令标志N、Z、C、VRn+operand2CMNcondTST Rn,operand2位测试指令标志N、Z、C、VRn&operand2TSTcondTEQ Rn,operand2TEQ Rn,operand2相等测试指令标志N、Z、C、VRn operand2TEQcondARM数据处理指令比较指令相等测试指令TEQ指令将寄存器Rn的值与operand2的值按位作逻辑“异或”操作,根据操作的结果更新CPSR中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。指令格式如下:TEQcondRn,operand2应用示例:TEQR0,R1;比较R0与R1是否相等百硝炕寒赞继索酬猴屹夷喇侍寿痰遭昆丈吝相配束醚误捷篇搔跑忿瑚蛇菱嵌入式系统课件4-5嵌入式系统课件4-56/13/202446嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置ADD Rd,Rn,operand2加法运算指令RdRn+operand2ADDcondSSUB Rd,Rn,operand2减法运算指令RdRn-operand2SUBcondSRSB Rd,Rn,operand2逆向减法指令Rdoperand2-RnRSBcondSADC Rd,Rn,operand2带进位加法RdRn+operand2+CarryADCcondSSBC Rd,Rn,operand2带进位减法指令RdRn-operand2-(NOT)CarrySBCcondSRSC Rd,Rn,operand2带进位逆向减法指令Rdoperand2-Rn-(NOT)CarryRSCcondSARM数据处理指令算术运算注:这些指令不直接影响N,Z,C和V标志位,如果要影响标志位,则需要加S。沏抛驮矣券冈咐怕梳晾蛛词蒜尊驭很锭虽扳翰村雏滞刹偿硝阀抽签婴汽稍嵌入式系统课件4-5嵌入式系统课件4-56/13/202447嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置ADD Rd,Rn,operand2ADD Rd,Rn,operand2加法运算指令RdRn+operand2ADDcondSSUB Rd,Rn,operand2减法运算指令RdRn-operand2SUBcondSRSB Rd,Rn,operand2逆向减法指令Rdoperand2-RnRSBcondSADC Rd,Rn,operand2带进位加法RdRn+operand2+CarryADCcondSSBC Rd,Rn,operand2带进位减法指令RdRn-operand2-(NOT)CarrySBCcondSRSC Rd,Rn,operand2带进位逆向减法指令Rdoperand2-Rn-(NOT)CarryRSCcondSARM数据处理指令算术运算加法运算指令ADD指令将operand2的值与Rn的值相加,结果保存到Rd寄存器。指令格式如下:ADDcondSRd,Rn,operand2应用示例:ADDSR1,R1,#1020;R1=R1+1020,并影响标志位ADDR1,R1,R2,LSL#2;R1=R1+R22又慨深钧拦阜摊么察像幻俩主钓卸劝秤称诚藕祟螟疡彩柔卒蛾貉到峰耸侗嵌入式系统课件4-5嵌入式系统课件4-56/13/202448嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置ADD Rd,Rn,operand2加法运算指令RdRn+operand2ADDcondSSUB Rd,Rn,operand2SUB Rd,Rn,operand2减法运算指令RdRn-operand2SUBcondSRSB Rd,Rn,operand2逆向减法指令Rdoperand2-RnRSBcondSADC Rd,Rn,operand2带进位加法RdRn+operand2+CarryADCcondSSBC Rd,Rn,operand2带进位减法指令RdRn-operand2-(NOT)CarrySBCcondSRSC Rd,Rn,operand2带进位逆向减法指令Rdoperand2-Rn-(NOT)CarryRSCcondSARM数据处理指令算术运算减法运算指令SUB指令用寄存器Rn减去operand2,结果保存到Rd中。指令格式如下:SUBcondSRd,Rn,operand2应用示例:SUBSR0,R0,#240;R0=R0-240,并影响标志位SUBSR2,R1,R2;R2=R1-R2,并影响标志位搔蛋波抵貉端友公裔滑候准赫宏检枪式浑条疽魄幂深邵钵摇丹蚤诧匝新和嵌入式系统课件4-5嵌入式系统课件4-56/13/202449嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置ADD Rd,Rn,operand2加法运算指令RdRn+operand2ADDcondSSUB Rd,Rn,operand2减法运算指令RdRn-operand2SUBcondSRSB Rd,Rn,operand2RSB Rd,Rn,operand2逆向减法指令Rdoperand2-RnRSBcondSADC Rd,Rn,operand2带进位加法RdRn+operand2+CarryADCcondSSBC Rd,Rn,operand2带进位减法指令RdRn-operand2-(NOT)CarrySBCcondSRSC Rd,Rn,operand2带进位逆向减法指令Rdoperand2-Rn-(NOT)CarryRSCcondSARM数据处理指令算术运算逆向减法运算指令RSB指令将operand2的值减去Rn,结果保存到Rd中。指令格式如下:RSBcondSRd,Rn,operand2应用示例:RSBR3,R1,#0 xFF00;R3=0 xFF00-R1RSBSR1,R2,R2,LSL#2;R1=(R22)-R2=R23影响标志位挣献杆葵奸起苛耸赞谈罩窜垦腕醉坛耽体宝口树四篓裤堤前伞琶袭封萄痔嵌入式系统课件4-5嵌入式系统课件4-56/13/202450嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置ADD Rd,Rn,operand2加法运算指令RdRn+operand2ADDcondSSUB Rd,Rn,operand2减法运算指令RdRn-operand2SUBcondSRSB Rd,Rn,operand2逆向减法指令Rdoperand2-RnRSBcondSADC Rd,Rn,operand2ADC Rd,Rn,operand2带进位加法RdRn+operand2+CarryADCcondSSBC Rd,Rn,operand2带进位减法指令RdRn-operand2-(NOT)CarrySBCcondSRSC Rd,Rn,operand2带进位逆向减法指令Rdoperand2-Rn-(NOT)CarryRSCcondSARM数据处理指令算术运算带进位加法指令ADC将operand2的值与Rn的值相加,再加上CPSR中的C条件标志位,结果保存到Rd寄存器。指令格式如下:ADCcondSRd,Rn,operand2应用示例(使用ADC实现64位加法,结果存于R1(高32位)、R0中):ADDSR0,R0,R2;R0等于低32位相加,并影响标志位ADCR1,R1,R3;R1等于高32位相加,并加上低位进位裁搪生狂韩洽隅督储陀涸飘昧嘱毅盈值吉兢渤插砸酪茫尊柒先感姓咏滋籽嵌入式系统课件4-5嵌入式系统课件4-56/13/202451嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置ADD Rd,Rn,operand2加法运算指令RdRn+operand2ADDcondSSUB Rd,Rn,operand2减法运算指令RdRn-operand2SUBcondSRSB Rd,Rn,operand2逆向减法指令Rdoperand2-RnRSBcondSADC Rd,Rn,operand2带进位加法RdRn+operand2+CarryADCcondSSBC Rd,Rn,operand2SBC Rd,Rn,operand2带进位减法指令RdRn-operand2-(NOT)CarrySBCcondSRSC Rd,Rn,operand2带进位逆向减法指令Rdoperand2-Rn-(NOT)CarryRSCcondSARM数据处理指令算术运算带进位减法指令SBC用寄存器Rn减去operand2,再减去CPSR中的C条件标志位的非(即若C标志清零,则结果减去1),结果保存到Rd中。指令格式如下:SBCcondSRd,Rn,operand2应用示例(使用SBC实现64位减法,结果存于R1、R0中):SUBSR0,R0,R2;低32位相减,并影响标志位SBCR1,R1,R3;高32位相减,并减去低位借位干策力诈沼糜嗓帖银整挡疽邦柬堕分兔件蚂洒治胃粥诣痒璃皮溃灿寿潍詹嵌入式系统课件4-5嵌入式系统课件4-56/13/202452嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置ADD Rd,Rn,operand2加法运算指令RdRn+operand2ADDcondSSUB Rd,Rn,operand2减法运算指令RdRn-operand2SUBcondSRSB Rd,Rn,operand2逆向减法指令Rdoperand2-RnRSBcondSADC Rd,Rn,operand2带进位加法RdRn+operand2+CarryADCcondSSBC Rd,Rn,operand2带进位减法指令RdRn-operand2-(NOT)CarrySBCcondSRSC Rd,Rn,operand2RSC Rd,Rn,operand2带进位逆向减法指令Rdoperand2-Rn-(NOT)CarryRSCcondSARM数据处理指令算术运算带进位逆向减法指令RSC指令用寄存器operand2减去Rn,再减去CPSR中的C条件标志位,结果保存到Rd中。指令格式如下:RSCcondSRd,Rn,operand2应用示例(使用RSC指令实现求64位数值的负数):RSBSR2,R0,#0;R2=-R0RSCR3,R1,#0;R3=-R1-!Carry锦泻湾忙饥拜莲橇钟锥江扳只曾二恶浦豫屹鲍滥驮遍曲志实碘掖荧妓兄钥嵌入式系统课件4-5嵌入式系统课件4-56/13/202453嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置AND Rd,Rn,operand2逻辑与操作指令RdRn&operand2ANDcondSORR Rd,Rn,operand2逻辑或操作指令RdRn|operand2ORRcondSEOR Rd,Rn,operand2逻辑异或操作指令RdRn operand2EORcondSBIC Rd,Rn,operand2位清除指令RdRn&(operand2)BICcondSARM数据处理指令逻辑运算指令注:当后缀S时,这些指令根据结果更新标志N和Z,在计算Operand2时更新标志C,不影响标志V。爷瞅芬寐捏轩刻什他诛靳恬蹄惰蛔获蒙梭叔紊鸭坦遇讶镰勿千嘱练断句谗嵌入式系统课件4-5嵌入式系统课件4-56/13/202454嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置AND Rd,Rn,operand2AND Rd,Rn,operand2逻辑与操作指令RdRn&operand2ANDcondSORR Rd,Rn,operand2逻辑或操作指令RdRn|operand2ORRcondSEOR Rd,Rn,operand2逻辑异或操作指令RdRn operand2EORcondSBIC Rd,Rn,operand2位清除指令RdRn&(operand2)BICcondSARM数据处理指令逻辑运算指令逻辑与操作指令AND指令将operand2的值与寄存器Rn的值按位作逻辑“与”操作,结果保存到Rd中。指令格式如下:ANDcondSRd,Rn,operand2应用示例:ANDSR0,R0,#0 x01;R0=R0&0 x01,取出最低位数据ANDEQR2,R1,R3;R2=R1&R3桶荫誉妙康淆废搞征电佣击启源摸烯蹋砷词鲁语涣替亢穗破套笛淫箕布侥嵌入式系统课件4-5嵌入式系统课件4-56/13/202455嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置AND Rd,Rn,operand2逻辑与操作指令RdRn&operand2ANDcondSORR Rd,Rn,operand2ORR Rd,Rn,operand2逻辑或操作指令RdRn|operand2ORRcondSEOR Rd,Rn,operand2逻辑异或操作指令RdRn operand2EORcondSBIC Rd,Rn,operand2位清除指令RdRn&(operand2)BICcondSARM数据处理指令逻辑运算指令 逻逻辑辑或或操操作作指指令令ORRORR指指令令将将operand2operand2的的值值与与寄寄存存器器RnRn的的值值按按位位作逻辑作逻辑“或或”操作,结果保存到操作,结果保存到RdRd中。指令格式如下:中。指令格式如下:ORRcondS Rd,Rn,operand2 应用示例:应用示例:ORR R0,R0,#0 x0F;将将R0R0的低的低4 4位置位置1 1 MOVR1,R2,LSR#24;使用使用ORRORR指令将指令将R2R2的高的高8 8位位 ORRR3,R1,R3,LSL#8;数据移入到数据移入到R3R3低低8 8位中位中 零化阉俏六咬怔割棉你疗揩迎圆段簇悯轧路婪俯珠台砌烫们宪证及讳牌禁嵌入式系统课件4-5嵌入式系统课件4-56/13/202456嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置AND Rd,Rn,operand2逻辑与操作指令RdRn&operand2ANDcondSORR Rd,Rn,operand2逻辑或操作指令RdRn|operand2ORRcondSEOR Rd,Rn,operand2EOR Rd,Rn,operand2逻辑异或操作指令RdRn operand2EORcondSBIC Rd,Rn,operand2位清除指令RdRn&(operand2)BICcondSARM数据处理指令逻辑运算指令逻辑异或操作指令EOR指令将operand2的值与寄存器Rn的值按位作逻辑“异或”操作,结果保存到Rd中。指令格式如下:EORcondSRd,Rn,operand2应用示例:EORR1,R1,#0 x0F;将R1的低4位取反EORR2,R1,R0;R2=R1R0EORSR0,R5,#0 x01;将R5和0 x01进行逻辑异或,;结果保存到R0,并影响标志位泻匹钡靖购美邻快掐骡奏序蒸嘶肘隧牺账男酉撤缎帝倾贤嫡哲肢骡疮农挥嵌入式系统课件4-5嵌入式系统课件4-56/13/202457嵌入式系统原理及应用 刘军芳助记符说明操作条件码位置AND Rd,Rn,operand2逻辑与操作指令RdRn&operand2ANDcondSO
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!