ARM数据处理指令

发布者:声慢慢最新更新时间:2016-04-19 来源: eefocus关键字:ARM  数据处理指令 手机看文章 扫描二维码
随时随地手机看文章
ARM的数据处理指令只访问寄存器,是ARM指令集中唯一可以修改数据值的指令。所有的操作数都是32位,结果也是32位,被放到寄存器中。
 
寄存器传送指令
移位指令
算术运算指令
逻辑运算指令
比较指令
乘法指令
 
1.         掌握寄存器传送指令、算术运算指令,并理解标志位S的作用。
实验一:
根据提示信息完成程序并运行验证。(exp5_1_1.s)
AREA lab1,CODE,READONLY
         ENTRY
START
         MOV R0,#0x3F
         MOV R1,#0x2C
         MOV R2,#0x10
         MOV R3,#0x5
         ;(1)计算R4=R0+R1
         ;(2)计算R5=R0-R1并更新标志位
         ;(3)计算R6=R1-R0并更新标志位
         ;(4)计算R7=R2+8*R3
STOP
         B STOP
         END
 
思考题:
a)         在程序中执行
SUBS R4,R0,R1
SUBS R4,R1,R0
后,程序状态寄存器CPSR的标志位各有何变化?为什么?
b)        在程序中执行
SUB R4,R0,R1
SUB R4,R1,R0
后,程序状态寄存器CPSR的标志位各有何变化?为什么?
 
 
实验二:
编写ARM汇编程序。有两个128位数,第一个数0x00000004000000c3000000b2000000a1由高到低存放在寄存器R7~R4中,第二个数0x00000008000000c7000000b6000000a5由高到低存放在寄存器R11~R8中,实现第一个数和第二个数的相减,运算结果由高到低存放到寄存器R3~R0中。(exp5_1_5.s)
 
2.         掌握乘法指令
实验六:根据提示信息完成程序并运行验证。(exp5_1_6.s)
AREA lab3,CODE,READONLY
         ENTRY
START
         MOV R0,#0x3F
         MOV R1,#0x3D
         MOV R2,#0xFF000000
         MOV R3,#0x3FC0
        
         ;32位无符号乘法计算R0*R1,R4存结果
;32位无符号乘加计算R0*R1+R0,R5存结果
;32 位无符号乘法计算R2*R3,R6存结果
;64位无符号乘法计算R2*R3,R7存低32位,R8存高32位
STOP
         B STOP
         END
 
思考题:
在上述程序中,执行语句
MUL R6,R2,R3
UMULL R7,R8,R2,R3
SMULL R9,R10,R2,R3
后,解析个寄存器的值。
 
 
3.         掌握比较测试指令,懂得使用ARM指令的条件域来标注指令执行的条件。
实验三:
根据提示信息完成程序并运行验证。(exp)
           AREA lab1,CODE,READONLY
         ENTRY
START
         MOV R0,#0xFF
         ;反转R0的0,1位,其余位保持不变,存到R1中
         ;保留寄存器R0的0,1位,其余位清零,存到R1中
         ;比较寄存器R0和R1的值是否相等,并根据结果修改CPSR的标志位
         MOV R0,#0xFB
;测试寄存器R0中的第2位是否为1,并根据结果修改CPSR的标志位(若是,跳转到START)
         END
 
实验四:
编写简单的汇编语言程序,功能是计算1+2+3+。。。。+n的值,并把累加的结果存储到寄存器中。 (exp3_1_1)
 
4.         掌握逻辑运算指令
实验五:
将0x3FC0的第4~11位用0xDD替换,变成0x3DD0。根据提示信息完成程序并运行验证。 (exp)
              AREA lab2,CODE,READONLY
         ENTRY
START
         MOV R1,#0x3FC0
         MOV R2,#0xFF0
         MOV R3,#0xDD
         ;清除R1=0x3FC0中对应的位,使其成为0x3000
         ;通过移位,将0x3DD0与要替换的位域对齐
         ;将对应位置写入目的操作数R1
STOP
         B STOP
         END
 
思考:
在上述程序中,如果将0x3FC0替换为0xCFC0,应该如何修改程序?
关键字:ARM  数据处理指令 引用地址:ARM数据处理指令

上一篇:ARM寻址方式实验
下一篇:ARM数据加载与存储指令(一)

推荐阅读最新更新时间:2024-03-16 14:50

英飞凌针对医疗电子推出创新医疗平台解决方案
  英飞凌推出适用于高性能医疗电子设备的创新平台解决方案。英飞凌的MD8710医疗平台集成了多种标准功能。这些功能的智能部署使其适用于多种不同的医疗电子产品。具体应用领域包括电子血糖仪和血压计、电化分析仪和健身设备,它们的读数可通过移动通信方式自动传至医生或医院计算机系统。市场调研公司InMedica的分析师预计,到2013年,仅远程医疗电子设备的总销量将超过200万台。   英飞凌医疗平台针对具体客户定制的分析软件可应用于性能卓越的集成式高能效ARM Cortex R4处理器。该软件的模拟分析功能允许同步进行多个测量,确保轻松应用于光电和传感应用。英飞凌新产品采用的智能功率管理单元可节省占板空间,使电池供电的便携式设备具备极其
