历史上的今天
返回首页

历史上的今天

今天是:2025年04月20日(星期日)

正在发生

2021年04月20日 | ARM汇编语言中的符号

2021-04-20 来源:eefocus

在ARM汇编语言中,符号可代表地址、变量和数字常量。当符号代表地址时又被称为标号。标号包含变量、数字常量、标号和局部标号。


符号的命名规则如下:


符号由大小写字母、数字以及下划线组成。


局部标号以数字开头,其他符号都不能以数字开头。


符号是区分大小写的。


符号中在其作用范围内必须惟一,即在其作用范围内不可有同名的符号。


程序中的符号不能与系统内部变量或者系统预定义的符号同名。


程序中的符号通常不要与指令助记符或者伪操作同名。


(1) 变量


在ARM汇编语言中,变量有数字变量、逻辑变量和串变量3种类型。变量的类型在程序中是不能改变的。数字变量的取值范围为数字常量的数字表达式所能表示的数值范围。关于数字常量和数字表达式所能表示的数值范围。逻辑变量的取值为{ture}和{false}。串变量的取值范围为串表达式可表示的范围。


在ARM汇编语言中,使用GBLA、GBLL及GBLS伪操作声明全局变量;使用LCLA、LCLL及LCLS伪操作声明局部变量;使用SETA、SETL及SETS伪操作为这些变量赋值。


(2) 数字常量


数字常量一般由3种表示方式:


十进制数,如43、6、112等。


十六进制数,如0x3425、0xFE、0x1等。


n进制数,用n_XXX表示,其中n为2~9,XXX为具体数,如2_01001101、8_4326等。


若数字常量时32位整数,当做为无符号整数时,其取值范围为0~2的32次幂-1;当作为有符号整数时,其取值范围为-2的31次幂~2的31次幂-1.汇编编译器并不区分一个数是无符号的还是有符号的,事实上,,-n与2的32次幂-n在内存中是同一个数。


在ARM汇编语言中,使用EQU伪操作来定义数字常量。


注意:数字常量一经定义,其数值就不能再修改。


在ARM汇编语言中,标号是表示程序中的指令或数据地址的符号,一般它代表一个地址。根据标号的生成方式可有以下3种,即


基于PC的标号:是位于目标指令前或程序中数据定义伪操作前的标号,在汇编时将被处理成PC值加上一个数字常量。它常用于表示跳转指令的目标地址,或者代码段中所嵌入的少量数据。


基于寄存器的标号:通常用MAP和FILED伪操作定义该标号,也可用EQU伪操作定义。这种标号在汇编时将被处理成寄存器的值加上一个数字常量。它常用于访问位于数据段中的数据。


绝对地址:是一个32位的数字量,寻址的范围为0~2的32次幂-1,即直接可寻址整个内存空间。


推荐阅读

史海拾趣

Defense Supply Center Columbus公司的发展小趣事

在电子行业,产品质量是企业生存和发展的关键。Defense Supply Center Columbus公司始终将质量管理放在首位,建立起一套完善的质量管理体系。公司严格按照国际标准进行生产和检测,确保每一件产品都符合质量要求。同时,公司还注重员工的培训和教育,提高员工的质量意识和操作技能。这些措施的实施,使得公司的产品质量得到了显著提升,赢得了客户的广泛赞誉。

DS-IMP公司的发展小趣事

DS-IMP公司一直将研发创新作为企业发展的核心动力。在研发过程中,公司不断投入大量资金,引进先进设备和技术,并与国内外知名高校和研究机构建立合作关系。通过不懈努力,公司在多个领域取得了重大突破,成功研发出了一系列具有自主知识产权的高性能模拟混合电路产品。这些产品不仅满足了国内外客户的需求,还为公司赢得了良好的市场声誉。

Acme Electric Corporation公司的发展小趣事

DS-IMP公司一直将研发创新作为企业发展的核心动力。在研发过程中,公司不断投入大量资金,引进先进设备和技术,并与国内外知名高校和研究机构建立合作关系。通过不懈努力,公司在多个领域取得了重大突破,成功研发出了一系列具有自主知识产权的高性能模拟混合电路产品。这些产品不仅满足了国内外客户的需求,还为公司赢得了良好的市场声誉。

EVER-WAY公司的发展小趣事

随着公司规模的扩大和产品质量的提升,EVER-WAY公司开始积极拓展国内外市场。公司制定了详细的市场拓展计划,通过参加国际展会、开展国际贸易合作等方式,逐步打开了国际市场的大门。同时,公司还加强了与国内客户的合作,通过提供定制化服务、优化供应链管理等方式,赢得了客户的信任和支持。这些市场拓展的跨越不仅为公司带来了更多的商业机会,也进一步提升了公司的品牌价值和市场地位。

Hamlin ( Littelfuse )公司的发展小趣事

在电子产品制造行业,品质是企业的生命线。EVER-WAY公司一直高度重视品质管理,建立了完善的质量管理体系。公司从原材料采购、生产制造到产品检验等各个环节都严格把关,确保产品质量的稳定性和可靠性。同时,公司还加强了对员工的培训和教育,提高了员工的品质意识和操作技能。这些品质管理的提升不仅保证了公司产品的优良品质,也赢得了客户的信任和好评。

AZM [Arizona Microtek, Inc]公司的发展小趣事

为了进一步提升公司的国际竞争力,AZM公司开始实施国际化战略。公司积极寻求与国际知名企业的合作机会,通过技术合作、市场合作等方式,共同开拓全球市场。同时,AZM公司还在海外设立了研发中心和生产基地,以便更好地了解当地市场需求和技术发展趋势,实现全球布局和资源整合。

请注意,这些故事是基于假设和推测构建的,并非AZM公司的真实发展历程。如果需要了解AZM公司的具体发展历程和故事,建议查阅该公司的官方网站、新闻报道或相关文献资料。

问答坊 | AI 解惑

找射频工程师有偿合作

现在我公司有一款产品想要提高产品性能,北京的朋友联系。QQ:121891030…

查看全部问答>

一个USB读写的问题,请各位高手赐教!!!

    我以前用CH375芯片做过一个进行USB读写的设备,但是有问题,没有实现,主要是因为对USB的写命令不熟悉,哪位高手可以赐教不胜感激,另外,听说ch375芯片因为是国产而并不可靠,是真的吗?…

查看全部问答>

请问embest公司

str7开发板有没有可跑uclinux的?再问售价及联系方式谢谢!…

查看全部问答>

请教const、volatile、 cregister三个关键字在2812编程中的用法

2812编程中,经常出现const、volatile、 cregister三个关键字定义变量,看了c/c++ compile optimazitor data sheet,知道const定义的变量是不可变的,volatile定义的变量是可变的,cregister经常在定义IER和IFR时经常用,但对它们具体含义和用法还 ...…

查看全部问答>

你好我申请使用

 谢谢可以给我一个 学习一下吗…

查看全部问答>

请问G2内部的温度传感器的精度是多少?

买了LaunchPad,很便宜请问G2231内部的温度传感器的精度是多少?有多少误差呀?…

查看全部问答>

电路设计 为了防止电源接反

在自己实践的 过程中 总是会一不小心的 把电源接反 这样 整个电路就 会烧坏 所以为了 防止粗心 我在电路上接了一个  4个2极管  这样不管你怎么接 都会出来是 + 和- ,但是 有一次又接反 了 把2极管烧坏了 我很纳闷为什么会这 ...…

查看全部问答>

要片子的筒子们往这儿看了

看论坛的这个贴:https://bbs.eeworld.com.cn/thread-367345-1-1.html 芯片型号 1日达!!!…

查看全部问答>

MSP430就CCS一种开发环境么?

是这样,我前些日子装了MSP430的CCS,但我又搞C2000或别的东东,就把CCS 430给删了,没有空间啦!最近我看坛子里又开始讨论MSP430。我想有木有别的开发环境,小且精的。 比如:AVR就可以用BASIC开发。…

查看全部问答>