这是描述信息

蓝牙wifi单芯片乐鑫科技代理公司RISC-V汇编器功能

蓝牙wifi单芯片乐鑫科技代理公司RISC-V汇编器功能

蓝牙wifi单芯片乐鑫科技代理公司RISC-V汇编器功能

蓝牙wifi单芯片乐鑫科技代理公司RISC-V汇编器功能

蓝牙wifi单芯片乐鑫科技代理公司RISC-V汇编器功能

蓝牙wifi单芯片乐鑫科技代理公司RISC-V汇编器功能,汇编器将汇编语句翻译成二进制格式的指令,把汇编语言文件( *.s或*asm)转变成二进制目标文件( *.o或 *.obi)。GNU RISC-V 汇编器 gas 定义了汇编命令,声明符号属性、数据格式和对齐方式等。


表 5.3 列出了 gas 中说明符号作用范围属性的常用汇编命令,定义符号在程序文件中的作用范围。

表 5.3gas 符号属性命令

类 型    符号    解 释
符号属性    .global <name>    声明“name”是全局符号,作用范围是工程中的所有文件
符号属性    .local <name>    声明“name”是局部符号,作用范围是当前文件
符号属性    . ref <name>    引用“name”外部符号,作用范围是工程中的所有文件
符号属性    .weak <name>    如果工程中“name”不存在,则创建该符号
符号属性    .type<name>,description    定义符号“name”的类型


在表 5.3中,符号名称“name”的类型“description”有两种:函数符号(funtion)和程序对象符号(object)。蓝牙wifi单芯片乐鑫科技代理公司汇编语言支持 5 种类型描述语法,以便兼容其他汇编程序5种类型描述语法如下:


.type <name>,# function
.type <name>,# object
.type <name>,@function
.type <name>,@object
.type <name>,function
.type <name>,%object
.type <name>,"function"
.type <name>,"object"
.type <name> STT FUNCTION
.type <name> STT OBJECT


在 gas汇编语言中可以定义不同的段(.section)。链接时把每一个段映射到理器存储空间的特定地址区间。蓝牙wifi单芯片乐鑫科技代理公司通常将存放指令、变量或其他数据的不同段定义为不同的存储属性,分别映射到只读、可读/写等不同的存储区域。表 5.4 列出了g和gas 中常用的段。


表5.4 gas 段属性命令

类 型    符 号    解 释
段属性    .section name    将该命令下的内容汇编到“name”段
段属性    .text    指令段,程序代码空间
段属性    .data    数据段,可读/写数据空间
段属性    .rodata.bss    只读数据段,只读数据空间
段属性    .bbs    全局变量段,全局数据空间


如表 5.5 所列,蓝牙wifi单芯片乐鑫科技代理公司gas 汇编语言定义了分配存储空间时的两个对齐格式命令“.align n”和“.balign n”。


表5.5 gas存储对齐命令

类 型    符 号    解 释
对 齐    . align n    将当前地址上移(地址增加)到以 2-n字节对齐的位置
对 齐    . balign n    将当前地址上移(地址增加)到以 n字节对齐的位置


gas 汇编语言有两类分配存储空间的命令:
1、“.zero n”,不确定数据类型,分配n字节连续的储存空间,并初始化为0;
2、“.Xbyte expr”,分配宽度“Xbyte”类型的数据空间,并写人初始值“expr”。


表 5.6 列出了 gas 汇编语言中常用分配数据空间的汇编命令。


类型    符号    解释
分配空间    .zero n    从当前地址处开始分配 n个字节空间,并且所有字节的初始值是
分配空间    .byte expr.[,expr.],...    从当前地址处开始,为符号后的每一个数分配1字节空间,并将初始值置为 expr.
分配空间    .2byte expr.[,expr.],...    从当前地址处开始,为符号后的每一个数分配2 字节空间,并将初始值置为 expr.。地址无需对齐
分配空间    .4byte expr.[,expr.],...    从当前地址开始,为符号后的每一个数分配 4 字节空间,并将初始值置为expr.。地址无需对齐
分配空间    .8byte expr.[,expr.],...    从当前地址开始,为符号后的每一个数分配8 字节空间,并将初始值置为expr.。地址无需对齐
分配空间    .half expr.[,expr.],...    从当前地址开始,为符号后的每一个数分配半字空间,并将初始值置为 expr.。地址必须以半字对齐
分配空间    .word expr.[,expr.],...    从当前地址开始,为符号后的每一个数分配 1字空间,并将初始值
分配空间    .dword expr.[,expr.],...    置为 expr.。地址必须以字对齐从当前地址开始,为符号后的每一个数分配双字空间,并将初始
分配空间    .float expr.[,expr.],...    值置为 expr.。地址必须以双字对齐从当前地址开始,为符号后的每一个数分配 1字空间,并将初始值
分配空间    .double expr.[,expr.],...    置为 expr.。地址必须以字对齐从当前地址开始,为符号后的每一个数分配双字空间,并将初始
分配空间    .string“mystring”    值置为 expr.。地址必须以双字对齐从当前地址开始,为引号中的每一个字符分配 1字节空间,并将初始值置为字符。存放“mystring”字符串。字节的个数取决于字符串的长度

地址:深圳市宝安区西乡街道麻布社区宝安互联网产业基地A区6栋7栋7706

邮箱:Sales@ferry-semi.com

版权所有©2020  深圳市飞睿科技有限公司  粤ICP备2020098907号    飞睿科技微波雷达wifi模块网站地图

 

免责声明:本网站部分图片和文字内容可能来源于网络,转载目的在于传递更多信息,并不代表本网站赞同其观点或证实其内容的真实性。如涉及作品内容、版权和其它问题,请在30日内与本网站联系,我们将在第一时间删除内容!本站拥有对此声明的最终解释权。