汇编网首页登录博客注册
fishboy的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态

[2007-10-29 16:28] 【转贴】汇编伪指令一

图片载入中
相对于硬指令,伪指令完成诸如程序存储模式、主存变量、子程序、宏及段定义等一些不产生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)连接的各种常数所构成的表达式。汇编程序在汇编过程中计算表达式,最终得到一个数值,因为在运行前就已经计算出了,所以不影响程序的运行速度,程序的可读性却增强了。(运算符及其优先级见文章开始的图片)
评论次数(1)  |  浏览次数(2142)  |  类型(汇编自留地) |  收藏此文  | 

[  ding2843   发表于  2008-07-01 16:39  ]

好文章。。。。。。。。。。。。。。。。。

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码