ImageVerifierCode 换一换
格式:PPTX , 页数:102 ,大小:1.12MB ,
资源ID:4224072      下载积分:18 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4224072.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(汇编语言程序设计ok.pptx)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

汇编语言程序设计ok.pptx

1、微机原理微机原理与与接口技接口技术第第第第4 4 4 4章章章章 汇编语汇编语言程序言程序言程序言程序设计设计广州医学院信息技术教研室本章本章内内容容汇编语言格式言格式1 1汇编语言基本言基本语法法2 2伪指令指令3 3系系统功能功能调用用5 5汇编语言程序言程序设计举例例6 6宏指令宏指令4 4广州医学院信息技术教研室MyProg.ASM 汇编程序汇编程序编辑程序编辑程序MyProg.OBJ连接程序连接程序MyProg.EXE汇编语言源程序汇编语言源程序汇编语言源程序汇编语言源程序:用汇编语言编写的程序用汇编语言编写的程序用汇编语言编写的程序用汇编语言编写的程序,或简称为或简称为或简称为或简

2、称为源程序源程序源程序源程序。汇编程序汇编程序汇编程序汇编程序:将源程序翻译成机器语言的程序将源程序翻译成机器语言的程序将源程序翻译成机器语言的程序将源程序翻译成机器语言的程序目标程序:机器语言代码程序目标程序:机器语言代码程序目标程序:机器语言代码程序目标程序:机器语言代码程序连连连连接接接接程程程程序序序序:将将将将库库库库文文文文件件件件和和和和目目目目标标标标文文文文件件件件连连连连接接接接在在在在一一一一起起起起形形形形成成成成可可可可执执执执行行行行文文文文件的程序件的程序件的程序件的程序目前常用的汇编程序有宏汇编目前常用的汇编程序有宏汇编目前常用的汇编程序有宏汇编目前常用的汇编程

3、序有宏汇编MASMMASMMASMMASM汇汇编编语语言言程程序序从从建建立立到到汇汇编编、连连接接形形成成可可执执行行程程序序的的整整个个过程如图所示过程如图所示:4.1 汇编语言程序格式言程序格式广州医学院信息技术教研室4.1 汇编语言程序格式言程序格式汇编源程序:汇编源程序:汇编源程序:汇编源程序:广州医学院信息技术教研室4.1 汇编语言程序格式言程序格式三、一般汇编语言程序的结构形式三、一般汇编语言程序的结构形式三、一般汇编语言程序的结构形式三、一般汇编语言程序的结构形式NAME1NAME1NAME1NAME1 SEGMENTSEGMENTSEGMENTSEGMENT;段的起始;段的起

4、始;段的起始;段的起始 语句语句语句语句1 1 1 1 ;语句语句语句语句2 2 2 2 ;语句语句语句语句n n n n ;NAME1NAME1NAME1NAME1 ENDS ENDS ENDS ENDS ;段的结束;段的结束;段的结束;段的结束NAME2 NAME2 NAME2 NAME2 SEGMENT SEGMENT SEGMENT SEGMENT;段的起始;段的起始;段的起始;段的起始 语句语句语句语句1 1 1 1 ;语句语句语句语句2 2 2 2 ;语句语句语句语句mmmm ;NAME2NAME2NAME2NAME2 ENDS ENDS ENDS ENDS ;段的结束;段的结束;

5、段的结束;段的结束ENDENDENDEND ;源程序结束;源程序结束;源程序结束;源程序结束mm条语句序列构成的语句体条语句序列构成的语句体条语句序列构成的语句体条语句序列构成的语句体n n条语句序列构成的语句体条语句序列构成的语句体条语句序列构成的语句体条语句序列构成的语句体广州医学院信息技术教研室4.1 汇编语言程序格式言程序格式8086 8086 8086 8086 汇编语言语句的分类汇编语言语句的分类汇编语言语句的分类汇编语言语句的分类 指令语句指令语句指令语句指令语句 伪指令语句伪指令语句伪指令语句伪指令语句 宏指令语句宏指令语句宏指令语句宏指令语句广州医学院信息技术教研室4.2 汇

