汇编中equ指令和word指令的区别

汇编语言中,.equ和.word指令有什么区别?
2024-12-19 01:59:55
推荐回答(3个)
回答1:

  1. word定义的是一变量,会开辟占用内存。

  2. equ定义的是常数、字符串等等,不会开辟占用内存。

  3. 简言之,定义变量用word,定义常量用equ。

汇编语言(AssemblyLanguage):

  1. 是面向机器的程序设计语言。

  2. 汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。

  3. 常说汇编语言过时,是低级语言,并不是说汇编语言要被丢弃,相反,汇编语言仍然是程序员必须了解的语言,甚至在某些行业与领域,汇编是必不可少的,非它不可适用。

  4. 只是,现在计算机最大的领域为IT软件,也是我们常说的Windows编程,在熟练的程序员手里,使用汇编语言编写的程序,运行效率和性能比用其它语言写的程序优秀数倍,但是代价是需要更长的时间来优化。

回答2:

.equ只是做了宏定义
.equ AAA 3
就是告诉编译器AAA=3而已

.word是要实实在在开辟空间的
.word AAA
会在这个地址处,开辟4个字节的空间,存放AAA

个人理解,欢迎交流。

回答3:

在汇编定义变量的时候会用到dup。
变量名 类型 初值表
Dup用于把一个相同值赋值若干次。
重复次数 dup(数据项)
具体比如
s db 30 dup(0)
定义一个字节型变量,该变量占用30个字节,所有字节被初始化成0

equ是一个代码替换指令
比如:
s equ bx+si
mov cx,[s]
那么上面两句代码相当于如下指令:
mov cx,[bx+si]

回答完毕。