历史上的今天
今天是:2025年01月29日(星期三)
2020年01月29日 | ARM汇编指令集1
2020-01-29 来源:eefocus
(汇编)指令是CPU机器指令的助记符,经过编译过会得到一串0011组成的机器码,可以由CPU读取执行。
(汇编)伪指令本质不是指令(只是和指令一起写在代码中),它是编译器环境提供的,目的是用来指导编译过程,经过编译后伪指令最终不会生成机器码。
两种不同风格的ARM指令
--ARM官方的ARM汇编风格:指令一般用大写,Windows中的IDE开发环境(如ADS、MDK)常用。如:LDR R0,[R1]
--GNU风格的ARM汇编:指令一般用小写字母、Linux中常用。如:ldr r0,[r1]
ARM 汇编的特点1:LDR/STR架构
--ARM采用RISC架构,CPU本身不能直接读取内存,而需要先将内存中内容载入CPU中通用寄存器中才能被CPU处理。
--ldr(load register)指令将内存内容加载入通用寄存器。
--str(store register) 指令将寄存器内容存入内存空间中。
--ldr/str组合用来实现ARM CPU和内存数据交换。
ARM汇编特点2: 8种寻址方式
--寄存器寻址 mov r1,r2
--立即寻址 mov r0,#0xFF00
--寄存器移位寻址 mov r0,r1,lsl#3
--寄存器间接寻址 ldr r1,[2] ;r2里的数据为内存地址里的数据赋值给r1(有点像C语言的指针)
--基址变址寻址 ldr r1,[r2,#4] ; r2里的数据为内存地址加4的地址里的数据赋值给r1(有点像C语言的指针)
--多寄存器寻址 ldmia r1!,{r2-r7,r12};r1里的数据作为起始内存地址依次往后将r2,r3,r4,r5,r6,r7,r12里的数据依次赋值到内存里(类似于数组)
--堆栈寻址 stmfd sp!,{r2-r7,lr};sp里的数据作为起始内存地址依次往后将r2,r3,r4,r5,r6,r7,lr里的数据依次赋值到内存里(栈的操作)
--相对寻址 beq flag;直接跳转到flag为标号的地方
ARM汇编特点3:指令后缀
--同一指令经常附带不同的后缀,变成不同的指令。
经常使用的后缀有:
B(byte)功能不变,操作长度变为8位
H(half word)功能不变,长度变为16位
S(signed )功能不变,操作数变为有符号 如:ldr ldrb ldrh ldrb ldrh
上一篇:ARM与X86 CPU架构区别
下一篇:ARM汇编指令集3
史海拾趣
|
夜灯相信大家也见过不少,虽然样式繁多,我们今天带来的这款相信您绝对没见过,将灯设计成一个双手抱住插座的小人,让他趴在墙上,令原本平淡无奇的夜灯顿时添加了一份动感。 这款灯为夜间提供一个微弱的照明,当房间光线变暗的时候,小夜灯会自动 ...… 查看全部问答> |
|
初次烧写,没有经验。烧写报错: Programming failed at Program Memory address0x000000 编程没有问题,就是烧写的时候出现错误。偿试多次,仍是这样。 有烧写经验指点一下,是什么问题导致!… 查看全部问答> |
|
本来有wince平台下的智能输入法,包括拼音、笔画、数字、及字母输入法。 本人有wince平台下的智能输入法,包括拼音、笔画、数字、及字母输入法。有源代码,有意者请联系t9ime_wince@163.com,非诚勿扰!… 查看全部问答> |
|
在使用c8051f020的串口往pc串口发送数据时,始终不成功,望高手指点一下: 串口调试器设置:8-N-1;Baud=38400; void Port_Init(void) { XBR0 = 0x04;//UART0EN=1 XBR1 = 0x00; &n ...… 查看全部问答> |
|
EVC上编译好的程序在PDA上显示不了图片,达人帮忙,紧急,老板要杀人了!!! 在EVC模拟器下可以执行的程序,用来显示图片的 在release后,放到PDA上运行,程序没问题,但是图片显示不出来了 在EVC上,图片是用viewer下载到根目录,是不是在PDA上要做其他的操作?release是不是没有包含所有资源文件? 求救,紧急,老板 ...… 查看全部问答> |
|
期待您的帮助~在CE下如何获取主板 HD CPU的序列号呢~ 小弟使用VS2005的VB开发CE5下的程序 现在想读取主板上的一些信息用来加密~主板序列号 硬盘序列号 CPU序列号什么的都可以~但可惜的是CE下不像XP有WMI可以很方便的调用~想知道各位大侠是怎么解决这方面的问题的~… 查看全部问答> |
|
目前的外延技术可以使得InGaN有源层在常温和普通注入电流条件下的内量子效率达到90-95%,但当温度升高时,内量子效率会有较大的下降,因此要提高发光效率必须控制结温和提高出光效率。基于这点,技术发展趋势如下: 1)衬底剥离技术(Lift-off) ...… 查看全部问答> |
|
1、关于setup/hold time 1)假设存在positive clock skew为10ns,问最高电路频率 2)能容忍的最大positive clock skew 3)能容忍的最大negative clock skew positive clock skew:DFF2的clock比DFF1的来的晚 negative clock skew:DFF2的cloc ...… 查看全部问答> |
|
在这里吧FSMC 涉及到的用法做一个分类总结,虽然官方的文档很好,但是还是用朴素的话做分类说明,方便大家使用,同时如果小弟有理解不对的地方,希望大家及时指正,又缺少的部分大家发帖补充完善下吧。 首先明确一个问题 FSMC 有两种控制器 ...… 查看全部问答> |