6、编语言基本言基本语法法4.2.0 4.2.0 4.2.0 4.2.0 汇编语言的格式汇编语言的格式汇编语言的格式汇编语言的格式4.2.1 4.2.1 4.2.1 4.2.1 常量、变量与标号常量、变量与标号常量、变量与标号常量、变量与标号4.2.2 4.2.2 4.2.2 4.2.2 运算符与表达式运算符与表达式运算符与表达式运算符与表达式广州医学院信息技术教研室4.2.0 汇编语言的格式言的格式由汇编语言编写的源程序是由许多语句由汇编语言编写的源程序是由许多语句由汇编语言编写的源程序是由许多语句由汇编语言编写的源程序是由许多语句(也可称为汇编指令也可称为汇编指令也可称为汇编指令也可称为汇编指

7、令)组成的。每组成的。每组成的。每组成的。每个语句由个语句由个语句由个语句由14141414个部分组成,其格式是:个部分组成,其格式是:个部分组成,其格式是:个部分组成,其格式是:标号标号标号标号 指令助记符指令助记符指令助记符指令助记符 操作数操作数操作数操作数 ;注解;注解;注解;注解 标识符:给指令或某一存储单元地址所起的名字。可由下列字符组成:标识符:给指令或某一存储单元地址所起的名字。可由下列字符组成:标识符:给指令或某一存储单元地址所起的名字。可由下列字符组成:标识符:给指令或某一存储单元地址所起的名字。可由下列字符组成:字母:字母:字母:字母:A z A z A z A z;数字

8、数字:数字:数字:0 9 0 9 0 9 0 9;特殊字符:特殊字符:特殊字符:特殊字符:?、一、一、一、一、$。数字不能作标识符的第一个字符,而圆点仅能用作第一个字符。标识符数字不能作标识符的第一个字符,而圆点仅能用作第一个字符。标识符数字不能作标识符的第一个字符,而圆点仅能用作第一个字符。标识符数字不能作标识符的第一个字符,而圆点仅能用作第一个字符。标识符最长为最长为最长为最长为31313131个字符。个字符。个字符。个字符。当标识符后跟冒号时,表示是当标识符后跟冒号时,表示是当标识符后跟冒号时,表示是当标识符后跟冒号时,表示是标号标号标号标号。它代表该行指令。它代表该行指令。它代表该行

9、指令。它代表该行指令的起始地址;的起始地址;的起始地址;的起始地址;当标识符后不带冒号时,表示当标识符后不带冒号时,表示当标识符后不带冒号时,表示当标识符后不带冒号时,表示变量变量变量变量;伪指令前的标识符不;伪指令前的标识符不;伪指令前的标识符不;伪指令前的标识符不加冒号。加冒号。加冒号。加冒号。指令助记符:表示不同操作的指令,可以是指令助记符:表示不同操作的指令,可以是指令助记符:表示不同操作的指令,可以是指令助记符:表示不同操作的指令,可以是8086808680868086的指令助记符,也可的指令助记符,也可的指令助记符,也可的指令助记符,也可以是伪指令。以是伪指令。以是伪指令。以是伪指

10、令。操作数:操作数:操作数:操作数:指令执行的对象。依指令的要求,可能有一个、两个或者没指令执行的对象。依指令的要求,可能有一个、两个或者没指令执行的对象。依指令的要求,可能有一个、两个或者没指令执行的对象。依指令的要求,可能有一个、两个或者没有。有。有。有。注解:该项可有可无,是为源程序所加的注解,用于提高程序的可读性。注解:该项可有可无,是为源程序所加的注解,用于提高程序的可读性。注解:该项可有可无,是为源程序所加的注解,用于提高程序的可读性。注解:该项可有可无,是为源程序所加的注解,用于提高程序的可读性。广州医学院信息技术教研室4.2.1 常量、常量、变量量与与标号号1.1.1.1.常量

11、常量常量常量 数值常量数值常量数值常量数值常量:如:如:如:如:010111001010111001010111001010111001,56,94H,0ADH56,94H,0ADH56,94H,0ADH56,94H,0ADH等。等。等。等。字符串常量字符串常量字符串常量字符串常量 :用单引号括起来的字符串,如:用单引号括起来的字符串,如:用单引号括起来的字符串,如:用单引号括起来的字符串,如 A A A A,abcdabcdabcdabcd 等。等。等。等。字符串在计算机中存储的是其字符串在计算机中存储的是其字符串在计算机中存储的是其字符串在计算机中存储的是其ASCLLASCLLASCLLA

12、SCLL码。例如:码。例如:码。例如:码。例如:A A A A 的值是的值是的值是的值是41H41H41H41H,ABABABAB 的值是的值是的值是的值是4142H4142H4142H4142H等。等。等。等。符号常量符号常量符号常量符号常量:常量用符号名来代替就是符号常量。常量用符号名来代替就是符号常量。常量用符号名来代替就是符号常量。常量用符号名来代替就是符号常量。例如:例如:例如:例如:COUNT EQU 3 COUNT EQU 3 COUNT EQU 3 COUNT EQU 3 或或或或COUNT=3COUNT=3COUNT=3COUNT=3,COUNTCOUNTCOUNTCOUNT

