历史上的今天
返回首页

历史上的今天

今天是:2025年01月08日(星期三)

正在发生

2020年01月08日 | ARM 常用汇编指令

2020-01-08 来源:eefocus

ARM 汇编程序的框架结构

.section .data

      <初始化的数据>

.section.bss

      <未初始化的数据>

.section .text

.global _start

_start:

      <汇编代码>

注意: 一般是将上面结构进行简化

.text

.global  _start

_start:

     <汇编代码>

 

寄存器操作指令:

算术和逻辑指令:

MOV :用于将一个寄存器或被移位寄存器或一个立即数移动到目的寄存器

MOV  r1 ,#8 (注意:#+数,表示一个十进制数,#+0b数,表示一个二进制数,#+0x数,表示一个十六进制数)

 

MVN :对源操作数取反再赋值给目的寄存器

MOV R1,#8

 

SUB : 将一个数减去另外一个数再存放如寄存器

SUB R1,#8,#6(8-6)

 

ADD:将一个数加上另外一个数后将其存放如寄存器中

ADD R1,R2,R3

 

AND :逻辑与

AND R1,R2,#0

 

BIC:位清除

BIC R1,R2,#0B1101

将R2中所与#b1101中1所对应的位清零后的结果保存在R1中

比较指令:

CMP:顾名思义,用于比较两个数的大小,比较的结果不过会放在哪个通用寄存器中而是改在程序状态寄存器中的一个标志状态位

CMP R1,#0B111010

 

TST:测试位,将两个数按位与

TST R1,R2

 

分枝指令:

B:条件跳转指令

B [条件]  标号  (注意 :中括号在编写程序时不需要写出)

 

BL :带连接的返回(类似于C语言中的子函数调用,调用子函数后返回主函数)

 

移位指令:

LSL:算术左移位

MOV R1,R1,LSL#2(将R1中的数据左移两位存入R1)

 

 

ROR:循环右移

MOV R1,R1,#ROR 2(将R1中的数据循环右移后存入R1中)

 

程序状态字访问指令:

上面所学指令都不能对计算机中的程序状态字中的指令进行访问和读写,所以需要专用计算机指令来将程序状态字中的数据读写到通用寄存器中,在进行修改后写入

MRS :将程序状态字中的数据搬出来

MRS  R0,CPRS

MSR:将数据搬回程序状态字中

MSR  CPRS, R0

 

存储器操作指令:

LDR :将内存中的值导出到通用寄存器中

LDR R0 ,#0XFF ‘

STR:将同用寄存器中的数据写回到内存中

STR R0 ,#0XFF

 

 

伪指令:

定义类伪指令:(1:编译时起作用2:起作用但是转化为其他机器指令)

.global  表明一个全局的符号 (注意GNU伪指令的特点在前面加上一个“.”)

.data    定义一个数据段

      .ascii 定义字符串的数据

      .byte 定义一个字节的数据

      .word 定义一个字的数据

      .data

.equ (类似于C语言中定义宏)

 

.align 用于字节对齐

 

 

操作类伪指令:

nop:空操作指令 

具体实现:mov r0 ,r0

ldr:用于将一个大于八位的数据装入寄存器

注意:ldr r0 ,=0x1ff

这里后面是用的等号这里和其他地方有些不一样

 

      

协处理指令:(最重要是就是CP15)

作用:系统控制

mcr:

mrc:

mrc p15,0, r0 ,c0,c0,0

注意:蓝色部分是由芯片手册的cp15寄存器访问列表给出的以访问不同寄存器 。红色部分是内核内部通用寄存器

推荐阅读

史海拾趣

Foxconn_Optical_Interconnect_Technologies__Inc.公司的发展小趣事

Foxconn Optical Interconnect Technologies Inc. 的五个发展故事

故事一:创立与初步发展

Foxconn Optical Interconnect Technologies Inc.(简称FIT),作为鸿海精密工业股份有限公司(Foxconn,又称富士康)旗下的子公司,其发展历程可以追溯到富士康的崛起。富士康由郭台铭于1974年在台湾创立,起初主要生产塑料零件。随着电子行业的蓬勃发展,富士康迅速转型,开始涉足电子制造服务(EMS)。在这一背景下,FIT应运而生,专注于光机电整合连接器、天线、声学元件等产品的研发与生产,逐渐在电子行业中崭露头角。

故事二:技术突破与全球化布局

FIT凭借其在光电互连技术领域的不断创新,逐步确立了在全球市场的领先地位。公司通过持续加大研发投入,成功开发出一系列高性能、高可靠性的产品,广泛应用于电脑、通讯、消费电子等多个领域。同时,FIT积极实施全球化战略,在亚洲、北美、南美和欧洲等地设立生产基地和研发中心,形成了覆盖全球的生产和服务网络。这一布局不仅提升了公司的市场竞争力,也为其未来的发展奠定了坚实基础。

故事三:与富圣光电的合作

FIT与富圣光电科技(昆山)有限公司的合作是其发展历程中的一个重要里程碑。富圣光电作为富士康旗下专注于光电科技领域的企业,与FIT在技术研发、产品生产等方面展开了深度合作。通过资源共享和优势互补,双方共同推动了光电技术的发展和应用。目前,FIT持有富圣光电50%的股份,这一合作不仅增强了双方在光电市场的竞争力,也为双方带来了显著的经济效益。

