如何汇编语言定义变量

 我来答
大野瘦子
高粉答主

2019-07-11 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:32.7万
展开全部

汇编语言定义变量的格式为 :【变量名】【变量类型】【数值列表】

其中,变量类型有DB,DW,DD等,分别表示变量占有的内存空间(依次为1,2,4个字节)

如:

A DB 1,2,3,4 就定义了名称为A的4个占1个字节的变量,分别是1,2,3,4(严格来说是0001,0010,0011,0100)保存在系统分配的内存空间中。

如果是A DW 1,2,3,4则保存的值为(00000001,00000010,00000011,00000100)

扩展资料:

注意事项

由于汇编语言是面向机器的语言,没有对函数的定义,函数的实现是通过中断调用的,(一个代码段跳到另外一个代码段) 所以对全局变量和局部变量的体现是通过栈来实现的。

即:

全局变量保存在数据段中,即伪代码中声明的DATA SEGMENT,任何时刻都能调用。

而局部变量则保存在栈段中,是伪代码中声明的STACK SEGMENT,平时不调用,调用中断时把局部变量从栈里取出来。

NJGQZF
推荐于2017-09-10 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3165
采纳率:0%
帮助的人:1199万
展开全部
汇编语言在数据段使用数据定义伪指令定义变量,对数据定义伪指令说明如下:
1、db((byte,字节,一字节宽)
2、dw(word,字,两字节宽)
3、dd(double word,双字,四字节宽)
各个数据定义伪指令均可以连续定义变量。
示例如下:

DATAS SEGMENT;定义数据段
BUF0 DB 1;定义一个字节型变量,名称是BUF0,初始值是01H
BUF1 DB "2";定义一个字符型变量,名称是BUF1,初始值是"2"
BUF2 DW 1;定义一个字型变量,名称是BUF2,初始值是0001H
BUF3 DD 2;定义一个双字型变量,名称是BUF3,初始值是00000002H
BUF4 DB 1 DUP(50);定义连续50个字节型变量,名称是BUF4,初始值是01H
BUF5 DB "12345678";定义一个字符型变量,名称是BUF5,初始值是"12345678"
DATAS ENDS;数据段定义结束

STACKS SEGMENT;定义堆栈段
DB 100 DUP(?)
STACKS ENDS

CODES SEGMENT;定义代码段
ASSUME CS:CODES,DS:DATAS,SS:STACKS;段寄存器关联

START:
MOV AX,DATAS
MOV DS,AX
......
CODES ENDS
END START
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小睡黍
2012-05-31 · TA获得超过403个赞
知道小有建树答主
回答量:288
采纳率:0%
帮助的人:287万
展开全部
在数据段中用如下格式:
<名称> <单位大小> <内容>
其中单位大小可以是db(byte,字节)、dw(word,字,两字节大)、dd(double word,双字,四字节大)等
如:MSG db "asdf"定义了一个叫MSG的,单位大小是1字节的字符串变量。
A dw 0定义了一个双字的空间,叫A。
追问
在数据段?
追答
是的,不过其是在任何段都行,只要保证别不小心当成代码执行就行。变量的实质其实就是一段内存空间,用来存储二进制码,只是因为人为规定才有了各种变量名、变量类型和各种内容的含义。比如0x30既可以是十六进制的48也可以是ASCII的字符“0”,全凭人把它看做什么。所以在汇编语言中只要声明一定量的内存空间,加上个标号好方便访问,然后就拿来当各种变量用了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2022-12-14 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部

在汇编语言中,定义变量?

变量,在汇编语言中,纯粹是属于【谬论】。

在汇编语言中,针对存储器,只有【地址】和【内容】两种概念。

哪有什么变量?

什么是变量呢? 这就纯属“恶搞”。

比如:BUFF  DW  18。

有人说这个 BUFF,就是变量,等于 18。

其实,BUFF 并不是什么变量,而是【符号地址】。

经过编译后,BUFF,是 18 所存在的【段地址:偏移地址】。

----------------

BUF0 DB 1, 2, 3

BUF1 DW 68,-20,0

-------

DB、DW...,这些伪指令,是在存储器中,定义(存储)数据的。

并不是“定义变量”的。

BUF0、BUF1...,这些,是数据的【起始地址】。

也可以称为【符号地址】。

起始地址,并非是什么“变量”

将其称之为“变量”,纯属是外行。

一帮伪专家,蹲在这儿,假装指点江山,伪造概念。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式