13、就是一个符号常量,与数就是一个符号常量,与数就是一个符号常量,与数就是一个符号常量,与数值常量值常量值常量值常量3 3 3 3等价。等价。等价。等价。广州医学院信息技术教研室4.2.1 常量、常量、变量量与与标号号2.2.2.2.变量变量变量变量 变变变变量量量量在在在在数数数数据据据据段段段段、附附附附加加加加数数数数据据据据段段段段或或或或堆堆堆堆栈栈栈栈段段段段中中中中定定定定义义义义,后后后后面面面面不不不不跟跟跟跟冒冒冒冒号号号号。它它它它也也也也可可可可以以以以用用用用LABELLABELLABELLABEL或或或或EQUEQUEQUEQU伪伪伪伪操操操操作作作作来来来来定定定定义

14、义义义。变变变变量量量量经经经经常常常常在在在在操操操操作数字段出现,有三种属性,见下:作数字段出现,有三种属性,见下:作数字段出现,有三种属性,见下:作数字段出现,有三种属性,见下:段属性段属性段属性段属性:指变量所在段的段首址。:指变量所在段的段首址。:指变量所在段的段首址。:指变量所在段的段首址。偏移属性偏移属性偏移属性偏移属性:变量的偏移地址,指从段的起始地址到定义变量:变量的偏移地址,指从段的起始地址到定义变量:变量的偏移地址,指从段的起始地址到定义变量:变量的偏移地址,指从段的起始地址到定义变量的位置之间的字节数。的位置之间的字节数。的位置之间的字节数。的位置之间的字节数。类型属性

15、类型属性类型属性类型属性:变量的类型属性,指该变量定义的字节数。变量的类型属性,指该变量定义的字节数。变量的类型属性,指该变量定义的字节数。变量的类型属性,指该变量定义的字节数。BYTE(1)BYTE(1)BYTE(1)BYTE(1)、WORD(2)WORD(2)WORD(2)WORD(2)、DWORD(4)DWORD(4)DWORD(4)DWORD(4)、FWORD(6)FWORD(6)FWORD(6)FWORD(6)、QWORD(8)QWORD(8)QWORD(8)QWORD(8)、TBYTE(10)TBYTE(10)TBYTE(10)TBYTE(10)广州医学院信息技术教研室4.2.1

16、常量、常量、变量量与与标号号在同一个程序中,同样的标号或变量的定义只允许出现一次,在同一个程序中,同样的标号或变量的定义只允许出现一次,在同一个程序中,同样的标号或变量的定义只允许出现一次,在同一个程序中,同样的标号或变量的定义只允许出现一次,否则汇编程序会指示出错。否则汇编程序会指示出错。否则汇编程序会指示出错。否则汇编程序会指示出错。例例例例DATA Segment DATA Segment DATA Segment DATA Segment ;数据段;数据段;数据段;数据段A DB 55A DB 55A DB 55A DB 55B DW 36HB DW 36HB DW 36HB DW 3

17、6HDATA EndsDATA EndsDATA EndsDATA Ends 说明:说明:说明:说明:A A A A 和和和和B B B B是变量。是变量。是变量。是变量。广州医学院信息技术教研室4.2.1 常量、常量、变量量与与标号号3.3.3.3.标号标号标号标号标号在标号在标号在标号在代码段代码段代码段代码段中定义,后面跟着冒号中定义,后面跟着冒号中定义,后面跟着冒号中定义,后面跟着冒号“:”,它可用,它可用,它可用,它可用LABELLABELLABELLABEL或或或或EQUEQUEQUEQU伪操作来定义;还可以作为过程名定义。标号经伪操作来定义;还可以作为过程名定义。标号经伪操作来定

18、义;还可以作为过程名定义。标号经伪操作来定义;还可以作为过程名定义。标号经常在转移指令或常在转移指令或常在转移指令或常在转移指令或CALLCALLCALLCALL指令的操作数字段出现,用以表示转向指令的操作数字段出现,用以表示转向指令的操作数字段出现,用以表示转向指令的操作数字段出现,用以表示转向地址。标号有地址。标号有地址。标号有地址。标号有3 3 3 3种属性:种属性:种属性:种属性:段属性段属性段属性段属性:定义标号的段起始地址:定义标号的段起始地址:定义标号的段起始地址:定义标号的段起始地址偏移属性偏移属性偏移属性偏移属性:标号的偏移地址:标号的偏移地址:标号的偏移地址:标号的偏移地址