故事四:收购夏普与技术整合

2016年,富士康(鸿海精密工业股份有限公司)成功收购日本夏普公司,这一举动对FIT的发展产生了深远影响。夏普在显示技术、半导体等领域拥有强大的技术实力和市场地位,而FIT则擅长光电互连技术的研发和生产。通过此次收购,FIT得以将夏普的先进技术与自身优势相结合,进一步提升了在光电领域的综合竞争力。同时,这也为FIT拓展国际市场、提升品牌影响力提供了有力支持。

故事五:新能源汽车领域的探索

近年来,随着新能源汽车市场的快速崛起,FIT也开始将目光投向这一新兴领域。公司利用自身在光电技术方面的优势,积极研发新能源汽车充电系统、光电传感器等关键零部件。通过不断的技术创新和市场拓展,FIT在新能源汽车领域取得了初步成果。这一领域的探索不仅为公司带来了新的增长点,也为其在光电技术领域的持续发展注入了新的动力。

友盟(AP)公司的发展小趣事

在市场拓展方面,友盟(AP)公司也展现出了强大的实力。公司通过线上线下相结合的方式,积极开展市场推广活动,扩大品牌知名度和影响力。同时,友盟还积极参与行业交流和合作,与业界同行共同探讨行业发展趋势和未来发展方向。这些努力不仅提升了友盟在行业内的地位,也为其未来的发展奠定了坚实的基础。

Ambersil公司的发展小趣事

在电子行业的初期,Ambersil公司以其创新的技术和产品迅速崭露头角。公司研发团队成功开发出一种高效的电子清洁剂,能够去除电路板上的顽固污垢,提高电子设备的性能和稳定性。这一创新产品迅速获得了市场的认可,Ambersil公司因此获得了大量的订单,销售额逐年攀升。

Guerrilla RF公司的发展小趣事
使用万用表等工具测量电动机驱动电路中的电压和电阻,以判断是否存在短路或断路等问题。
AC Interface Inc公司的发展小趣事

随着全球环保意识的增强,ABC Electronics Inc. 敏锐地捕捉到了绿色电子产品的市场潜力。公司开始研发和生产符合环保标准的产品,如低能耗的LED照明产品、可循环利用的电池等。同时,公司还优化了生产工艺,减少了生产过程中的环境污染。这些环保举措不仅赢得了消费者的青睐,也提升了公司的社会形象。

台湾三礼(3L)公司的发展小趣事

在技术创新方面,三礼公司一直保持着领先地位。2009年,公司成功完成了UPI、DPI压模型电感量产布线及自制粉料能力,并获得了Texas Instrument认证。同时,公司重新发布了愿景并重新定义了3L,将持续改善、精益生产、以客为尊作为公司的三个核心L。随后,公司成立了精实中心,进一步推进精益生产的自动化配置,实现了生产效率的大幅提升和不良品及库存的减少。

问答坊 | AI 解惑

欧姆龙PLC中断问题

欧姆龙PLC如何实现中断,从那里进入及退出,请高人指点!…

查看全部问答>

Keil C51 几类重要库函数 (2)

8. 第八章 dScope for Windows使用详解 1. 第一节 概述 1. 1. 主窗口(Mainframe Window) 可设置其它各种调试窗口,设置断点、观察点,修改地址空间,加载文件等等; 2. 2. 调试窗口(DEBUG Window) 支持用户程序的各种显示方式,可连续运行 ...…

查看全部问答>

请问在wince里怎样用wifi发送特定数据

请问在wince里怎样用wifi发送特定数据 有人说就是socket编程,我没想明白,难道系统会自动调用wifi? 还请各位前辈指点迷津!…

查看全部问答>

ST选型

请问谁清楚ST的哪个8位机有2个PWM,3个定时器,10路ADC,34个I/O(含10个AD口) ,是用来做电源的。wendellyang@163.com…

查看全部问答>

热电堆 信号选择

小弟最近想做一个用于微波炉的温度测量的红外探测模块。由于以前都没有做过项目,所以经验非常少,现在我苦于热电堆型号的挑选。         网上看了看有这些:SC0067、SC0070、10TP583T、OTP系列(如OTP-537F2、OTP- ...…

查看全部问答>

关于硬盘无刷电机的驱动

小弟在研究硬盘电机的驱动,我曾试过用小功率管9013,8050,8550等等来搭成达林顿管子,但是驱动电机的时候发热严重,而且明显有气无力...虽然能转...在网上找了很久,想用场效管IRF540N来驱动,但是不知道电路如何搭建...求各位高手,走过路过的能 ...…

查看全部问答>

8962 lwip 如何实现不同网段连接啊

求助,哪位告诉能指点下, 在8962上面使用lwip 如何实现不同网段的能够连接啊???就是公司网络 192.168.1.12的电脑 可以 ping通 192.168.2.2的电脑但是我的板子 192.168.1.10 ping不同 192.168.2.2的电脑…

查看全部问答>

差分放大器低通滤波器设计

有没谁用差分放大器做个低通滤波器的?请指点小弟一下,谢了...…

查看全部问答>

大三学生方向分流,求好心人指点

大三嵌入式又要分方向了, ARM 、 PCL、 单片机,感觉吧....就是没感觉,有没有前辈给这三个方向的发展,优缺点,就业情况分析一下啊? 小弟先谢谢了....!!!   …

查看全部问答>