汇编语言的常量有哪些···求详解
发布网友
发布时间:2024-10-03 18:48
我来回答
共1个回答
热心网友
时间:2024-12-12 17:55
不要完全套用高级语言的概念来理解汇编语言。
在汇编语言中,只有那些在编程时就已经确定、且再不可更改的数据,才可理解为常量。
基本上,常量就是指立即数。
它的数值是指令代码的一部分。
存储单元里的内容是可以改写的,它们是内存变量,不是常量。
寄存器中的内容也是可以改写的,它们是寄存器变量,也不是常量。
在程序中,常量的出现形式,可以是多种多样的。
1. 可以是直接书写的数值。
比如,MOV AH, 02H 中的02H。当然也可以用十进制、二进制、字符串等其它数据形式。
2. 可以是定义过的符号,EQU, =等伪指令可以用于定义常量。
比如 ABC EQU 330CH 这样定义的ABC,就是符号常量。
3. 可以是通过数值返回算符或常量表达式生成的常量。
数值返回算符如OFFSET等都可以用于产生立即数,所以用它们组成的表达式也是常量。
比如MOV BX, OFFSET ARRAY指令的源操作数 OFFSET ARRAY是由汇编程序在汇编时确定其值的常量。