汇编程序设计语言.pptx
《汇编程序设计语言.pptx》由会员分享,可在线阅读,更多相关《汇编程序设计语言.pptx(47页珍藏版)》请在咨信网上搜索。
1、第四章第四章 8086汇编语言程序设计汇编语言程序设计几个概念几个概念8086汇编语言的语句汇编语言的语句8086汇编中的伪指令汇编中的伪指令8086汇编中的运算符汇编中的运算符汇编语言程序设计汇编语言程序设计宏定义与宏调用宏定义与宏调用系统调用系统调用几个概念几个概念汇编语言汇编语言汇编语言源程序汇编语言源程序汇编汇编汇编程序汇编程序什么是汇编程序什么是汇编程序?汇编语言源程序不能由机器直接执行,必须翻译成汇编语言源程序不能由机器直接执行,必须翻译成汇编语言源程序不能由机器直接执行,必须翻译成汇编语言源程序不能由机器直接执行,必须翻译成由机器代码组成的目标程序,这一过程称为由机器代码组成的目
2、标程序,这一过程称为由机器代码组成的目标程序,这一过程称为由机器代码组成的目标程序,这一过程称为汇编汇编汇编汇编。把汇。把汇。把汇。把汇编语言源程序翻译成目标程序的软件称为编语言源程序翻译成目标程序的软件称为编语言源程序翻译成目标程序的软件称为编语言源程序翻译成目标程序的软件称为汇编程序汇编程序汇编程序汇编程序。如。如。如。如8086 8086 系统的汇编程序系统的汇编程序系统的汇编程序系统的汇编程序ASM-86ASM-86,及其扩展功能后的,及其扩展功能后的,及其扩展功能后的,及其扩展功能后的80868086宏汇编程序宏汇编程序宏汇编程序宏汇编程序MASM-86MASM-86。什么是什么是汇
3、编语言汇编语言?汇编语言汇编语言汇编语言汇编语言是一种采用助记符(英文缩写)表示的程是一种采用助记符(英文缩写)表示的程是一种采用助记符(英文缩写)表示的程是一种采用助记符(英文缩写)表示的程序设计语言。使用汇编语言编写的程序称为序设计语言。使用汇编语言编写的程序称为序设计语言。使用汇编语言编写的程序称为序设计语言。使用汇编语言编写的程序称为汇编语言源汇编语言源汇编语言源汇编语言源程序程序程序程序。它与机器语言(。它与机器语言(。它与机器语言(。它与机器语言(0 0、1 1编写的代码)密切相关。编写的代码)密切相关。编写的代码)密切相关。编写的代码)密切相关。机器语言与汇编语言机器语言与汇编语
4、言机器语言:机器语言是计算机硬件系统能够直接识别机器语言:机器语言是计算机硬件系统能够直接识别 的计算机语言,每一条语句实际上是一条的计算机语言,每一条语句实际上是一条 二进制二进制形式的指令代码,由操作码和操作形式的指令代码,由操作码和操作 数组成。参见数组成。参见P52-53汇编语言:汇编语言用汇编语言:汇编语言用助记符助记符代替操作码,用代替操作码,用符号地符号地 址址代替操作数。代替操作数。4.1 8086汇编语言的语句汇编语言的语句 汇编语言由指令性语句和指示性语句组成。汇编语言由指令性语句和指示性语句组成。一、指令性语句格式一、指令性语句格式标标号号:操操作作码码 操操作作数数1,
5、操操作作数数2;注注释释二、指示性语句格式二、指示性语句格式 标识符(名字)标识符(名字)指示符(伪指令)指示符(伪指令)表达式表达式 三、有关属性三、有关属性 存储器操作数的属性有三种:段值、段内偏移量和存储器操作数的属性有三种:段值、段内偏移量和 类型。类型。指令语句的一般格式如下:指令语句的一般格式如下:标号:标号:操作码操作码 操作数操作数;注释;注释1、标号:标号是机器指令语句存放、标号:标号是机器指令语句存放地址地址的符号表示,的符号表示,代表该指令目标代码的第一个字节地址,后代表该指令目标代码的第一个字节地址,后 面必须紧跟冒号面必须紧跟冒号“:”。2、操作码:操作码为语句的核心
6、成分,表示该语句的、操作码:操作码为语句的核心成分,表示该语句的 操作类型。操作类型。3、操作数:操作数表示操作码的操作对象。、操作数:操作数表示操作码的操作对象。4、注释:注释均以、注释:注释均以分号分号开始,它可占一行或多行,一开始,它可占一行或多行,一 般放在一条语句的后面。般放在一条语句的后面。伪指令语句格式伪指令语句格式如下:伪指令语句格式如下:标识符标识符 伪指令伪指令 表达式表达式;注释;注释 标识符标识符:标识符标识符是伪指令语句的一个可选项。是伪指令语句的一个可选项。伪指令伪指令:伪指令伪指令指定汇编程序要完成的具体操指定汇编程序要完成的具体操 作,如作,如规定规定的数据定义
7、伪指令的数据定义伪指令DB、DW、DD,段,段 定义伪指令定义伪指令SEGMENT,说明伪指令,说明伪指令ASSUME等。等。表达式表达式:伪指令后面的:伪指令后面的表达式表达式可以是常数、字符可以是常数、字符 串、常量名、变量名等,其个数由具体的伪指令决串、常量名、变量名等,其个数由具体的伪指令决 定,各个操作数之间必须以定,各个操作数之间必须以“逗号逗号”分隔。分隔。注释注释:伪指令的:伪指令的注释注释必须以必须以“;”开始,其作用同开始,其作用同 指令语句中的注释部分。指令语句中的注释部分。空格空格存储器操作数即变量存储器操作数即变量存储器操作数即变量存储器操作数即变量 变变量量通通常常
8、是是存存放放在在某某些些存存储储单单元元的的数数据据,以以变变量量名名的的形形式式出出现现在在程程序序中中,可可代代表表符符号号地地址址、数数据据区区或或存存储储区的区的第一个数据单元第一个数据单元,如,如BUF。变量是用数据定义变量是用数据定义伪指令伪指令DB、DW、DD等定义的。等定义的。变量的三种属性:变量的三种属性:段属性(段属性(SEGMENT):):表示变量存放在哪一个逻表示变量存放在哪一个逻 辑段中(即变量所在段的段地址)。辑段中(即变量所在段的段地址)。偏移属性(偏移属性(OFFSET):):表示变量的偏移地址,即表示变量的偏移地址,即 在逻辑段中距段的起始点的字节数在逻辑段中
9、距段的起始点的字节数 类型属性(类型属性(Type):):表示变量占用存储单元的字节表示变量占用存储单元的字节 数。用数。用DB定义的变量类型属性为字节;用定义的变量类型属性为字节;用DW定义定义 的变量类型属性为字(的变量类型属性为字(2B);用);用DD定义的变量类定义的变量类 型属性为双字(型属性为双字(4B)。)。4.2 8086汇编中的伪指令汇编中的伪指令一、一、符号定义语句符号定义语句 1、等值语句、等值语句 格式:符号名格式:符号名 EQU 表达式表达式 功能:为功能:为常量常量、表达式表达式及其他各种及其他各种符号符号定义一个定义一个 等值等值的的符号名符号名,但它,但它不申请
10、存储单元不申请存储单元。不。不 允许重新定义。允许重新定义。例:例:PORT EQU 1234 BUFF EQU PORT58 MEM EQU DS:BP20H COUNT EQU CX ABC EQU AAA2、等号语句、等号语句 格式:符号名格式:符号名=表达式表达式 功能:为功能:为常量常量、表达式表达式及其他各种及其他各种符号符号定义一个定义一个 等值等值的的符号名符号名,并能对所定义的符号多次,并能对所定义的符号多次 重复重复定义,且以定义,且以最后一次最后一次定义的值为准。定义的值为准。例:例:NUM34 NUM341二、变量定义语句二、变量定义语句 格式:格式:符号名符号名 DB
11、/DW/DD 表达式表达式 1 1、定义一组数据、定义一组数据 例例1 1:BUFF DW 1234H,0ABCDH,8EH DW 79DH,7B6AH 可以为一个或连续的可以为一个或连续的存储单元存储单元设置数值初值设置数值初值。2 2、定义一串字符、定义一串字符例例2 2:STR DB Welcome!用用DB伪指令为伪指令为ASCII字符串中的每一个字符字符串中的每一个字符分配一个分配一个字节单元字节单元,字符串必须用单引号括起来。,字符串必须用单引号括起来。3 3、定义保留存储单元、定义保留存储单元 例例3 3:SUM DW?,?为数据项分配为数据项分配存储单元存储单元的一种方法,只是
12、存储的一种方法,只是存储单元中不预置确定的值,常用来预留存储单元。单元中不预置确定的值,常用来预留存储单元。4 4、复制操作、复制操作 复制操作符复制操作符DUP(Duplication)可预置重复的数值可预置重复的数值 n DUP(表达式表达式)例例4 4:ALL_ZERO DB 0,0,0,0,0 用复制操作可改为:用复制操作可改为:ALL_ZERO DB 5 DUP(0)为若干重复数据单元为若干重复数据单元分配存储单元分配存储单元。5 5、将已定义的地址存入内存单元、将已定义的地址存入内存单元 例例5 5:LIT DD CYC CYC:MOV AX,BX三、段定义语句三、段定义语句1 1
13、、段定义语句格式:、段定义语句格式:段名段名 SEGMENT 定位类型定位类型 组合类型组合类型 类别类别 段名段名 ENDS 段定义伪指令用于将源程序划分成若干段,即代段定义伪指令用于将源程序划分成若干段,即代码段码段(存放程序存放程序),数据段,数据段(存放数据存放数据),堆栈段,附加,堆栈段,附加段。段。只需要掌握只需要掌握 段名段名 SEGMENT 段名段名 ENDS 2 2、段假设语句、段假设语句 ASSUME 段寄存器名:段名段寄存器名:段名,功能:向汇编程序指示当前各段所用的段寄存功能:向汇编程序指示当前各段所用的段寄存 器,设定段寄存器与段的关系。器,设定段寄存器与段的关系。3
14、 3、ORG伪指令、地址计数器伪指令、地址计数器$格式:格式:ORG 功能:指定在它之后的代码或数据存放的起始地功能:指定在它之后的代码或数据存放的起始地 址的偏移量,以表达式的值作为起始地址的偏移量,以表达式的值作为起始地 址,连续存放程序或数据。址,连续存放程序或数据。$代表当前的地址。代表当前的地址。4 4、END 表示源代码结束表示源代码结束 格式:格式:END 常数或表达式常数或表达式 功能:该语句标志整个程序的结束,是源程序的功能:该语句标志整个程序的结束,是源程序的 最后一条语句。最后一条语句。四、过程定义语句四、过程定义语句 过程名过程名 PROC NEAR/FAR RET 过
15、程名过程名 ENDP功能:功能:完成过程定义,在过程体中实现过程的操作功完成过程定义,在过程体中实现过程的操作功 能。当一程序块被定义为过程后,程序中其他能。当一程序块被定义为过程后,程序中其他 地方就可用地方就可用CALL指令调用该过程。指令调用该过程。调用过程的格式为:调用过程的格式为:CALL 过程名过程名 过程名实质上是过程入口的符号地址,它和过程名实质上是过程入口的符号地址,它和标号标号一样,也有三种属性:段、偏移量和类型(距离)。一样,也有三种属性:段、偏移量和类型(距离)。一般来说,被定义为过程的程序块中应该有返回一般来说,被定义为过程的程序块中应该有返回指令指令RET,执行,执
16、行RET指令后,控制返回到原来调用指指令后,控制返回到原来调用指令的下条指令。令的下条指令。4.3 8086汇编中的运算符汇编中的运算符 一、常用运算符一、常用运算符1 1、算术运算符、算术运算符 (加)、(加)、(减)、(减)、*(乘)、(乘)、/(除)、(除)、MOD(求余)。(求余)。2 2、逻辑运算符、逻辑运算符 AND、OR、XOR、NOT 3 3、关系运算符、关系运算符 EQ(相等)、(相等)、NE(不等、)、(不等、)、LT(小于)、(小于)、GT(大于)、(大于)、LE(小于等于)、(小于等于)、GE(大于等于)。(大于等于)。关系成立,全关系成立,全1 关系不成立,全关系不成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 程序设计语言
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。