ARM linux常用汇编语法

发布者:MysticGarden最新更新时间:2016-05-10 来源: eefocus关键字:ARM  linux  汇编语法 手机看文章 扫描二维码
随时随地手机看文章
=============================

汇编语言每行的语法:

 lable: instruction ; comment

段操作: .section 
 
 格式: .section 段名 [标志]

 [标志]可以是如下:
 
  a 允许段
  w 可写段
  x 可执行段

 常见段名: data, bss, text, rodata段,我们也可以定义我们自己的段。

 .data: 已初始化数据段
 .bss: 未初始化数据段
 .text:代码段
 .rodata:只读段


汇编程序的入口点:

 通常,linux的汇编程序的入口点都是从_start这个全局符号开始的。而C语言的入口点是main, main函数就是被_start后面的代码调用。

 .global _start
_start: 
  代码,,, 初始化程序运行环境;
  代码,,,
  ,,,
  bl main
  bl exit
  

linux汇编中常数的使用:

 十进制: 以非0 的数字开头表示, 124, 564
 二进制: 以0b开头,如0b101001
 八进制: 以0开始的数字,如05645
 十六进制:以0x开头, 如0xab12
 

linux汇编中常用的伪操作:

 数据定义伪操作:

  .byte, 定义单个字节, 如, .byte 5, 4, 0b1001, 0x22, 055, 'b'
  .short, 定义半字数据, 如,.short 0x1122, 3344
  .long, 定义4字节数据,如, 0x11223344,
  .word
 
  .string, .asciz, .ascii, 定义字符串数据, 比如.string "hello"

 对齐伪操作:  .align n  --> 2^n
 文件结束操作:.end
 文件包含操作:.include, 一般是在文件开头的时候包含头文件时使用
 
 代码指令集切换:
   
  .thumb, .code 16 这两个伪指令告诉编译器从这里开始,以后的代码都编译成16为的thumb指令。
  .arm, .code 32  这两个伪指令告诉编译器从这里开始,以后的代码都编译成32为的arm指令。
   
函数定义格式:
 
 函数名:
   函数体
   函数返回语句

 比如add函数:
   .global add
  add:
   add r0, r1, r2
   mov pc, lr


常见符号的意义和用法:
  
 @ : 代码注释符号
 ;   语句分离符号。(相当于C语言中的;)
 #   立即数前缀

关键字:ARM  linux  汇编语法 引用地址:ARM linux常用汇编语法

上一篇:ARM汇编指令ARM寻址方式、汇编指令、伪指令
下一篇:ARM GNU常用汇编语言介绍

推荐阅读最新更新时间:2024-03-16 14:53

32位ARM内核微处理器W90N740及其应用
摘要:在对ARM体系结构进行分析的基础上,介绍了32位ARM核处理器W90N740的结构特点和优异性能,讨论了它的应用方法。给出了用W90N740芯片降低系统成本的实现方案。 关键词:ARM7TDMI;RISC;W90N740;片上系统;路由器 W90N740是台湾Winbond公司开发的基于32位ARM核的高性能、低功耗微处理器。W90N740采用ARM7TDMI内核,内建两个10/100Mb MACs以太网络控制器,并采用Winbond独家专利的网络地址转换加速器NAT Accelerator。该器件用硬件方式加速网络封包的转换,不仅减少了中央处理器的负担,同时也大幅提高了宽频的整体系统效能。而芯片方式集成的USB控制器
[嵌入式]
英特尔加速移动业务推展:挑战ARM仍待时日
新浪科技 罗亮   ARM请小心,英特尔已经开始加速。   在证明自己能够进入移动芯片领域之后,英特尔今年加快了拓展移动业务的步伐。在2013年巴塞罗那移动通信大会上,英特尔宣布同时推出3款移动芯片,并签约新一批合作伙伴。   虽然在移动芯片领域,英特尔正面临与ARM阵营的苦战,但是不断增长的合作伙伴证明,英特尔的移动业务正在取得缓慢但稳定的进展。   随着今年年底,英特尔过渡到22纳米凌动系统芯片,设计、架构、22纳米三栅极晶体管技术以及领先的制造工艺等多个方面带来的优势,将可能给ARM阵营带来真正挑战。   反击ARM:你们错了!   众所周知,英特尔主导的X86架构芯片主要用于PC产品,在计算性能上虽然领先
[手机便携]
基于ARM嵌入式的远程监控系统设计
1 引言    监控系统现已成为现代化生产、生活中不可缺少的重要组成部分。目前,监控系列产品 种类繁多,大部分广泛应用于交通、医院、银行、家居、学校等安防领域。   随着嵌入式系统的出现,尤其是基于 arm 内核芯片的嵌入式系统的出现,使得监控系统的应用领域更为广泛。本文设计的远程监控报警系统除了作为安防功能外,还可以应用于 以下领域:通讯领域:远程通讯、视频会议和视频点播、证券、远程教育等。医疗领域:病 房监护、远程诊断等。工业领域:远程设备诊断、维护、维修,远程生产监控等。家用领域:家用电器远程维护;电、气、火等重大事故自动报警等。 2 系统设计   2.1系统组成   本文设计的远程监控系统主要由中心控制器
[安防电子]
基于<font color='red'>ARM</font>嵌入式的远程监控系统设计
ARM7与FPGA相结合的应用
  ARM7与FPGA相结合在工业控制和故障检测中的应用   工业控制中往往需要完成多通道故障检测及多通道命令控制(这种多任务设置非常普遍),单独的CPU芯片由于其外部控制接口数量有限而难以直接完成多路检控任务,故利用ARM芯片与FPGA相结合来扩展检控通道是一个非常好的选择。这里介绍用Atmel公司ARM7处理器(AT91FR40162)和ALTERA公司的低成本FPGA芯片(cyclone2)结合使用完成多通道检控任务的一种实现方法。    各部分功能简介   图1为此系统的结构连接框图。如图所示,ARM芯片与FPGA芯片之间通过数据总线、地址总线及读写控制线相连,而与终端PC则通过串口通信;FPGA与目标设备通过命令控
