- [游客] 补充一下,还有可能在数据段中定义数组时超过了一个段长 07/22 16:20
- [infosecer] 受教了 07/17 00:16
- [游客] 顶一下。 05/06 19:00
- [maxm] 收藏了先 02/17 15:50
- [jcw2008] 谢谢,这对我很有用! 10/21 11:05
- [ding2843] 好文章。。。。。。。。。。。。。。。。。 07/01 16:39
- [ding2843] 好文章。。。。。。。。 07/01 16:22
- [starrynight] 一笑而过 管自己的水,让别人喝去吧 06/27 13:25
- [游客] "别理他"那可不行,不能让不实之言,任意泛滥。 知情人应该发言,不要让“谣言”有成长的空间。 06/27 12:55
- [yjll] 顶! 06/26 13:31
- [lonely200808] 你好!我的汇编语言的初学者,在论坛里看到你发言,想和你交个朋友,因为我才开始自学,要自考,有没有QQ 03/26 17:19
- [gecko] 接触到汇编语言是一年后的事情了。才知到有一种语言更低级。 这话有双关语的感觉..哈哈 11/21 19:42
- [lbhn] 我已修改了,这东西不注意还真不好找*-* 10/18 16:04
- [lbhn] 多谢了,对了问一下你的照片是怎么上传的?为什么我现在连自己的资料都不能修改了? 10/17 18:28
- [lbhn] 我第二天又做了一遍这次没出错,可能是V86运行程序不是很稳定,多谢你关注啊!! 10/15 16:22
- [lbhn] 你是在纯DOS下还是ms-dos窗口下?是自已的机子吗? 我这是在网吧里做的!! 10/13 13:50
[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)连接的各种常数所构成的表达式。汇编程序在汇编过程中计算表达式,最终得到一个数值,因为在运行前就已经计算出了,所以不影响程序的运行速度,程序的可读性却增强了。(运算符及其优先级见文章开始的图片)
一、参数、变量和标号
在源程序语句格式的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) |
类型(汇编自留地) |
收藏此文 |