
ARM 汇编程序设计
文章平均质量分 77
sfrysh
嵌入式开发,本博客大部分资源来自网络,为学习交流之用,如有侵犯你您的版权,实属无心,请给本人留言,本人会及时删除。
展开
-
ARM 指令集>>跳转指令
<br />一、跳转指令<br />跳转指令用于实现程序流程的跳转,在ARM 程序中有两种方法可以实现程序流程的跳转:<br />Ⅰ.使用专门的跳转指令。<br />Ⅱ.直接向程序计数器PC 写入跳转地址值。<br />通过向程序计数器PC 写入跳转地址值,可以实现在4GB 的地址空间中的任意跳转,在跳转之前结合使用 MOV LR,PC 等类似指令,可以保存将来的返回地址值,从而实现在4GB 连续的线性地址空间的子程序调用。<br />ARM指令集中的跳转指令可以完成从当前指令向前或向后的32MB的地址空间转载 2010-12-25 16:19:00 · 1557 阅读 · 0 评论 -
ARM汇编中LDR与LTORG的关系
看了arm汇编语言语法一个多月了。总算入门了。当然还有很多东西值得继续努力推敲滴。 最近对LDR与LTORG有了一些新的认识。 LDR是一个比较复制的指令。作用是从存储器到寄存器的单一数据读取指令。它有19条指令格式。其中有两条格式为宏指令(macro),格式如下:1,LDRRd,2,LDR Rd,= 这里重点分析下第二条宏指令。它会被编译转载 2011-10-22 22:05:10 · 2027 阅读 · 0 评论 -
ADS汇编语言2 .
4.2 汇编语言的语句格式ARM(Thumb)汇编语言的语句格式为: {标号} {指令或伪指令} {;注释} 在汇编语言程序设计中,每一条指令的助记符可以全部用大写、或全部用小写,但不用许在一条指令中大、小写混用。同时,如果一条语句太长,可将该长语句分为若干行来书写,在行的末尾用“/”表示下一行与本行为同一条语句。4.2.1 在汇编语言程序中常用的符号 在汇转载 2011-10-20 23:56:50 · 1692 阅读 · 0 评论 -
ADS汇编语言1
ARM编译器一般都支持汇编语言的程序设计和C/C++语言的程序设计,以及两者的混合编程。本章介绍ARM程序设计的一些基本概念,如ARM汇编语言的伪指令、汇编语言的语句格式和汇编语言的程序结构等,同时介绍C/C++和汇编语言的混合编程等问题。本章的主要内容: - ARM编译器所支持的伪指令 - 汇编语言的语句格式 - 汇编语言的程序结构 - 相关的程序示例 4.1 AR转载 2011-10-20 23:43:29 · 1584 阅读 · 0 评论 -
ARM编程进阶之一 —— ARM汇编伪指令
到目前为止,我们已经具备编写较为复杂的ARM汇编程序的能力,但要编写较为复杂且实用的程序,我们就不得不掌握ARM汇编的伪指令(pseudo-instruction)。千万别把汇编伪操作(directive)与汇编伪指令(pseudo-instruction)弄混了,directi转载 2011-09-21 13:25:27 · 1983 阅读 · 1 评论 -
ARM汇编--寻址方式
ARM7TDMI(-S)具有32位ARM指令集和16位Thumb指令集。 ARM指令集效率高,但是代码密度高 Thumb指令集具有较高的代码密度,却仍然保持着ARM的大多数性能上的优势,它是ARM的子集。 所有的ARM置零都是可以条件执行的,而Thumb置零仅有一条指转载 2011-09-20 09:46:54 · 1402 阅读 · 0 评论 -
ADS ARM Assembler内置变量
<br />下表列出了ARM汇编器定义的内置变量。(引自Assembler Guide第三章 汇编参考)<br />变量名称<br />含义<br />{PC} or .<br />当前指令的地址<br />{VAR} or @ <br />存储区位置计数器当前值<br />{TRUE}<br />逻辑常量“真”<br />{FALSE}<br />逻辑常量“假”<br />{OPT}<br />当前设置的列表选项值。OPT指令可用于保存当前选项列表,强制改变或者恢复初始值。<br />( Value of转载 2011-03-28 08:57:00 · 1041 阅读 · 0 评论 -
ARM中的程序状态寄存器(CPSR)
2006.11.100:31作者:hokepoly | 评论:1 | 阅读:8379<br />3130292827~876543210NZCV保留IFTM4M3M2M1M0NNegative/Less ThanIIRQ disableZZeroFFIQ disableCCarry/Borrow/ExtendTState bitVOverflowM0~4Mode bits <br />1、条件码标志<br /> N、Z、C、V均为条件码标志位。它们的内容可被算术或逻辑运算的结果所改变,并且可以决定某条指令转载 2011-03-23 19:49:00 · 1413 阅读 · 0 评论 -
2440init.s文件分析
<br />;=========================================<br />; NAME: 2440INIT.S<br />; DESC: C start up codes<br />; Configure memory, ISR ,stacks<br />; Initialize C-variables<br />; 完全注释<br />; HISTORY:<br />; 2002.02.25:kwtark: ver 0.0<br />; 200转载 2011-03-27 21:38:00 · 822 阅读 · 0 评论 -
ARM汇编中ldr与adr的区别
ldr r0, _start adr r0, _start ldr r0, =_start nop mov pc, lr _start: nop 编译的时候设置 RO 为 0x0c008000↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓转载 2011-10-18 21:42:52 · 773 阅读 · 0 评论