问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

汇编语言中如何使用符号名

发布网友 发布时间:2022-12-21 23:05

我来回答

1个回答

热心网友 时间:2023-05-10 20:24

4.8 符号定义语句
在程序中,我们经常要使用一些常量或数值表达式,并把它们直接写在指令中,但当需要修改时,就要对它们逐个进行修改,这无疑会增加维护程序的工作量,而且每个常量或表达式所代表的含义也容易遗忘。

为了改善程序的可读性,尽量减少维护程序的工作量,汇编语言提供了为常量或表达式定义一个符号名的方法。一旦定义了符号名,在指令中就可直接使用它们。

4.8.1 等价语句
1、一般格式

等价语句的一般使用格式如下:

符号名 EQU 表达式

作用是左边的符号名代表右边的表达式。

注意:等价语句不会给符号名分配存储空间,符号名不能与其它符号同名,也不能被重新定义。

2、用符号名代表常量或表达式

当把一个常量或表达式定义成一个具有一定含义的符号名后,在程序中就可以用该符号名来代表该常量或表达式。

例如:

NUMBER EQU 100 ;给缓冲区的长度取一个符号名
BUFF_LEN EQU NUMBER+2
CR EQU 13 ;给“回车”符的ASCII码定义一个符号名
LF EQU 10 ;给“换行”符的ASCII码定义一个符号名

BUFFER DB NUMBER, ?, NUMBER DUP (?) ;用符号名来定义缓冲区


3、用符号名代表字符串

用一个具有一定含义的符号名定义某一个较长的字符串,在随后的程序中就用该符号名。例如:

GREETING EQU "How are you!"

在该定义之后,就可使用符号名GREETING来代表字符串"How are you!"。

4、用符号名关键字或指令助忆符

用一个(组)程序员自己习惯的符号名来代替汇编语言中的关键字或指令助忆符。但在此建议不要这样做,因为程序的编写者习惯,程序的其他阅读者可能会觉得很别扭。

例如:

MOVE EQU MOV ;给指令MOV取另一个符号名MOVE
COUNTER EQU CX ;给寄存器CX取一个叫“计数器”的符号名

上面的定义只是给原来的助忆符MOV和CX起了另一个别名,而原来助忆符MOV和CX仍然可以使用,所以,我们可编写如下语句:

MOVE AX, CX ;相当于指令:MOV AX, CX
MOV COUNTER, BX ;相当于指令:MOV CX, BX

5、用符号名定义存储单元的别名

可对一片存储单元定义另一个数据类型的符号名,有关叙述参见前面的操作符THIS。

例如:

WORD1 EQU THIS WORD ;给后面的字节存储单元取一个字属性的符号名
BYTE1 DB 12h, 21h
FLAG DW 1234H
FLAG1 EQU byte ptr FLAG ;给FLAG的低字节取一个字节属性的符号名
FLAG2 EQU byte ptr FLAG+1 ;给FLAG的高字节取一个字节属性的符号名

有了上述定义后,可编写如下语句:

MOV AX, WORD1 ;执行后,(AX)=2112H
MOV BL, FLAG1 ;执行后,(BL)=34H
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
150字的寒假日记 不要和别人的一样的 自己写的 要10-30篇就行 谢谢了... 生意合作简单的协议书范本 销售合作的协议书精选范本 销售业务合作协议书范本 脖子插有管,可以包120回老家吗 救护车可以送病患回家吗 电脑ad在哪设置电脑ad怎么修改 AD如何设置原点? win10系统没有输入法图标不见了怎么办 跨境电商|做爆款之前,你必须知道的5大合规要素 12345是什么电话啊 C语言调用ubuntu 系统命令 68.相亲平台上还有结婚用品卖? 德云社团综 在windows系统下,怎样用c语言删除文件夹 教师更容易出现心理问题 erp高级实施顾问的工资 做ERP系统维护员的工资有4000以上吗 离婚伤心伤感语录? enscape是什么软件 英雄联盟s7全球总决赛将在哪个国家举办 逃学威龙3里的梅艳芳家的女管家是谁? 英雄联盟S7全球总决赛四大赛区 哪个城市 苹果11换屏之后背光不亮 iPhone6怎么开热点? 美的md100a5能联网吗? 皮草外套适合什么腰带 ??? 五年级上数学有没有学分数简化 汽油三轮摩托车125的多大排量 列举元世忽必烈的主要事迹 历史,初一 WOW牛头萨满火图腾任务具体流程是怎么样的? 因为什么我长大了 因为――我长大了 四年级《因为你,我长大了》400字 带豪字的古代名人 王轶豪的姓名含义 侠盗飞车有哪些系列?其中哪一个最好玩? 校园修神录5.6第25波怪怎么打,我们一打他就死,这是怎么回事? 跪求电工证能不能高空作业 电工证和高空作业证在湖南省是二合一吗 闺蜜藏头诗 monkeyrunner哪里能下载 ...老师要写家长建议,不低于50字求帮助(分数是100分) 育肥牛肉和自然养殖牛肉有什么区别!请问应该如何分辨呢?? 给力闯关100分答案五年级上册语文试卷 2018-07-17 Base64解码与编码 [ 编码 ] BASE64编码-小图片不通过流方式上传可以吗? 电脑版ps有免费版吗免费版的什么电脑都可以下载吗? 公开招聘报考人员只有一个吗 2022江苏无锡市梁溪区事业单位报名入口