刘彦文《基于ARM的嵌入式系统原理及应用》第3章.ppt

刘彦文《基于ARM的嵌入式系统原理及应用》第3章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
刘彦文《基于ARM的嵌入式系统原理及应用》第3章

3.7.2 长乘、长乘累加指令(MULL、MLAL) ⒈ 指令含义 UMULL为无符号数长乘、SMULL为带符号数长乘、UMLAL为无符号数长乘累加、SMLAL为带符号数长乘累加指令。 长乘指令按整数进行乘操作,操作数为32位,结果为64位,区分带符号数和无符号数。 长乘指令64位结果中,高32位存RdHi、低32位存RdLo寄存器,即RdHi、RdLo=Rm*Rs。 长乘累加指令按整数进行乘操作,两个乘数均为32位,积为64位,与另一个64位数相加,区分带符号数和无符号数。 长乘累加指令64位结果存RdHi和RdLo中,即RdHi、RdLo=Rm*Rs+ RdHi、RdLo。指令中RdHi和RdLo事先要保存进行加法的一个64位操作数,分别保存高、低32位。 ⒉ 指令汇编格式 无符号数长乘指令汇编格式如下: UMULL{cond}{S} RdLo,RdHi,Rm,Rs 无符号数长乘累加指令汇编格式如下: UMLAL{cond}{S} RdLo,RdHi,Rm,Rs 带符号数长乘指令汇编格式如下: SMULL{cond}{S} RdLo,RdHi,Rm,Rs 带符号数长乘累加指令汇编格式如下: SMLAL{cond}{S} RdLo,RdHi,Rm,Rs ⒊ 使用举例 UMULL R0,R3,R1,R2 ;无符号数,R3、R0=R1*R2 UMLALS R0,R4,R1,R2;无符号数, ;R4、R0=R1*R2+R4、R0,设置条件码 SMULL R2,R3,R7,R6 ;带符号数,R3、R2=R7*R6 3.8 ARM软件中断指令(SWI) ⒈ 指令含义 软件中断指令作为一种控制方法,用来实现从用户方式进入(转换)到管理方式。在其他方式也可以使用SWI指令,处理器同样进入到管理方式。 执行SWI指令引起软件中断陷阱被产生,这将改变处理器方式,PC被强制成固定值0x08,CPSR被存到SPSR_svc. 进入软件中断陷阱时,首先将PC值保存到R14_svc中,保存的PC值被调整到跟随在SWI指令后的那一个字的地址。从管理方式返回时,使用MOVS PC,R14_svc指令,返回到调用程序断点处并恢复CPSR。 指令跟随的24位立即数被称为中断立即数,被处理器忽略,但是可以用来给管理方式的代码传送信息。例如,在管理方式,程序可以使用这个立即数去查找各例程的入口点,然后执行各种各样的管理功能。 ⒉ 指令汇编格式 指令汇编格式如下: SWI{cond} expression ⒊ 使用举例 ① 只使用中断立即数传送信息 SWI 0;中断立即数为0 SWI 0x123456;中断立即数为0x123456 ② 使用中断立即数传送中断请求类型,参数通过寄存器传送 MOV R0,#34;子功能号为34 SWI 12;中断请求类型号为12 ③ 指令中24位中断立即数被忽略,由寄存器传送参数 MOV R0,#12;中断类型号 MOV R1,#34;子功能号 SWI 0;中断立即数将被忽略 3.9 ARM协处理器指令 3.9.1 协处理器介绍 ARM体系结构允许使用协处理器(coprocessor)来扩展指令集。 常用的协处理器有控制片内功能的系统协处理器、用于浮点运算的ARM协处理器等。 ARM协处理器有自己专用的寄存器组。 ARM全部协处理器指令只能与数据处理和数据传送有关。数据处理与传送指令有不同的指令格式。 3.9.2 协处理器数据操作指令(CDP) ⒈ 指令含义 协处理器数据操作指令CDP用于通知协处理器执行某些协处理器的内部操作。协处理器执行结果无需返回ARM920T,ARM920T也不用等待协处理器操作完成。 CDP指令一般用于初始化协处理器,对ARM寄存器和存储器无任何影响。 CDP指令也可以指定浮点运算协处理器对协处理器的两个寄存器中的数,进行某种浮点运算,结果放在协处理器的第三个寄存器中。 ⒉ 指令汇编格式 指令汇编格式如下: CDP{cond} P#,expression1,cd,cn,cm{,expression2} ⒊ 使用举例 CDP p2,11,c2,c3,c4 ;协处理器2进行操作码11规定的动作,对CR3 ? ;和CR4进行操作,结果存CR2 CDPEQ p3,6,c2,c3,c4,2 ;如果Z标志位被设置,协处理器3进行操作码6 ? ;规定的动作(可能也参考辅助操作码2),对 ? ;CR3和CR4进行操作,结果存CR2 3.9.3 协处理器数据传送指令(LDC、STC) ⒈ 指令含义 LD

文档评论(0)

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

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

1亿VIP精品文档

相关文档