[工业控制]
基于ARM的多标签多协议RFID读写器设计
引言 随着现代信息技术和超大规模集成电路的发展,RFID技术在服务领域、货物销售与后勤分配、商业部门、生产企业和材料流通领域得到了越来越广泛的应用。射频识别技术的基本原理是利用射频信号和空间耦合(电感耦合或电磁耦合)或雷达反射的传输特性,实现对被识别物体的自动识别。 RFID系统不局限于视线,识别距离远。射频识别卡具有可读写能力,可携带大量数据,可工作在潮湿、干燥等恶劣环境下,同时具有难以伪造和智能性较高等优点。与此同时,不同的射频标签编码规则、不同的空中接口协议、大量而复杂的RFID数据如何处理等问题严重阻碍了RFID技术发挥其巨大作用。基于这种现状,本文结合防碰撞算法提出了嵌入式平台下的RFID读写器设计方案。 1 RF
[单片机]
基于<font color='red'>ARM</font>的多标签多协议RFID读写器设计
基于ARM的直流电机调速系统的设计与实现
   0 引言   在智能小车的研制开发中,很重要的一部分就是智能小车要能根据周围障碍物的情况自主的调节行驶速度和行驶方向。本文中所设计的直流电机调速系统是智能小车的一个重要组成部分,直流电机调速系统主要由S3C44B0X处理器和电机驱动芯片 L298N构成,主要功能是驱动小车的两个车轮,调节小车的行驶速,通过改变两个车轮的转速差调节行驶方向。    1 硬件设计   由ARM公司设计的采用RISC架构的ARM处理器性能强,功耗低,体积小,支持Thumb(16位)/ARM(32位)双指令集,指令执行速度快。目前ARM系列微处理器在32位RISC嵌入式产品中已经占据75%以上的市场份额。尤以ARM7TDMI系列应用最广,其性
[单片机]
导出在Linux内核ARM平台驱动可用的函数
进入arch/arm/目录,然后用grep EXPORT_SYMBOL * -r 命令将那些被EXPROT_SYMBOL宏导出的ARM平台驱动可用的函数打印出来,用户程序不能使用EXPORT_SYMBOL导出的函数,通过观察和了解这些导出的函数可以有助于驱动的编写。其中对于s3c2440可以的有: common/scoop.c:32:EXPORT_SYMBOL(platform_scoop_config); common/scoop.c:139:EXPORT_SYMBOL(reset_scoop); common/scoop.c:140:EXPORT_SYMBOL(read_scoop_reg); common/scoop.c:1
[单片机]
ARM H-JTAG Server烧写流程
ARM程序下载方法 (1) 检测调试目标: 将板子与仿真器连接加电,打开H-JTAG Server,点击工具栏中 按钮检测调试目标,如果检测到目标板则显示目标芯片型号(这是我们目前使用的芯片);如图1.1所示。 图1.1 H-JTAG Server界面 (2)基本信息配置:点击 按钮,出现H-Flasher界面,进行配置及文件烧写: 1) Flash芯片选择 点击 按钮,我们使用的Flash芯片为AMD29LV160DT,在右栏选择该型号,如图1.2所示: 图1.2 H-Flasher界面 2) 设置基本存储信息: 点击 按钮,设置基本存储信息,如图1.
[单片机]
<font color='red'>ARM</font> H-JTAG Server烧写流程
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved