ARM汇编语言中的符号

来源:本站
导读:目前正在解读《ARM汇编语言中的符号》的相关信息,《ARM汇编语言中的符号》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《ARM汇编语言中的符号》的详细说明。
简介:本文介绍了ARM汇编语言中的符号。

在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,即直接可寻址整个内存空间。

提醒:《ARM汇编语言中的符号》最后刷新时间 2024-03-14 01:01:21,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《ARM汇编语言中的符号》该内容的真实性请自行鉴别。