Chinaunix首页 | 论坛 | 博客
  • 博客访问: 226376
  • 博文数量: 45
  • 博客积分: 1850
  • 博客等级: 上尉
  • 技术积分: 473
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-11 10:21
文章分类
文章存档

2006年(17)

2005年(28)

我的朋友

分类:

2006-03-27 17:52:08

对于硬指令,伪指令完成诸如程序存储模式、主存变量、子程序、宏及段定义等一些不产生CPU动作的说明性工作,正确透彻的理解伪指令,对于理解汇编程序,程序结构,运行机制等至关重要。
一、参数、变量和标号
    在源程序语句格式的4个组成部分中,参数是指令的操作对象,参数之间用逗号分隔。,汇编语言中,指令参数有数值型,它的主要形式是常数和数值表达式;还有地址型,主要形式是标号和名字(变量名、段名、过程名等)。我们知道,硬指令的参数有立即数、寄存器和存储单元,其中立即数要用数值型参数表达式,存储单元应该用地址型参数。
1、常数:表示一个固定的数值,分多种形式:
(1)十进制常数——0~9组成,以字母D或d结尾
(2)十六进制常数——0~9、A~F组成,以字母H或h结尾
(3)二进制常数——0~1组成,以字母B或b结尾
(4)八进制常数——0~7组成,以字母Q或q结尾
MASM默认不加后缀字母的是十进制,但是提供了.RADIX伪指令改变默认进制,格式如下:
.RADIX n
其中n为2~16范围内的任何数值
(5)字符串常数——利用一个标识符表达的一个数值。常数若使用有意义的符号名来表达可以提高程序的可读性,同时更具有通用性。MASM提供等价机制,用来为常量定义符号名,符号定义伪指令有等价EQU和等号=伪指令。他们的格式为:
符号名  EQU  数值表达式
符号名  EQU  <字符串>
符号名  =    数值表达式
EQU用于数值等价时不能重复定义符号名,但=允许有重复值。如:
x = 7      ;同样x EQU 7是正确的
x = x + 5  ;但是x EQU x + 5是错误的
2、数值表达式
是指由运算符(MASM统称为操作符Operator)连接的各种常数所构成的表达式。汇编程序在汇编过程中计算表达式,最终得到一个数值,因为在运行前就已经计算出了,所以不影响程序的运行速度,程序的可读性却增强了。
 
 
阅读(2197) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~