ARM 汇编器对C的扩展

发布者:Ziyu2022最新更新时间:2016-12-28 来源: eefocus关键字:ARM  汇编器 手机看文章 扫描二维码
随时随地手机看文章

__swi void ledtest();    //:声明 edtest 是个软中断。

__asm  内嵌汇编          //:通常在C程序里面需要嵌入汇编代码,这是就可以用__asm关键字来指示编译器下面的代码是用汇编语言来写的,

__inline 定义内联函数    //:就像在C语言中用define定义宏一样,用__inline关键字定义的函数在调用的地方被展开,这主要就是为了解决频繁的函数调用开销过大的问题,如果用__inline关键字定义的函数过大,每个调用函数的地方都会将其展开,这样的话在一定程度上也增加代码量,所以说一般用__inline  定义的函数代码量并不是很大。

 

由于在C语言中无法直接访问COSR, 因此需要通过嵌入式汇编语言来将CPSR 中I位清零,此外,访问CPSR 还需要专门的程序状态寄存器访问MSR  MRS 来实现。

用如下代码实现开中断:

__inline  void irq_enable(void)   //用关键字__inline 声明内联函数irq_enable()

{

int val;              //定义临时变量保存CPSR 的值

__asm              //关键字告诉编译器下面的代码是用汇编语言写的

{

mrs val,cpsr            //用mrs指令将程序状态寄存器cpsr中的值读入到val

bic val,val,#0x80          //用BIC指令将val中第7位(I位)清0

msr cpsr_c,val          //用MSR指令将val 的值写入到cpsr 此时I位已经清零 即开中断。

}

}

下面的函数实现的是关中断:

__inline  void irq_disable(void)   //用关键字__inline 声明内联函数irq_enable()

{

int val;              //定义临时变量保存CPSR 的值

__asm              //关键字告诉编译器下面的代码是用汇编语言写的

{

mrs val,cpsr            //用mrs指令将程序状态寄存器cpsr中的值读入到val

orr val,val,#0x80          //用BIC指令将val中第7位(I位)清0

msr cpsr_c,val          //用MSR指令将val 的值写入到cpsr 此时I位已经清零 即开中断。

}

}


关键字:ARM  汇编器 引用地址:ARM 汇编器对C的扩展

上一篇:ARM 之FIQ(快速中断) IRQ(中断)
下一篇:ARM的两种启动方式 (NAND FLASH. NOR FLASH)

推荐阅读最新更新时间:2024-03-16 15:27

