找回密码
 注册
关于网站域名变更的通知
查看: 358|回复: 2
打印 上一主题 下一主题

ARM汇编语言程序中常用的符号

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-4-25 13:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
      在汇编语言程序设计中,经常使用各种符号代替地址、变量和常量等,以增加程序的可读性。尽管符号的命名由编程者决定,但并不是任意的,必须遵循以下的约定:
— 符号区分大小写,同名的大、小写符号会被编译器认为是两个不同的符号。

) v/ q& ^( M. r1 n7 b% l
— 符号在其作用范围内必须唯一。

; @9 ]* j, O/ F1 i; a# L* t
— 自定义的符号名不能与系统的保留字相同。
4 {2 g/ d+ Q* L0 }
— 符号名不应与指令或伪指令同名。

8 p; e9 j! }( S3 ?* T
1、 程序中的变量

9 r9 X) i  r: f
程序中的变量是指其值在程序的运行过程中可以改变的量。 ARM ( Thumb )汇编程序所支持的变量有数字变量、逻辑变量和字符串变量。
; @" ]( h" n! q* M! K2 x' ]
数字变量用于在程序的运行中保存数字值,但注意数字值的大小不应超出数字变量所能表示的范围。

( g- \7 T: }7 y7 Q# A) b
逻辑变量用于在程序的运行中保存逻辑值,逻辑值只有两种取值情况:真或假。
+ j# X0 p; q0 z3 y! v
字符串变量用于在程序的运行中保存一个字符串,但注意字符串的长度不应超出字符串变量所能表示的范围。

: b  z9 w9 u& w  W
在 ARM ( Thumb )汇编语言程序设计中,可使用 GBLA 、 GBLL 、 GBLS 伪指令声明全局变量,使用 LCLA 、 LCLL 、 LCLS 伪指令声明局部变量,并可使用 SETA 、 SETL 和 SETS 对其进行初始化。

6 }! G- M: L( J$ h( ^) V) N& G. z8 Q
2、 程序中的常量
( P) U! Y: I/ T( u5 E7 D; x
程序中的常量是指其指在程序的运行过程中不能被改变的量。 ARM ( Thumb )汇编程序所支持的常量有数字常量、逻辑常量和字符串常量。
6 S* h# P2 \/ w' `) A& o6 B/ c& }
数字常量一般为 32 位的整数,当作为无符号数时,其取值范围为 0 ~ 2 32 -1 ,当作为有符号数时,其取值范围为 -2 31 ~ 2 31 -1 。

  e  Z( x4 _$ G) K
逻辑常量只有两种取值情况:真或假。
& d/ K: O7 x8 x& ^0 s- N. q
字符串常量为一个固定的字符串,一般用于程序运行时的信息提示。
* C5 m# H1 X$ x. G
3、 程序中的变量代换

; e9 g( G) F2 v& `) ?
程序中的变量可通过代换操作取得一个常量。代换操作符为 “ $ ” 。
( x% t/ A9 R; g. A; E
如果在数字变量前面有一个代换操作符 “ $ ” ,编译器会将该数字变量的值转换为十六进制的字符串,并将该十六进制的字符串代换 “ $ ” 后的数字变量。
  X5 T" _0 ~6 Y$ c7 X
如果在逻辑变量前面有一个代换操作符 “ $ ” ,编译器会将该逻辑变量代换为它的取值(真或假)。

) S1 m3 T* O) G# [; ]0 K- v
如果在字符串变量前面有一个代换操作符 “ $ ” ,编译器会将该字符串变量的值代换 “ $ ” 后的字符串变量。

- D5 @( G6 g4 f9 F: p1 G. f
使用示例:

) @, T) ?3 b  e/ h. W: i8 A/ y
LCLS S1 ;定义局部字符串变量S1 和S2
0 i' g, C+ \7 l  u3 o5 X
LCLS S2
# T1 C0 Z. ?: L* A8 d" U% E
S1 SETS “ Test! ”
7 a6 s% U. Y- X! w
S2 SETS “ This is a $S1 ” ;字符串变量S2 的值为 “ This is a Test! ”

% \3 ]$ r& f# j) U, R( F( W+ W; X8 l
  m5 c4 x& @1 m) U' h& b/ n# d

该用户从未签到

2#
发表于 2021-4-25 14:49 | 只看该作者
符号名不应与指令或伪指令同名

该用户从未签到

3#
发表于 2021-4-25 16:06 | 只看该作者
  在汇编语言程序设计中,经常使用各种符号代替地址、变量和常量等,以增加程序的可读性
( {& ]  r( [9 b  a2 x! Y( a. K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-24 09:14 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表