零基础学ARM:MDK和GNU伪指令区别

arm邪猎文章,请点击以下汇总链接:
《从0学arm合集》
一、mdk和gnu伪指令区别
我们在学习汇编代码的时候经过会看到以下两种风格的代码:
gnu代码开头是:
.global _start
_start:      @汇编入口
ldr sp,=0x41000000
.end         @汇编程序结束
mdk代码开头是:
area example,code,readonly    ;声明代码段example
entry ;程序入口
start            
mov r0,#0    
over
end
这两种风格的代码是要使用不同的编译器,我们之前的实例代码都是mdk风格的。
那么多对于我们初学者来说要学习哪种风格呢?答案是肯定的,学习gnu风格的汇编代码,因为做linux驱动开发必须掌握的linux内核、uboot,而这两个软件就是gnu风格的。
为了大家不要把过多精力浪费在暂时没用的知识上,下面我们只讲gnu风格汇编。
二、gnu汇编书写格式:1. 代码行中的注释符号:
‘@’ 整行注释符号:‘#’ 语句分离符号:
直接操作数前缀: ‘#’ 或 ‘$’
2. 全局标号:
标号只能由a~z,a~z,0~9,“.”,_等(由点、字母、数字、下划线等组成,除局部标号外,不能以数字开头)字符组成,标号的后面加“:”。
段内标号的地址值在汇编时确定;
段外标号的地址值在连接时确定。
3. 局部标号:
局部标号主要在局部范围内使用而且局部标号可以重复出现。它由两部组成开头是一个0-99直接的数字局部标号 后面加“:”
f:指示编译器只向前搜索,代码行数增加的方向 / 代码的下一句
b:指示编译器只向后搜索,代码行数减小的方向
注意局部标号的跳转,就近原则「举例:」
文件位置
arch/arm/kernel/entry-armv.s

电子标准院第一届知识图谱产业发展论坛成功召开
目前的摄像机是否能实现清晰成像
通用全新电动车平台BEV3将发布
2010 Globalpress电子峰会聚焦绿色科技
TCL实业携全球最大QD-Mini LED FPD商显屏及智慧酒店解决方案亮相ISE 2024
零基础学ARM:MDK和GNU伪指令区别
双高嵌入式工控机平台在电力系统中的应用
金立S10、荣耀v9和一加5你选谁?金立S10、荣耀v9和一加5区别对比
工业环境对连接器的性能挑战
苹果终结了iPod Nano/Shuffle 已经17岁的iTunes是否也要“寿终正寝”了?
GL记录仪及配置工具
分享有礼【3月28日|北京】是德科技通信与芯片测试行业峰会
微软2021第二财季报公布
未来可穿戴产品设计策略
首届新加坡电子行业网络招聘会即将举行
谷歌Pixel3a现身GeekBench 芯片型号未识别
机器视觉中的摄像机标定和自标定分析
ESD替代方案(SM712)
高压变频器控制系统中的PLC如何实现远程监控和编程调试?
如何使用FSME来定制状态机