嵌入式系统课件4-5.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统原理及应用 刘军芳 4.1 ARM指令的分类与格式 ARM微处理器的指令集可以分为跳转(分支)指令、数据处理指令、程序状态寄存器(CPSR)处理指令、加载/存储指令、协处理器指令和异常产生指令六大类,具体的指令及功能如表4-1所示(表中指令为基本ARM指令,不包括派生的ARM指令)。 4.1.2 指令格式 程序状态寄存器 S后缀 指令中使用S后缀时,指令执行后程序状态寄存器的条件标志位将被刷新,不使用S后缀时,指令执行后程序状态寄存器的条件标志将不会发生变化。 S后缀通常用于对条件进行测试,例如是否有溢出,是否进位等;根据这些变化,就可以进行一些判断,如是否大于,是否相等;从而可能影响指令执行的顺序。 条件后缀和S后缀的关系如下: (1)如果既有条件后缀又有S后缀,则书写时S排在后面,如:ADDEQS R1, R0, R2该指令在Z=1时执行,将R0+R2的值放入R1,同时刷新条件标志位。 (2)条件后缀是要测试条件标志位,而S后缀是要刷新条件标志位。 (3)条件后缀要测试的是执行前的标志位,而S后缀是依据指令的结果改变条件标志。 例: 假设R0=0x1, R3=0x3, 指令执行之前CPSR=nzcvqIFt_SVC,分别执行如下指令CPSR的值有何变化? SUB R1, R0, R3 ;R0的值减去R3的值,结果存入R1 SUBS R1, R0, R3 ;R0的值减去R3的值,结果存入R1 影响标志位 分析:执行第1条指令对于标志寄存器的值没有任何影 响,因此CPSR的值不变。 执行第2条指令后CPSR=NzcvqIFt_SVC, 因为R0的 值减去R3值,结果变成负数,故而N被置位了 4.1.3 ARM指令中的操作数符号 ARM指令格式中的操作数有不同的符号,说明如下: 1、立即数符号# #符号表示一个立即数,该符号后的数据可以是十进制、二进制或十六进制数。#2 2、二进制符号%(2) %后面的数字表示二进制数,例如: (2,表示二进制即十进制数149。 3、十六进制数0x 0x后面的数字表示十六进制数,如: 0xFFFF,表示十六进制数FFFF,即十进制数的65535 ARM指令中的操作数符号(续1) 5、更新基地址寄存器符号! !符号表示指令在完成操作后应将最后的地址写入基址寄存器。 如果指令地址表达式中不含!后缀,则基址寄存器中的地址值不会发生变化。指令中的地址表达式中含有!后缀时,指令执行后,基址寄存器中的地址值将发生变化,变化的结果如下: 基址寄存器中的值(指令执行后) =指令执行前的值+地址偏移量 例 分别执行下面两条指令有何区别? LDR R3, [R0,#4] LDR R3, [R0,#4]! 分析:在上述指令中,第1条指令没有后缀!,指令的结果是把R0加4作为地址指针,把这个指针所指向的地址单元所存储的数据读入R3,R0的值不变。第2条指令除了实现以上操作外,还把R0+4的结果送到R0中。 使用!后缀需要注意如下事项: (1) !后缀必须紧跟在地址表达式后面,而地址表达式要有明确的地址偏移量。 (2) !后缀不能用于R15(PC)的后面 6、复制SPSR到CPSR符号? ? 该符号通常在批量数据存储指令中作为后缀放在存储器之后,当前寄存器不包含PC时,该符号表示所用的寄存器使用户模式的寄存器;当其前面的寄存器包含PC时,该符号指示将SPSR寄存器的值复制到CPSR寄存器中。 7、指示寄存器列表范围符号— —符号用于有些指令中表示多个连续的寄存器时,及从…到…。例如:R0—R7,表示R0、R1….R7 ,8个寄存器。 4.1.4 ARM指令中的移位操作 ARM微处理器内嵌的桶型移位器(Barrel Shifter),支持数据的各种移位操作,移位操作在ARM指令集中不作为单独的指令使用,它只能作为指令格式中是一个字段,在汇编语言中表示为指令中的选项。 例如,数据处理指令的第二个操作数为寄存器时,就可以加入移位操作选项对它进行各种移位操作。 移位操作包括如下6种类型,LSL 逻辑左移、 ASL 算术左移 、LSR 逻辑右移 、ASR

文档评论(0)

zxli + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档