21 微型计算机系统及其工作原理.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:19 大小:345KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

21 微型计算机系统及其工作原理.ppt

21微型计算机系统及其工作原理.ppt

预览

免费试读已结束,剩余 9 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

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