
ASM_Linker
lamdoc
这个作者很懒,什么都没留下…
展开
-
ADS_CodeWarrior_AXD
1. ADS 全称 ARM Developer Suite, ARM集成开发环境。 可以用ADS 1.2.ADS 包括了命令行开发工具,GUI(Graphics User Interface) 开发环境, 如 CodeWarrior 和 AXD。2. CodeWarrior IDE 提供了一个简单通用的图形化用户界面,用于管理项目。 可以以ARM处理器为对象,开发C, C++ 和 ARM原创 2012-09-03 21:58:44 · 435 阅读 · 0 评论 -
ands
Q:问一个有关汇编的基础问题. 例程: ANDS R1,R1,#0x0400 BEQ WAITOK 请问 ANDS 是如何影响标志位的,而 BEQ 判断的是那两个操作数相等时执行A:R1&0x0400 => R1,若结果为 0(即 R1 为 0),则标志位 Z=1. 当 Z=1 时,BEQ WAITOK 有效执行.原创 2013-05-27 11:44:49 · 1337 阅读 · 0 评论 -
汇编中的1b, 1f
1b,1f里的b和f表示backward和forward,1表示局部标签1bne - branch if nemachines: basesyntax: bne $soffset8format:15 14 13 1211 10 9 87 6 5 4 3 2 1 0f-op4f-condf-soffset80xd0x1原创 2013-05-27 11:57:43 · 2022 阅读 · 0 评论 -
ARM汇编STR和LDR
1.使用单一数据传送指令(STR 和 LDR)来装载和存储单一字节或字的数据从/到内存。 LDR是内存数据放到寄存器,即装载,是读 STR是寄存器数据到内存,即存储,是写 ldr r0, PtEBIBase 对于这条指令中的PtEBIBase,它是一个地址么?可是它之前的定义是: PtEBIBase: .long EBI_B原创 2013-05-27 10:21:03 · 785 阅读 · 0 评论 -
BSS段_数据段_代码段_堆_栈
BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。代码段:代码段(code segment/text segment)通常是指用原创 2012-08-17 15:50:22 · 596 阅读 · 0 评论 -
ARM中的各种寄存器名称 LR_PC_SP_CPSR_SPSR
lr就是连接寄存器(Link Register, LR)在ARM体系结构中LR的特殊用途有两种:一是用来保存子程序返回地址;二是当异常发生时,LR中保存的值等于异常发生时PC的值减4(或者减2),因此在各种异常模式下可以根据LR的值返回到异常发生前的相应位置继续执行。通常LR就是各异常模式下的R14LR --- Link Register 连接寄存器PC ---Prog原创 2013-01-24 17:04:10 · 2651 阅读 · 0 评论 -
MRC 和 MCR 命令
1.MRC 指令用于将协处理器寄存器中的数据传送到ARM 处理器寄存器中,若协处理器不能成功完成操作,则产生未定义指令异常。 MRC 指令的格式为: MRC{条件} 协处理器编码,协处理器操作码1,目的寄存器,源寄存器1,源寄存器2,协处理器操作码2。其中协处理器操作码1 和协处理器操作码2 为协处理器将要执行的操作,目的寄存器为ARM 处理器的寄存器,源寄存器1 和源寄存原创 2013-01-24 13:25:36 · 876 阅读 · 0 评论 -
一段ASM代码
;/*******************************************************************************; * bla.bla.bla; ******************************************************************************/ //开始,列出了ARM原创 2013-01-24 11:16:12 · 542 阅读 · 0 评论 -
一段链接文件code
/* ------------------------------------------------------------------------- * File: conf/default.dld * * This is the linker command file which dld uses by default if no linker * command file is s原创 2013-01-24 17:20:38 · 369 阅读 · 0 评论 -
处理器_微架构_指令集之间的关系
1. ISA --- Instruction Set Architecture, 指令集体系结构, 它是处理器的一个抽象描述。ISA 在处理器中的实现,称为Microarchitecture(微架构), 如同 X86是Architecture, Intel和AMD各自使用不同的Microarchitecture。Architecture是处理器的设计规范,定义处理器能做什么,Microar原创 2012-09-19 22:07:58 · 1478 阅读 · 0 评论 -
选择处理器需要考量的因素
选择处理器时, 需要考量以下一些因素:原创 2012-09-19 21:48:55 · 355 阅读 · 0 评论 -
CISC 与 RISC 的比较
下表是 CISC 指令集和 RISC 指令集的 主要区别:原创 2012-09-19 21:31:44 · 433 阅读 · 0 评论 -
汇编代码例子
一段简单的汇编代码,注释了汇编代码的格式: AREA Example,CODE,READONLY ; 声明代码段Example ENTY ; 标识程序入口 CODE32 ; 声明32位ARM指令START MOV R0,#1 MOV R0,#0 END ;标识程序结束AREA --- 用来定义一个代码段, Example 是代码段的名字,原创 2012-09-03 21:45:46 · 476 阅读 · 0 评论 -
ARM位操作指令AND,ORR, TST,BIC
BIC位清零指令:BIC(Bit Clear)位清零指令,将寄存器Rn的值与第2个源操作数shifter_operand的值的反码按位做“逻辑与”操作,结果保存到Rd中。 (1)指令的语法格式 BIC{}{S} ,, (2)BIC指令举例 ① 清除R0中的位0、1和3,保持其余的不变。 BIC R0, R0, #0x1011 ② 将原创 2013-05-27 11:11:34 · 2942 阅读 · 0 评论