英特尔为高端显卡市场挖走AMD主管,后者曾在苹果任职四年
近期芯片市场又风云四起。周三,为加强高端显卡市场,英特尔宣布聘用前AMD主管Raja Koduri,让整个市场都大吃一惊。 Raja Koduri被认为显卡领域的领军人物之一。在短暂的休假后,他于本周辞去了在AMD的工作。Koduri曾在AMD长期任职,中途曾在苹果任职四年,随后他于2013年回到AMD,领导了重振AMD图形业务的工作。在苹果,Koduri帮助开发了iPhone和其他产品的显示屏。在此之前,他是AMD和ATI技术公司的顶尖图形开发者之一,ATI技术公司于2006年被AMD收购。 到达英特尔后,Koduri将成为新成立的核心和视觉计算小组的高级副总裁和首席架构师。英特尔表示,公司将进军“高端离散图形”领域,也
[半导体设计/制造]
微软展示Win 8平板电脑 配置四核ARM芯片
北京时间8月28日消息,据国外媒体报道,在上周五的“Tech Ed 2011新西兰”会议上,微软展示了名为Windows Slate、配置四核ARM芯片的平板电脑。 微软企业技术架构师帕特里克·赫维西(Patrick Hevesi)表示,该公司的目标是向企业用户提供iPad之外的其他选择。他说,微软正在与OEM合作伙伴合作生产更符合企业用户需求的新一代平板电脑,“我们发现,许多iPad用户同时配备了蓝牙键盘、鼠标、专用笔等”,微软的目标“是在一种混合产品中整合这些设备,使之更符合企业用户需求”。 赫维西指出,例如,微软在与部分合作伙伴合作,为新一代Windows平板电脑增添PC的“即时开机”(instant on)功能
[嵌入式]
64位战场:ARM阵营竞争激烈 X86依旧孤独
作为智能手机核心部件之一的移动芯片,向来竞争激烈。而64位和多核无疑成为今年芯片厂商争夺的焦点。 芯片巨头聚焦多核、64位 普及势不可挡 尽管去年移动芯片市场老大高通对于多核及64位仍在踌躇之中,但在今年的MWC上,高通却突然发力。其中发布的骁龙615芯片组是移动行业首款集成LTE和 64位功能的商用八核解决方案,而另外的骁龙610芯片组则采用四核处理技术支持LTE和64位功能。凭借骁龙610和615芯片组的推出,以及最近发布的骁龙410芯片组,高通的产品组合已包含一系列64位4G LTE解决方案的强大阵容。 此外,高通还计划推出骁龙610和615处理器的参考设计(QRD)版本,在基于骁龙200和400处理器的QRD基
[单片机]
ARM架构的苹果处理器为什么性能更强
苹果在2008 年4 月23 日,冒着极大风险硬着头皮发表初代iPhone 的隔年,耗费2 亿7,800 万美元,购并了专注开发高效能Power 处理器的PA Semi,组成其处理器研发团队的骨干,然后在2012 年9 月发表的iPhone 5,其心脏「A6」处理器,终于不再使用来自ARM 授权的核心,采用自家的「Swift」微架构(Micro Architecture)。 再以世界上首款抢滩登陆智慧型手机与平板的64 位元ARM 处理器「A7」(Cyclone 微架构)为起点,苹果自家SoC 开始逐渐展现压倒ARM Cortex 家族(与躺着中枪的Qualcomm 自有核心)效能优势,且随着时间演进,差距越拉越开。   接着,
[嵌入式]
ARM处理器启动代码的分析与设计
ARM体系结构 目前,ARM系列的通用32位RISC微处理器有ARM7、ARM9、ARM9E、ARM10等多个产品,这些处理器可以工作于7种模式下。除User模式以外的其它模式都叫做特权模式,除User和System以外的其它5种模式叫做异常模式。大部分应用程序都在User模式下运行,当处理器处于User模式下时,执行的程序无法访问一些被保护的系统资源,以利于操作系统控制系统资源的使用,也不能改变模式,否则就会导致一次异常。对于SySTem模式,任何异常都不会导致进入这一模式,而且它使用的寄存器和User模式下基本相同,主要是用于有访问系统资源请求而又避免使用额外的寄存器的操作系统任务。在特权模式下,它们可以完全访问系统资源
[单片机]
<font color='red'>ARM</font>处理器启动代码的分析与设计
ARM风袭来!盘点那些基于ARM架构的服务器厂商
在美国加州举办的 Arm Te chCon 2018技术峰会上,Arm公司正式发布了面向全球合作伙伴的ServerReady服务器认证计划。近年来,Arm与完整的基础设施供应链合作,包括芯片供应商,独立固件供应商,操作系统和虚拟机管理程序供应商,OEM,ODM,独立硬件供应商和云基础设施供应商。 Arm与合作伙伴共同定义了服务器基础架构规范(Server Base System Architecture - SBSA)中的最低硬件要求,以及服务器基本启动需求(Server Base Boot Requirements - SBBR)规范中的最低固件要求,并尽可能利用行业标准和创建新的Arm规范,以实现互操作性。Arm S
[嵌入式]
<font color='red'>ARM</font>风袭来!盘点那些基于<font color='red'>ARM</font>架构的服务器厂商
ARM指令集-协处理器指令
ARM 微处理器可支持多达 16 个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略 ARM 处理器和其他协处理器的指令。 ARM 的协处理器指令主要用于 ARM 处理器初始化 ARM 协处理器的数据处理操作,以及在ARM 处理器的寄存器和协处理器的寄存器之间传送数据,和在 ARM 协处理器的寄存器和 存储器 之间传送数据。 ARM 协处理器指令包括以下 5 条: CDP 协处理器数操作指令 LDC 协处理器数据加载指令 STC 协处理器数据存储指令 MCR ARM 处理器寄存器到协处理器寄存器的数据传送指令 MRC 协处理器寄存器到ARM 处理器寄存器的数据传送
[单片机]
ARM嵌入式系统的问题总结分析
   引言   由于各种新型微处理器的出现和应用的不断深化,嵌入式系统在后PC时代得到了空前的发展。随着时间的推移和技术的进步,在工业控制和新兴的手持式应用等领域,用户体验成为产品成功的关键因素之一,越来越多的产品需要良好的用户界面、互联功能以及较强的数据处理能力,这对嵌入式处理器硬件、软件、教学等提出了新的要求。    1 嵌入式处理器与硬件   在处理器方面,目前大量的中、低端嵌入式应用,主要使用8/16位单片机。在国内,由于历史的原因,主要是以MCS51核为主的许多不同型号单片机,主要厂商有Atmel、Philips、Winbond、宏晶等。还有一些近几年发展较快的新型单片机,如PIC、AVR、MSP430系列等。这些
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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