19、是从段起始地址到定义标号的是从段起始地址到定义标号的是从段起始地址到定义标号的是从段起始地址到定义标号的位置之间的字节数。位置之间的字节数。位置之间的字节数。位置之间的字节数。类型属性:用来指出该标号是在本类型属性:用来指出该标号是在本类型属性:用来指出该标号是在本类型属性:用来指出该标号是在本段内引用段内引用段内引用段内引用还是在还是在还是在还是在其他段中其他段中其他段中其他段中引用引用引用引用的。段内引用的类型属性是的。段内引用的类型属性是的。段内引用的类型属性是的。段内引用的类型属性是NearNearNearNear,段间引用的类型属性,段间引用的类型属性,段间引用的类型属性,段间引用

20、的类型属性是是是是FarFarFarFar。广州医学院信息技术教研室4.2.2 运运算符算符与与表表达达式式1.1.1.1.算术运算符算术运算符算术运算符算术运算符 (加)、(减)、(加)、(减)、(加)、(减)、(加)、(减)、*(乘)、(乘)、(乘)、(乘)、/(除)、(除)、(除)、(除)、MODMODMODMOD(取余除)(取余除)(取余除)(取余除)例如:例如:例如:例如:MOV ALMOV ALMOV ALMOV AL,4*84*84*84*85 5 5 5 ;数值表达式;数值表达式;数值表达式;数值表达式MOV SIMOV SIMOV SIMOV SI,OFFSET BUFOFF

21、SET BUFOFFSET BUFOFFSET BUF12 12 12 12 ;地址表达式;地址表达式;地址表达式;地址表达式广州医学院信息技术教研室4.2.2 运运算符算符与与表表达达式式2.2.2.2.逻辑运算符逻辑运算符逻辑运算符逻辑运算符 ANDANDANDAND(与)、(与)、(与)、(与)、OROROROR(或)、(或)、(或)、(或)、XORXORXORXOR(异或)、(异或)、(异或)、(异或)、NOTNOTNOTNOT(非)(非)(非)(非)说明:说明:说明:说明:逻辑运算符只能用于数值表达式中,不能用于地址表达式中。逻辑运算符只能用于数值表达式中,不能用于地址表达式中。逻辑

22、运算符只能用于数值表达式中,不能用于地址表达式中。逻辑运算符只能用于数值表达式中,不能用于地址表达式中。逻辑运算符和逻辑运算指令是有区别的。逻辑运算符的功能逻辑运算符和逻辑运算指令是有区别的。逻辑运算符的功能逻辑运算符和逻辑运算指令是有区别的。逻辑运算符的功能逻辑运算符和逻辑运算指令是有区别的。逻辑运算符的功能在汇编阶段完成,逻辑运算指令的功能在程序执行阶段完成。在汇编阶段完成,逻辑运算指令的功能在程序执行阶段完成。在汇编阶段完成,逻辑运算指令的功能在程序执行阶段完成。在汇编阶段完成,逻辑运算指令的功能在程序执行阶段完成。例如,在汇编阶段,例如,在汇编阶段,例如,在汇编阶段,例如,在汇编阶段,

23、指令指令指令指令 AND AND AND AND ALALALAL,78H AND 0FH78H AND 0FH78H AND 0FH78H AND 0FH 等价于等价于等价于等价于指令指令指令指令 AND ALAND ALAND ALAND AL,08H08H08H08H广州医学院信息技术教研室4.2.2 运运算符算符与与表表达达式式3.3.3.3.关系运算符关系运算符关系运算符关系运算符EQEQEQEQ(相等)(相等)(相等)(相等)LTLTLTLT(小于)(小于)(小于)(小于)LELELELE(小于等于)(小于等于)(小于等于)(小于等于)GTGTGTGT(大于)(大于)(大于)(大于

24、GEGEGEGE(大于等于)(大于等于)(大于等于)(大于等于)NENENENE(不等于)(不等于)(不等于)(不等于)说明:说明:说明:说明:关系运算符要有关系运算符要有关系运算符要有关系运算符要有两个运算对象两个运算对象两个运算对象两个运算对象。两个运算对象要么都是数值、。两个运算对象要么都是数值、。两个运算对象要么都是数值、。两个运算对象要么都是数值、要么都是同一个段内的地址。运算结果为真时,表示为要么都是同一个段内的地址。运算结果为真时,表示为要么都是同一个段内的地址。运算结果为真时,表示为要么都是同一个段内的地址。运算结果为真时,表示为0FFFFH 0FFFFH 0FFFFH 0F

25、FFFH(-1-1-1-1),运算结果为假时,表示为),运算结果为假时,表示为),运算结果为假时,表示为),运算结果为假时,表示为0000H 0000H 0000H 0000H(0 0 0 0)。)。)。)。例如:例如:例如:例如:指令指令指令指令MOV BXMOV BXMOV BXMOV BX,32 EQ 45 32 EQ 45 32 EQ 45 32 EQ 45 等价于等价于等价于等价于 MOV BXMOV BXMOV BXMOV BX,0 0 0 0指令指令指令指令MOV BXMOV BXMOV BXMOV BX,56 GT 30 56 GT 30 56 GT 30 56 GT 30 等

26、价于等价于等价于等价于 MOV BXMOV BXMOV BXMOV BX,0FFFFH0FFFFH0FFFFH0FFFFH 广州医学院信息技术教研室4.2.2 运运算符算符与与表表达达式式4.4.4.4.取值运算符取值运算符取值运算符取值运算符变量和标号具有段属性、偏移属性和类型属性等,要从变量和标号具有段属性、偏移属性和类型属性等,要从变量和标号具有段属性、偏移属性和类型属性等,要从变量和标号具有段属性、偏移属性和类型属性等,要从变量和标号中取出它们的段地址、偏移地址,变量的类型、变量和标号中取出它们的段地址、偏移地址,变量的类型、变量和标号中取出它们的段地址、偏移地址,变量的类型、变量和标

27、号中取出它们的段地址、偏移地址,变量的类型、元素的个数和占用内存的大小等,就要使用取值运算符(又元素的个数和占用内存的大小等,就要使用取值运算符(又元素的个数和占用内存的大小等,就要使用取值运算符(又元素的个数和占用内存的大小等,就要使用取值运算符(又称分析运算符)。这些运算符是:称分析运算符)。这些运算符是:称分析运算符)。这些运算符是:称分析运算符)。这些运算符是:SEGSEGSEGSEG:取段地址:取段地址:取段地址:取段地址OFFSETOFFSETOFFSETOFFSET:取偏移地址:取偏移地址:取偏移地址:取偏移地址TYPE TYPE TYPE TYPE:返回变量类型:返回变量类型:

28、返回变量类型:返回变量类型LENGTHLENGTHLENGTHLENGTH:返回变量所包含的数据个数:返回变量所包含的数据个数:返回变量所包含的数据个数:返回变量所包含的数据个数SIZE SIZE SIZE SIZE:返回变量的字节数:返回变量的字节数:返回变量的字节数:返回变量的字节数 广州医学院信息技术教研室4.2.2 运运算符算符与与表表达达式式例如:例如:例如:例如:SCORESCORESCORESCORE DW 30 DUP DW 30 DUP DW 30 DUP DW 30 DUP(0 0 0 0)上述伪指令定义了一个变量上述伪指令定义了一个变量上述伪指令定义了一个变量上述伪指令定

29、义了一个变量SCORESCORESCORESCORE ,取值运算符使用,取值运算符使用,取值运算符使用,取值运算符使用如下:如下:如下:如下:MOV AL,TYPE SCOREMOV AL,TYPE SCOREMOV AL,TYPE SCOREMOV AL,TYPE SCOREMOV AH,LENGTH SCOREMOV AH,LENGTH SCOREMOV AH,LENGTH SCOREMOV AH,LENGTH SCOREMOV BL,SIZE SCOREMOV BL,SIZE SCOREMOV BL,SIZE SCOREMOV BL,SIZE SCORE则则则则 (AL)=2,(AH)=

30、30,(BL)=60(AL)=2,(AH)=30,(BL)=60(AL)=2,(AH)=30,(BL)=60(AL)=2,(AH)=30,(BL)=60广州医学院信息技术教研室4.2.2 运运算符算符与与表表达达式式5.5.5.5.合成运算符合成运算符合成运算符合成运算符 也称为修改属性运算符,它能修改变量或标号的原有的也称为修改属性运算符,它能修改变量或标号的原有的也称为修改属性运算符,它能修改变量或标号的原有的也称为修改属性运算符,它能修改变量或标号的原有的类型属性并赋予新的类型。这类运算符是类型属性并赋予新的类型。这类运算符是类型属性并赋予新的类型。这类运算符是类型属性并赋予新的类型。这

31、类运算符是PTRPTRPTRPTR和和和和THISTHISTHISTHIS。PTRPTRPTRPTR的格式:的格式:的格式:的格式:类型类型类型类型 PTR PTR PTR PTR 表达式表达式表达式表达式 其中类型可以是其中类型可以是其中类型可以是其中类型可以是BYTEBYTEBYTEBYTE、WORDWORDWORDWORD、DWORDDWORDDWORDDWORD、NEARNEARNEARNEAR、FARFARFARFAR,表达式是,表达式是,表达式是,表达式是被修改的变量或标号。被修改的变量或标号。被修改的变量或标号。被修改的变量或标号。例如:例如:例如:例如:NUM DB 1NUM

32、DB 1NUM DB 1NUM DB 1,3 3 3 3,5 5 5 5,7 7 7 7则则则则MOV AX,NUM MOV AX,NUM MOV AX,NUM MOV AX,NUM 非法的非法的非法的非法的!因为因为因为因为NUMNUMNUMNUM是字节定义,而是字节定义,而是字节定义,而是字节定义,而AXAXAXAX是字是字是字是字!而应改为:而应改为:而应改为:而应改为:MOV AX,WORD PTR NUMMOV AX,WORD PTR NUMMOV AX,WORD PTR NUMMOV AX,WORD PTR NUM广州医学院信息技术教研室PTRPTRPTRPTR运算符应用例子:运算

33、符应用例子:运算符应用例子:运算符应用例子:数据段定义数据段定义数据段定义数据段定义:VAR1VAR1VAR1VAR1 DB 10H,18H,25H,34HDB 10H,18H,25H,34HDB 10H,18H,25H,34HDB 10H,18H,25H,34HVAR2VAR2VAR2VAR2 DW 1223H,1200HDW 1223H,1200HDW 1223H,1200HDW 1223H,1200H代码段定义代码段定义代码段定义代码段定义:MOV AX,WORD PTR VAR1 ;MOV AX,WORD PTR VAR1 ;MOV AX,WORD PTR VAR1 ;MOV AX,W

34、ORD PTR VAR1 ;执行后:执行后:执行后:执行后:AX=1810HAX=1810HAX=1810HAX=1810HMOV BL,BYTE PTR VAR2 ;MOV BL,BYTE PTR VAR2 ;MOV BL,BYTE PTR VAR2 ;MOV BL,BYTE PTR VAR2 ;执行后:执行后:执行后:执行后:BL=23H BL=23H BL=23H BL=23H 广州医学院信息技术教研室4.3 伪指令指令1.1.1.1.符号定义伪指令符号定义伪指令符号定义伪指令符号定义伪指令 等值伪指令等值伪指令等值伪指令等值伪指令EQUEQUEQUEQU 格式:格式:格式:格式:EQU

35、EQUEQUEQU 例如:例如:例如:例如:CONSTANT CONSTANT CONSTANT CONSTANT EQUEQUEQUEQU256 256 256 256 ;将数;将数;将数;将数256256256256赋以符号名赋以符号名赋以符号名赋以符号名 B B B B EQU BP+8 EQU BP+8 EQU BP+8 EQU BP+8;变址引用赋以符号名;变址引用赋以符号名;变址引用赋以符号名;变址引用赋以符号名B B B B AB EQU DATA_ONE+2 AB EQU DATA_ONE+2 AB EQU DATA_ONE+2 AB EQU DATA_ONE+2 ;DATA_

36、ONE;DATA_ONE;DATA_ONE;DATA_ONE必须先定义,否则出错必须先定义,否则出错必须先定义,否则出错必须先定义,否则出错广州医学院信息技术教研室4.3 伪指令指令 等号伪指令等号伪指令等号伪指令等号伪指令 =例如例如例如例如:EMP=6 :EMP=6 :EMP=6 :EMP=6 或或或或 EMP EQU 6 EMP EQU 6 EMP EQU 6 EMP EQU 6 EQUEQUEQUEQU定义的表达式名不允许重复使用。而伪指令则允定义的表达式名不允许重复使用。而伪指令则允定义的表达式名不允许重复使用。而伪指令则允定义的表达式名不允许重复使用。而伪指令则允许重复使用。许重复

37、使用。许重复使用。许重复使用。广州医学院信息技术教研室4.3 伪指令指令(5 5 5 5)DUPDUPDUPDUP按照给定的次数来复制某个(或某些)操作数,按照给定的次数来复制某个(或某些)操作数,按照给定的次数来复制某个(或某些)操作数,按照给定的次数来复制某个(或某些)操作数,可以避免多次重复输入同一个数据。可以避免多次重复输入同一个数据。可以避免多次重复输入同一个数据。可以避免多次重复输入同一个数据。例例例例1 1 1 1:Data1 DB 0FFHData1 DB 0FFHData1 DB 0FFHData1 DB 0FFH,0FFH0FFH0FFH0FFH,0FFH0FFH0FFH0

38、FFH,0FFH0FFH0FFH0FFH,0FFH0FFH0FFH0FFH,0FFH 0FFH 0FFH 0FFH Data2 DB 6 DUP(0FFH)Data2 DB 6 DUP(0FFH)Data2 DB 6 DUP(0FFH)Data2 DB 6 DUP(0FFH)例例例例2 2 2 2:操作数?可以保留存储空间,但不存入数据。:操作数?可以保留存储空间,但不存入数据。:操作数?可以保留存储空间,但不存入数据。:操作数?可以保留存储空间,但不存入数据。Array1 DB 2 DUPArray1 DB 2 DUPArray1 DB 2 DUPArray1 DB 2 DUP(0 0 0

39、0,1 1 1 1,2 2 2 2,?),?),?),?)Array3 DB 100 DUPArray3 DB 100 DUPArray3 DB 100 DUPArray3 DB 100 DUP(?)(?)(?)(?)广州医学院信息技术教研室4.3 伪指令指令2.2.2.2.数据定义伪指令数据定义伪指令数据定义伪指令数据定义伪指令格式格式格式格式:变量变量变量变量 助记符助记符助记符助记符 操作数,操作数,操作数,操作数,操作数,操作数,操作数,操作数 ;注释;注释;注释;注释该类伪指令用来定义存贮空间及其所存数据的长度。该类伪指令用来定义存贮空间及其所存数据的长度。该类伪指令用来定义存贮空间

40、及其所存数据的长度。该类伪指令用来定义存贮空间及其所存数据的长度。DBDBDBDB:定义字节,即每个数据是:定义字节,即每个数据是:定义字节,即每个数据是:定义字节,即每个数据是1 1 1 1个字节。个字节。个字节。个字节。DWDWDWDW:定义字,即每个数据占:定义字,即每个数据占:定义字,即每个数据占:定义字,即每个数据占1 1 1 1个字(个字(个字(个字(2 2 2 2个字节)。个字节)。个字节)。个字节)。DDDDDDDD:定义双字,即每个数据占:定义双字,即每个数据占:定义双字,即每个数据占:定义双字,即每个数据占2 2 2 2个字。低字部分在低地址,高字部分在高地个字。低字部分在

41、低地址,高字部分在高地个字。低字部分在低地址,高字部分在高地个字。低字部分在低地址,高字部分在高地址。址。址。址。DQDQDQDQ:定义:定义:定义:定义4 4 4 4字长,即每个数据占字长,即每个数据占字长,即每个数据占字长,即每个数据占4 4 4 4个字。个字。个字。个字。DTDTDTDT:定义:定义:定义:定义10101010个字节长,用于压缩式十进制数据。个字节长,用于压缩式十进制数据。个字节长,用于压缩式十进制数据。个字节长,用于压缩式十进制数据。例如:例如:例如:例如:DATA1 DB 10HDATA1 DB 10HDATA1 DB 10HDATA1 DB 10H,6 6 6 6,

42、78H78H78H78H,100100100100表示从表示从表示从表示从DATA1DATA1DATA1DATA1单元开始连续存放单元开始连续存放单元开始连续存放单元开始连续存放10H10H10H10H,6 6 6 6,78H78H78H78H,100100100100,共占,共占,共占,共占4 4 4 4个字节地址。个字节地址。个字节地址。个字节地址。广州医学院信息技术教研室4.3 伪指令指令定义数据伪指令定义数据伪指令定义数据伪指令定义数据伪指令DATA1DATA1DATA1DATA1DBDBDBDB20H20H20H20HDATA2DATA2DATA2DATA2DWDWDWDW0240H

43、1000H0240H,1000H0240H,1000H0240H,1000HDATA3DATA3DATA3DATA3DBDBDBDB(-1*3),(15/3)(-1*3),(15/3)(-1*3),(15/3)(-1*3),(15/3)DATA4DATA4DATA4DATA4DDDDDDDD12345H12345H12345H12345HDATA5DATA5DATA5DATA5DBDBDBDB3210321032103210DATA6DATA6DATA6DATA6DWDWDWDWAB,C,DAB,C,DAB,C,DAB,C,DDATA7DATA7DATA7DATA7DBDBDBDB?DATA

