如何汇编语言定义变量
答案:2 悬赏:0 手机版
解决时间 2021-03-25 09:32
- 提问者网友:抽煙菂渘情少年
- 2021-03-25 01:20
如何汇编语言定义变量
最佳答案
- 五星知识达人网友:胯下狙击手
- 2021-03-25 01:52
汇编语言在数据段使用数据定义伪指令定义变量,对数据定义伪指令说明如下:
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
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
全部回答
- 1楼网友:天凉才是好个秋
- 2021-03-25 02:24
在数据段中用如下格式:
<名称> <单位大小> <内容>
其中单位大小可以是db(byte,字节)、dw(word,字,两字节大)、dd(double word,双字,四字节大)等
如:MSG db "asdf"定义了一个叫MSG的,单位大小是1字节的字符串变量。
A dw 0定义了一个双字的空间,叫A。追问在数据段?追答是的,不过其是在任何段都行,只要保证别不小心当成代码执行就行。变量的实质其实就是一段内存空间,用来存储二进制码,只是因为人为规定才有了各种变量名、变量类型和各种内容的含义。比如0x30既可以是十六进制的48也可以是ASCII的字符“0”,全凭人把它看做什么。所以在汇编语言中只要声明一定量的内存空间,加上个标号好方便访问,然后就拿来当各种变量用了。
<名称> <单位大小> <内容>
其中单位大小可以是db(byte,字节)、dw(word,字,两字节大)、dd(double word,双字,四字节大)等
如:MSG db "asdf"定义了一个叫MSG的,单位大小是1字节的字符串变量。
A dw 0定义了一个双字的空间,叫A。追问在数据段?追答是的,不过其是在任何段都行,只要保证别不小心当成代码执行就行。变量的实质其实就是一段内存空间,用来存储二进制码,只是因为人为规定才有了各种变量名、变量类型和各种内容的含义。比如0x30既可以是十六进制的48也可以是ASCII的字符“0”,全凭人把它看做什么。所以在汇编语言中只要声明一定量的内存空间,加上个标号好方便访问,然后就拿来当各种变量用了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