欢迎来到天天文库
浏览记录
ID:55821911
大小:287.00 KB
页数:19页
时间:2020-06-09
《微型计算机系统及其工作原理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章 MASM伪指令系统3.1 汇编语言语句种类与格式3.1.1 汇编语言语句的种类汇编语言源程序可以使用如下三类语句:1.指令性语句2.伪指令语句3.宏指令语句3.1.2 汇编语言语句的格式指令性语句的格式为:[标号:]指令助记符[操作数[,操作数]][;注释]伪指令语句的格式为:[名字] 伪指令定义符 [参数,…,参数] [;注释]1.标号、名字指令或数据的符号地址。2.助记符、定义符规定指令或伪指令的功能。3.参数参数可分为三类,如下:(1).数值表达式⊙常数:二进制常数、十进制常数、十六进
2、制常数、八进制常数、串常数、十进制科学计数法、十六进制实数⊙算术运算符:+、-、*、/、MOD⊙逻辑运算符:NOT、AND、OR、XOR、SHR和SHL⊙关系运算符:EQ、NE、LT、LE、GT、GE(2).寄存器操作数寄存器操作数就是寄存器的名字,常用于指令性语句中。(3).存储器操作数存储器操作数即存储器的地址,常以一个表达式的形式给出,称为地址表达式。单个的变量、标号或有方括号的基址或变址寄存器是地址表达式的特例。4.注释注释项必须以分号开头。3.2 常用伪指令3.2.1 符号定义伪指令1.等值语句E
3、QU格式:变量名EQU表达式功能:EQU伪指令告知汇编程序,指令左右的二个量相等,并且用右边表达式的值定义左边的符号。表达式可以是常数、变量、标号、指令助记符、数值表达式、地址表达式。2.等号伪指令格式:变量名=表达式功能:“=”伪指令用来为右边的表达式定义一个替代符号,且只能是数值表达式,不能为字符串或地址表达式,“=”伪指令定义的符号允许重复定义。3.2.2 数据定义伪指令与变量1.数据定义语句数据定义语句有5条,其格式相同,如下:变量名DB初值表达式 变量名DW初值表达式变量名DD初值表达式 (
4、其它二种见课本) 功能:让汇编程序在内存中划出指定个数的存储单元,然后将这些存储单元与变量名联系起来,并在存储单元中预置初值。DB伪指令定义字节类型变量,其每个初值都占一个字节的存储空间。DW伪指令用来定义字类型变量,其每个初值都占一个字的存储空间。DD伪指令用来定义双字类型变量,其每个初值都占二个字的存储空间。 初值表达式决定变量初值的个数,定义变量时可以指定多个初值,从而占据较多的存储空间。多个初值时各个初值间用逗号隔开。初值表达式中可以有常数或常数表达式、字符串、?和带DUP的表达式。例如:B0DB2B1D
5、B3,5,?,9B2DW10H,2 DUP(1234H,?)B3DD1,2B4DB0,2 DUP(?,1,2 DUP(7)这5个变量分配内存情况如图3-1(a)~(e)所示。图4-1DBDWDD初值示意图图3-1DB、DW、DD初值示意图说明: (1)表达式中也可以有用引号引起来的字符串,它表示将字符的ASCII码作为初值。例如:C1DB ‘ABCD’C2DW ‘AB’,‘B’C3DD ‘AB’这三个变量在内存中的存放情况如图3-2(a)~(c)所示.图3-2DB、DW、DD初值示意图(2)对于DW和
6、DD,表达式中也允许是一个变量名或者标号.例:S1DB5S2DWS1S3DDS1内存情况如图3-3所示。2.变量的访问(1)当变量只代表一个数据时,用变量名可直接对其代表的单元进行操作。(2)当变量对应着多个数据时,变量名仅代表其第一个数据项,对其后数据项的存取可用变量名加一偏移量来实现。图3-3变量/标号名作初值3.变量的属性一个变量一经定义就具备了如下三个属性:(1).段属性表示变量对应数据区所在段的段基址。变量在哪个段内定义,其段属性就是哪个段的段基址。(2).偏移属性表示变量对应
7、数据区的段内的偏移量,即从段的起始地址开始到变量对应数据区的第一个存储单元之间的字节数,用16位无符号数表示。变量的段属性与偏移属性构成了变量的逻辑地址。(3).类型属性指变量对应数据项的存取单位,它与变量定义时使用的伪指令有关。如:DB定义的变量,类型为BYTE(字节);DW定义的变量,类型为WORD(字);DD定义的变量,类型为DWORD(双字)等。3.2.3 标号及其属性1.标号的概念标号是一条指令的符号地址,它常作为转移指令或子程序调用指令的操作数。标号同变量的区别在于标号代表的是指令代码而变量代表的数据。
8、2.标号的属性标号也是符号地址,同变量类似,也有三个属性。①段属性②偏移属性③类型属性3.标号的定义NEAR类型标号:在指令助记符前写上标号并用冒号分隔,就定义了一个NEAR标号。FAR类型标号:必须借助于其它操作符定义,见下小节。3.2.4 析值/属性操作符及符号名定义语句1.析值操作符
此文档下载收益归作者所有