44、8DATA8DATA8DATA8DDDDDDDD?DATA9DATA9DATA9DATA9DBDBDBDB5DUP(00)5DUP(00)5DUP(00)5DUP(00)DATA10DATA10DATA10DATA10DWDWDWDW3DUP(?)3DUP(?)3DUP(?)3DUP(?)广州医学院信息技术教研室广州医学院信息技术教研室4.3 伪指令指令课后练习课后练习课后练习课后练习例例例例1 1 1 1:请图示下面伪指令定义的数据在内存中的存放形式。:请图示下面伪指令定义的数据在内存中的存放形式。:请图示下面伪指令定义的数据在内存中的存放形式。:请图示下面伪指令定义的数据在内存中的存放形式

45、1 1 1 1)BUF1 DB BUF1 DB BUF1 DB BUF1 DB 12121212,12,12H,2*6,12,12H,2*6,12,12H,2*6,12,12H,2*6,-1-1-1-1(2 2 2 2)BUF2 DW BUF2 DW BUF2 DW BUF2 DW 12121212,12H12H12H12H,1234H1234H1234H1234H(3 3 3 3)BUF3 DB 2 DUPBUF3 DB 2 DUPBUF3 DB 2 DUPBUF3 DB 2 DUP(5 5 5 5,4 4 4 4,3DUP3DUP3DUP3DUP(8 8 8 8)广州医学院信息技术教研

46、室4.3 伪指令指令例例例例2 2 2 2:下面是一个定义数据的程序段,设:下面是一个定义数据的程序段,设:下面是一个定义数据的程序段,设:下面是一个定义数据的程序段,设DATADATADATADATA值为值为值为值为1200H1200H1200H1200H,请图示各数据在内存的存放形式。,请图示各数据在内存的存放形式。,请图示各数据在内存的存放形式。,请图示各数据在内存的存放形式。Data segmentData segmentData segmentData segmentorg 100Horg 100Horg 100Horg 100HBuf1 DB 10H,20H,30HBuf1 DB

47、10H,20H,30HBuf1 DB 10H,20H,30HBuf1 DB 10H,20H,30HBuf2 DW Buf1Buf2 DW Buf1Buf2 DW Buf1Buf2 DW Buf1Buf3 DD Buf2Buf3 DD Buf2Buf3 DD Buf2Buf3 DD Buf2Count EQU Buf2-Buf1Count EQU Buf2-Buf1Count EQU Buf2-Buf1Count EQU Buf2-Buf1Buf4 DW Buf2-Buf1Buf4 DW Buf2-Buf1Buf4 DW Buf2-Buf1Buf4 DW Buf2-Buf1Data endsDa

48、ta endsData endsData ends广州医学院信息技术教研室4.3 伪指令指令3.3.3.3.段定义伪指令段定义伪指令段定义伪指令段定义伪指令 SEGMENTSEGMENTSEGMENTSEGMENT和和和和ENDS ENDS ENDS ENDS 段定义伪指令段定义伪指令段定义伪指令段定义伪指令该指令能对程序分段该指令能对程序分段该指令能对程序分段该指令能对程序分段,其格式为:其格式为:其格式为:其格式为:段名段名段名段名 SEGMENT SEGMENT SEGMENT SEGMENT 定位类型定位类型定位类型定位类型组合类型组合类型组合类型组合类型 类别类别类别类别 段名段名段

49、名段名 ENDSENDSENDSENDS广州医学院信息技术教研室4.3 伪指令指令DATA1 SEGMENTDATA1 SEGMENTDATA1 SEGMENTDATA1 SEGMENT DATA1 ENDSDATA1 ENDSDATA1 ENDSDATA1 ENDSSTACK1 SEGMENT STACKSTACK1 SEGMENT STACKSTACK1 SEGMENT STACKSTACK1 SEGMENT STACK STACK1 ENDSSTACK1 ENDSSTACK1 ENDSSTACK1 ENDSCODE1 SEGMENTCODE1 SEGMENTCODE1 SEGMENTCO

50、DE1 SEGMENT ASSUME CS ASSUME CS ASSUME CS ASSUME CS:CODE1CODE1CODE1CODE1,DSDSDSDS:DATA1DATA1DATA1DATA1,SSSSSSSS:STACK1STACK1STACK1STACK1 MOV AX MOV AX MOV AX MOV AX,DATADATADATADATA MOV DS MOV DS MOV DS MOV DS,AXAXAXAX MOV AX MOV AX MOV AX MOV AX,STACKSTACKSTACKSTACK MOV SS MOV SS MOV SS MOV SS,AXAX

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服