[医疗电子]
分析师:ARM开始挑战游戏机市场
ARM正在打入早已建立自有秩序的游戏机市场,这意味着PowerPC很可能生变,市调机构Semicast Research指出。 Semicast预测,微软(Microsoft)在行动装置领域将更专注于ARM架构,作为融合策略的一部份,该公司可能在下一代Xbox游戏机中选用基于ARM架构之Nvidia公司的晶片。 ARM Holdings plc已被指定为未来Sony手持式PSP的架构供应商,它将取代MIPS Technologies;而任天堂(Nintendo)的DS和3DS也是基于ARM架构。 ARM在掌上型游戏机市场的任务圆满达成,现在,该公司开始进军游戏机了,Semicast说。 目前的主流游戏机包括微软Xb
[家用电子]
ARM系统设计JTAG接口详细图解
ARM系统的JTAG接口的设计不当往往使硬件系统无法调试,所以在设计ARM系统前要先熟悉ARM系统的JTAG接口的定义和常见问题。 1.ARM系统的JTAG接口是如何定义的? 每个PIN又是如何连接的? 下图是JTAG接口的信号排列示意: 接口是一个20脚的IDC插座。下表给出了具体的信号说明: 2.目标系统如何设计?   目标板使用与Dragon-ICE一样的20脚针座,信号排列见表1。RTCK和 nTRST这两个信号根据目标ASIC有否提供对应的引脚来选用。nSRST则根据目标系统的设计考虑来选择使用。下面是一个典型的连接关系图: 表 1 JT
[单片机]
<font color='red'>ARM</font>系统设计JTAG接口详细图解
ARM嵌入式开发入门必要步骤
ARM嵌入式开发是嵌入式开发领略比较热门的技术,本文针对ARM嵌入式开发的入门者给出嵌入式开发的基础知识和入门必要步骤。 1. 做个最小系统板:如果你从没有做过ARM嵌入式开发,建议你一开始不要贪大求全,把所有的应用都做好,因为ARM的启动方式和dsp或单片机有所不同,往往会遇到各种问题,所以建议先布一个仅有Flash,SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。使最小系统能够正常运行,你的任务就完成了一半,好在ARM的外围接口基本都是标准接口,如果你已有这些硬件的布线经验,这对你来讲是一件很容易的事情。 2. 写启动代码,根据硬件地址先写一个能够启动的小代码,包括以下部分: 初始化端口,屏
[单片机]
恩智浦展示功能性Cortex-M0硅芯片
恩智浦半导体(NXP Semiconductors)宣布推出世界首款功能性ARM Cortex-M0硅芯片。Cortex-M0处理器在小尺寸、低功耗和高能效方面取得重大突破,其简约的特性使之成为当今市场上最方便易用的架构之一。作为第一家Cortex-M0处理器授权合作方,恩智浦将于3月30日-4月2日在硅谷嵌入式系统大会第1010展台展示功能完善的Cortex-M0硅芯片,重点展示Cortex-M0处理器的能效表现以及在代码密度方面的重大改进。 恩智浦目前正与其主要客户一起合作,计划于2010年初在市场上广泛推出基于Cortex-M0处理器的LPC1100系列产品,目标市场包括电池供电的产品应用、电子计量、消费电子外围设备、远程
[单片机]
arm中常用汇编指令
1.MOV PC, LR 如果在子程序中LR没有改变,则等同于 RET 程序在 调用子程序时,会把 BL SUB_XXXXX 处的 下一条指令送入 LR, 这样,当所调用的子程序没有改变LR的值时(注意这里我说说的是在整个子程序中LR没有被改变),返回父程序时,你就可以使用 MOV PC, LR 2. 1: ;A cmp r0, #0 beq 1f ; r0==0那么向前跳转到B处执行 bne 1b ; 否则向后跳转到A处执行 1: ;B 1b,1f里的b和f表示backward和forward,1表示局部标签1
[单片机]
ARM学习之Nand FLash控制器
今天学习了Nand Flash的一些内容。在此做下回忆和总结: 1.什么是Nand Flash? 答:Nand FLash是一种非易失性的存储性介质,一般用于保存嵌入式系统运行所必需的操作系统、应用程序、用户数据等,地位和PC上的硬盘类似。一般来说,它的接口引脚不像SDRAM那样多(SDRAM有20多根),一般也就是十几根。以三星公司的K9F1208U0M为例,如下所示。 正因为它的数据引脚较少,所以它的命令、地址、数据都是公用这一组IO引脚再配上ALE、CLE等其他使能信号进行传输的。操作Nand Flash(读、写、擦除)也和简单,基本上是按照传输命令、传输地址、最后读写数据这样一个流程实现的。这些命令在具体的芯片手册上都
[单片机]
Arm 宣布推出全新汽车技术,可缩短多达两年的人工智能汽车开发周期
新闻 重 点 : 支持功能安全的全新 Arm 汽车增强 (AE) 处理器将为 AI 驱动的用例带来先进的 Armv9 架构技术和服务器级性能 Arm 针对汽车应用的未来计算子系统将进一步缩短高性能汽车系统的开发时间、降低成本,并带来最大的灵活性 Arm 生态系统首次实现在物理芯片就绪前就可基于虚拟原型解决方案启动软件开发,由此可缩短多达两年的开发周期 Arm 控股有限公司(纳斯达克股票代码:ARM,以下简称“Arm”)今日携手生态系统合作伙伴推出最新的 Arm 汽车增强 (AE) 处理器和虚拟平台,让汽车行业在开发伊始便可应用,助力缩短多达两年的开发周期。 Arm 高级副总裁兼汽车事业部总经理 Dipti Vac
[汽车电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved