第一部分体系结构指令arm程序设计_第1页
第一部分体系结构指令arm程序设计_第2页
第一部分体系结构指令arm程序设计_第3页
第一部分体系结构指令arm程序设计_第4页
第一部分体系结构指令arm程序设计_第5页
已阅读5页,还剩162页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ARM程序设:本课件及其印刷物、的归国嵌 ,不得使用该课件及其印刷物、从事商业、教学活动。已经取 的,应在范围内使用,并注明“来源:国嵌”。上述者 。嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群mini2440ARMARMARMARMARMARMC/C++ADSmini2440ARMARMARM嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群什么是ARM(AdvancedRISC199年RM公司成立于英国,主要设计技术的。目前,采用RM技术知识(I)核的微处理器,即我们通常所说的RM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于RM技术的理器应用约占据了3位RISC微处理器7%以上的市场份额,RM技术正在逐步渗入到我们生活的各个方面ARM公司是专门从事基于RISC技术设计接从事生产,靠转让设计由合作公司从ARM公司其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的电路,从而形成自己的ARM微处理器进入市据统计,全球有103家巨型IT公司在采用ARM技术,20家最大的半导体厂商中有19家是ARM的用户,包括德州仪器,意法 等。ARM系列 嵌入式Linux嵌入式Linux技术咨嵌入式Linux学习交号群嵌入式Linux嵌入式Linux技术咨嵌入式Linux学习交号群 月年月间在位于英国的AcornComputer公司开发。20世纪90ARM快速进入世界市场。嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群可和广泛使用。1995StrongARM问世XScale是下一代StrongARM的发展基础ARM10TDMI是ARM处理器核中的高端产品ARM11是ARM中性能最强的一个系列ARM9、ARM10、Strong-ARM和ARM11等系列处理器的开更为广泛的使得基于ARM的嵌入式应用领域更加广嵌入式Linux嵌入式Linux学习交群Cambridge,Maidenhead,Sheffield,Blackburn

Seattle,LosGatos,WalnutAustin,Boston,SanandParis,Sophia

Shin-Yokohama

全球雇

嵌入式Linux技术咨

嵌入式Linux嵌入式Linux学习交群应用领SamsungDiamondMultimediaRioSamsungJVC"Pixstar"GC-

AlbaBushInternetLexmarkZ52Color

Iomega

HPHP

Nokia Nokia嵌入式Linux技术咨 应用应用领嵌入式Linux嵌入式Linux技术咨嵌入式Linux学习交号群2、无线通讯领域了ARM技术ARM以其高性能和低成本,3、网络应用ARM技术的ADSL正逐步 应用应用领嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群现在流行的数码相机和中绝嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群特特1、体积小、低功耗、低成本、高性2、支持Thumb(16位)/ARM(32位双指令集,能很好的兼容8位/16位器3、大量使用寄存器,指令执行速度4、寻址方式灵活简单,执行效率嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群系系ARM7系ARM9系ARM9E系ARM10E系ARM11系SecurCore系Inter的Inter的嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群 ARM7TDMI、ARM7TDMI-S、ARM720T、嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群端、数字照相机和数字机等。ARM9系列微处理器包含ARM920T、ARM922T和ARM940T类型嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ARM9E系列微处理器为综合处理器,提供了增嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ARM10E系列微处理器具有高性能、低功耗的特点,嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群1GHz时钟频率。ARM11处理器在提供高性能的同嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群Xscale处理器是基于ARMv5TE体系 络产品等场合。Xscale处理器是Inter嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群InterStrongARM处理器是采用ARM体系结 InStrongARM处理器是便携式通讯产品嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ARMARMmini2440开发板介ARM工作模ARM寄存ARM寻址方嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群SamsungS3C2440为微处理器,并采用专业稳定的CPU内核电源和复位来保证系统运行时的稳定性。mini2440的PCB采用嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群硬件硬件资嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群CPU处理SamsungS3C2440A,主频最高SDRAM在板64M32bit数据总SDRAM时钟频率高达FLASH128MNandFlash2MNorFlashLCD标准配置为NEC256K色240x320/3.5英寸TFT彩液晶屏,带触摸屏板上引出一个12V电源接口,可以为大尺寸TFT晶的12VCCFL背光模块(Inverting)1个100M以太网RJ-45接口(采用DM9000网)3个串行1个USB1个USBSlave1个SD卡接1路立体声音频输出接口,一路麦克风接1个2.0mm间距10针JTAG4USER6USER 1个可调电阻,用于AD1个I2C总线AT24C08,用于I2C总线测1个2.0mm间距20pin头接嵌入式Linux嵌入式Linux学习交群布嵌入式Linux技术咨 嵌入式Linux嵌入式Linux技术咨嵌入式Linux学习交号群S3C2440支持两种启动模式:一种是从NandFlash启动;一种是从NorFlash启动。在此两种的NANDFlash启动模式下,内部的4KBytesBootSram被映射到nGCS0片选的空间NorFlash启动模式下,与nGCS0相连的NorFlash被映射到nGCS0片选的空间嵌入式Linux嵌入式Linux技术咨嵌入式Linux学习交号群启动与启动启动与嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群mini2440的启动模式选择,是通过拨动S2来决定的,根据提示S2接到NorFlash标识一侧时,系统将NorFlash启动S2接到NandFlash标识一侧时,系统将从NandFlash启动。mini2440使用了两片外接的32Mbytes总共64Mbytes的SDRAM(型号为:并接在一起形成32-bit的总线数据宽度,这样使用了nGCS6作为片选,根据CPU手册5-2 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群LED是开发中最常用的状态指示设备,mini2440板具有4个用户可编程LED,它们直接与CPU的GPIO相连接,低电平有效(点嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群按按mini2440共有6个用户按键,它们均从 EINT8EINT11EINT13EINT14EINT15EINT19GPG0 GPG7嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群以使用USB口更加复杂的系统程序等。除此之外,JTAG器,最终都是通过JTAG接口连接的。嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ARMARMmini2440开发板介ARM工作模ARM寄存ARM寻址方工作工作状嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群从编程的角度看,ARM微处理器的工作状第一种为ARM状态,此时处理器执32位的字对齐的ARM指令器器嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群4GB嵌入式Linux嵌入式Linux技术咨嵌入式Linux学习交号群嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群指令指令状态下)。ARM微处理器中支持字节(8的最低位为0)工作模工作模嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ARM微处理器支持7种工作模式,分别为1、用户模式用于正常2、快速中断模式用于高速数据3、外部中断模式用于通常的中断不能被的。除用户模式以外,其余的所有6种模式称之非用户模式,或模式(Privileged要受保护的系统资源等情况。嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ARMARMmini2440开发板介ARM工作模ARM寄存ARM寻址方嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群序计数器PC、一个状态寄存器都是可的。嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群寄存器寄存器(ARM状态在ARM工作状态下,任一时刻可以个通用寄存器和一到两个状态寄存器非用户模式(模式)下,则可到特定模式分组寄存器,具体见下页图:嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群寄存器(ARM状态寄存寄存器(Thumb状态嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群Thumb状态下的寄存器集是ARM状态下存器(LR)和CPSR。具体见下页图:嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群R13_svc、R13_abt、R13_irq、R8_fiq~不分组寄存器(TheunbankedR0-分组寄存器(ThebankedR8-程序计数器嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群理器模式下,的都是同一个物理寄存嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群分组寄存器R8-FIQ模式分组寄存器R8-FIQ以外的分组寄存器R8-分组寄存器R13、寄存器R13通常用做堆栈指针寄存器R1用作子程序寄存器(LnkRegiste-LR),也称为L,指向函数的返回地址嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群PC。其值等于当前正在执行的指令的地嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ARM所有工作模式下都可以程序状态寄嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ARMARMmini2440开发板介ARM工作模ARM寄存ARM寻址方嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群所谓寻址方式就是式嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群 寄存器寻址就是 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群址,而操作数本身存放在器中。例如以下指令ADD 器中的数据传送到R0中嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群基址基址变LDR LDR ;R0←[R1+4]、LDRR0,[R1 ;R0←[R1]、LDR 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群;跳转到子程序NEXT处执嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群堆栈堆栈堆栈是一种数据结构,按先进后出(FirstInLastOut,FILO)的方式工作,使用一个称作堆嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ARMARM指令ARM伪指C/C++混合编ADS集成开发环跳转跳转指嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群跳转指令用于实现程序流程的跳转,在ARM程序中有 4GB连续的线性地址空间的子程序调用 BLX B 目标地BB指令,ARMBCMPBEQ嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群指令Z相Z不相C无符号数大于或等C无符号数小N负N正数或V溢V未溢C置位Z无符号数大CZ置无符号数小于或等N等于带符号数大于或等N不等于带符号数小Z且(N等于带符号数大Z置位或(N不等于带符号数小于或等忽无嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群 BL是另一个跳转指令,但跳转之前,会在寄存器R14存PC当前值,因此,可以通过将R14的内容重新加载到令是实现子程序调用的一个基本但常用的。BLLabel BLX目标地址以通过将寄存器R14值到PC中来完成。BX{条件}BX指令跳转到指令中所指定的目标地址目标地址处的指令既可以是ARM指令,也嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群MOVMOVMOV指令的格式为MOV{条件 目的寄存器,源操作MO指令完成从另一个寄存器、被移位的寄存器或将一个立即数加载到目的寄存器。其中选项决定指令的操作是否影响CR中条件标志位的值,当没有时指令不更新CPR中条件标志位的值。指令示;将寄存器R0的值传送到寄存器;将寄存器R14的值传送到PC,常用于子序返R1,R0,LSL#3;将寄存器R0的值左移3位后传送嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群MVNMVN 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群CMPCMPCMP{条件}操作数1,操作数CM指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行比较,同时更新CPR中条件标志位的值。该指令进行一次减法运算,但不结果,只更改条件标志位。标志位表示的是操作数与操作数的关系大、小、相等,例如,当操作数大于操作操作数,则此后的有T后缀的指令将可以执行。指令示 ;将寄存器R1的值与立即数100减,并根据结果设置CPSR的标志嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群TST{条件}操作数1,操作数操作数2是一个位掩码,根据设置相应标志位。 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ADDADD} ;R0=R1+ ;R0=R1+ ;R0=R2+(R3<<嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群SUBSUB} ;R0=R1- ;R0=R1- ;R0=R2-(R3<<嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ANDANDAND{条件}{S}目的寄存器,操作数1,操作数ANDR0,R0,#3;该指令保持R0的0、1余位嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ORRORRORR{条件}{S目的寄存器,操作数1,操作数 R00、1位,其余位保持不变嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群BICBICBIC{cond}{S}BIC指令用于清除Rn中的某些位,并把结果存放在Rd中,操作数operand2为32位的掩码,如果例:BICR0,R0,#%1011;将R0的0,1,3嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群MULMULMUL{条件 目的寄存器,操作数1,操作数 ;R0=R1× ;R0R1R2,同设置CPSR中的相关条件标志嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ARM微处理器支持程序状态寄存器指嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群MRSMRS} 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群MSRMSRMSR{条件}程序状态寄存器(CPSR或SPSR)_<域>,操作MS指令用于将操作数的内容传送到程序状态寄存器的特定域中。其中,操作数可以为通用寄存器或立即数。域用于设置程序状态中需要操作的位,位的程序状态寄存器可分为个域: 指令MSR ;传送R0的内容到MSR ;传送R0的内容到MSRCPSR_c,R0;传送R0的内容到SPSR,但仅仅修改CPSR中控制嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群 LDR指LDR指嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群LDR{条件}目的寄存器,<器地址LDRLDRLDRLDRR0,[R1,R2] R0,[R1,#8]将器地址为R1+8的字数据读入寄存器R0,并将新地址R1+8写R1LDR将器地址为R1的字数据读入寄存器R0,并将新地址R1+R2写R1LDR将器地址为R1+R2×4的字数据读入寄存器R0,并将新地址R2×4写入R1LDR将器地址为R1的字数据读入寄存器R0,并将新地址R1+R2×4写R1嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群LDRBLDRBLDRB指令的格式LDR{条件}B目的寄存器,<器地址LDRB指令用于从器中将一个位的字节数据传送到目的寄存器中,同时将寄存器的高位。该指令通常用于从器中8位的字节数据到通用寄存器,然后对数据进行处理。指令示 寄存器R0,并将R0的高24位。 ;将器地址为R1+8的字节数读入寄存器R0,并将R0的高24位嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群LDRHLDRHLDR{条件}H目的寄存器,<器地址的寄存器中,同时将寄存器的高16位。该指令通常用 据读入寄存器R0,并将R0的高16位。 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群STRSTRSTR{条件}源寄存器,<器地址储器 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群RM微处理器所支持的批量数据加载/指令可以一次在一片连续的器单元和多个寄存器之间传送数据,批量加载指令用于将一片连续的存储器中的数据传送到多个寄存器,批量数据指令则完成相反的操作。常用的加载指令如下: 批量数据加载指 批量数据指嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群LDMLDMLDM指令的格式为LDM{条件}{类型}基址寄存器{!},寄存器列表{∧}LDM指LDM指嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群其中,{类型}为以下几种情 DA每次传送后地址减DB每次传送前地址减 EDFAEA指令STMFDR13!,{R0,R4-将寄存器列表中的寄存器(R0,R4到R12,LR)存LDMFDR13!,{R0,R4-将堆栈内容恢复到寄存器(R0,R4到R12,LR)嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群SWP字数据交换指SWPB字节数据交换指嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群SWP指令的格式为SWP{条件}目的寄存器,源寄存器1,[源寄存器W指令用于将源寄存器所指向的器中的字数据传送到目的寄存器中,同时将源寄存器中的字数据传送到源寄存器所指向的器中。显然,当源寄存器和目的寄存器为同一个寄存器时,指令交换该寄存器和器的内容。指令示 ;该指令完成将R1所指的器中的字数据与R0中的字数据交换嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群集中单独的指令使用,它只能作为指令格式中是一LSLASLLSRASRROR嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群操作 R0,R1,将R1中的内容左移两位后传送到R0中嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群通用寄存器,ROR操作 R0,R1,嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ARM微处理器所支持的异常指令有如两条 软件中断指 断点中断指嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群SWI{条件24位的立即数 该指令调用操作系统编号位02的系统例程嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ARMARM指令ARM伪指C/C++混合编ADS集成开发环嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群在RM汇编语言程序里,有一些特殊指令助记伪指令,他们所完成的操作称为伪操作。旦汇编结束,伪指令的使命就完成。在ARM的汇编程序中,有如下几种伪指嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群 符号定义伪指令用于定义RM汇编程序中的变量、对变量赋值以及定义寄存器的别名常见的符号定义伪指令有如下几种:定义全局变量的GBLA、GBLL和定义局部变量的LCLA、LCLL和对变量赋值的SETA、SETL、为通用寄存器列表定义名称的嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群语法格式GBLA(GBLL或GBLS)全局变量GBLA、GBLL和GBLS伪指令用于定义一个ARM程序中的局变量,并将其初始化。其GBLA:定义一个全局的数字变量,并初始化为GBLL:定义一个全局的逻辑变量,并初始化为F(假GBLS:定义一个全局的字符串变量,并初始化为以上三条伪指令用于定义全局变量,因此在整个程序范围内量名必须唯一 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群RLISTRLIST名 {寄存器列表RLIT指令定义的列表名称可在RM指令LM/T中使用。在LDM/TM指令中,列表中的寄存器次序为根据寄存器的编号由低到高,而与列表中的寄存器排列次序无关。使用示 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群数据定义伪指令一般用于为特定的数据分配单元,同时可完成已分配单元的初始化。常见的数据定义伪指令有如下几种:嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群DCBDCB语法格标 表达StrDCB“Thisisatest!”;分配一片连节嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群SPACESPACE 标 表达为0。其中,表达式为要分配的字节数。SPACE也可 SPACE100;分配连续字节的单元并初始化为0嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群MAPMAP 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群FILED指FILED指标 表达个数据域指定一个标号供其他的指令。 ;定义结构化内存表首地址的值为0x100A;定义A的长度为16字节,位置为B;定义B的长度为32字节,位置为S;定义S的长度为256字节,位置为嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群IF、ELSE、WHILE、MACRO、嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群语法格式IF逻辑表指令序列

指令序列I、LS、NDIF伪指令能根据条件的成立与否决定是否执行某个指令序列。当I后面的逻辑表达式为真,则执行指令序列,否则执行指令序列。其中,LE及指令序列可以没有。I、L、NDIF伪指令可以嵌套使用。 ;一个全局的逻辑变量,变量名为 Test=WHILE指WHILE指嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群 GBLACounter ;一个全局的数学变量,变量名为Counter Counter<嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群CODE16、EXPORT(或GET(或嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群AREAAREA 段名属性1,属性RE伪指令用于定义一个代码段或数据段。其中,段名若以数字开头,则该段名需用“括起来,如tt。属性字段表示该代码段(或数据段)的相关属性,多个属性用逗号分隔。常用的属性如下:CODE属性:用于定义代码段,默认为READONLYDATA属性:用于定义数据段,默认为READWRITEREADWRITE属性:指定本段为可读可写,数据段的默认属为READWRITEAREA指AREA指嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ALIGNALIGN语法格式ALIGN{表达式{,偏移量LIGN伪指令可通过添加填充字节的方式,使当前位置满足一定的对其方式。其中,表达式的值用于指定对齐方式,可能的取值为的幂,如、、、、等。若未指定表达式,则将当前位置对齐到下一个字的位置。偏移量也为一个数字表达式,若使用该字段,则当前位置的对齐方式为:的表达式次幂+偏移量。使用示 指定后面的指令为8字节对CODE16指CODE16指嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群CODE16(或AREACODE32;通知编译器其后的指令为32位的ARM CODE16;通知编译器其后的指令为16位的Thumb 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群ENTRYENTRY有多个ENTRY时,程序的真正点由器指定),有) 嵌入式Linux技术嵌入式Linux技术咨嵌入式Linux学习交号群EQUEQU语法格式名 表达式{,类型EQ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论