1、定义一个常量一般可用EQU伪指令来实现
一般使用格式:
符号名 EQU 表达式
如:
NUMBER EQU 200H ; 给缓冲区的长度取一个符号名
STRING EQU “My Strings"
LEN EQU NUMBER+2
2、定义变量
汇编语言在数据段使用数据定义伪指令定义变量,对数据定义伪指令说明如下:
(1)db((byte,字节,一字节宽)
(2)dw(word,字,两字节宽)
(3)dd(double word,双字,四字节宽)
示例如下:
BUF0 DB 1 ;定义一个字节型变量,名称是BUF0,初始值是1
BUF1 DB "2" ;定义一个字符型变量,名称是BUF1,初始值是"2"
BUF2 DW 10H ;定义一个字型变量,名称是BUF2,初始值是10H
3、分配内存
可在在前面定义变量的基础上利用DUP伪指令来分配内存
如:
MEM1 DW 5 DUP(20) ; 分配20个字长度空间,每个字的初始化为5.
身体的局部变量的函数的定义是自动变量,在开始的函数调用来分配空间,在堆栈区的空间,这些空间的函数调用结束后自动释放。空间使用malloc申请的堆空间,不由的作用机制控制,并且可以调用的程序的任何部分,你需要手动使用免费的版本。为什么需要在堆内存中分配空间,因为它可以跨函数参考(功能还可以交叉引用)和不需要如全局变量,全局静态变量的过程开始后始终占据的原因静态存储区域,直到进程退出的需求动态地分配和释放。 (指针所引用,如堆内存的堆栈内存比需要更多的指令周期的成本,效率低;需要手动管理内存分配和回收。)
此外,相比于堆内存和栈内存一般是相当有限的,这样的大空??间对象一般是直接通过堆内存的管理。
====
[原创回答团]
在汇编语言中,定义常量、变量、分配内存空间的使用的是伪指令
如下所示
1 定义常量:
COUNT EQU 20
ADDR=6
2 定义变量和内存空间:
DA1 DB 12H
DA2 DW 1234H
DW 5678
DW 5 DUP(2)
DB ?
呵呵 满意就选满意回答啊
汇编中没有这些指令,汇编中只有EAX,EBX....之类的寄存器,你可以理解为变量可以直接使用。
高级语言的局部变量实际上是用EBP保存栈顶,然后EBP-4 代表第一个局部变量 EBP-8 代表第二个,一次类推。
推荐你看看汇编的入门教程。