汇编语言语句的类型和格式.pptx
《汇编语言语句的类型和格式.pptx》由会员分享,可在线阅读,更多相关《汇编语言语句的类型和格式.pptx(28页珍藏版)》请在咨信网上搜索。
1、第5章 汇编语言程序设计(3)宏指令语句是以一个宏名定义的一段指令序列宏指令语句是以一个宏名定义的一段指令序列,在汇编中,在汇编中凡是出现宏指令语句的地方,都会有相应的指令语句序列的目标凡是出现宏指令语句的地方,都会有相应的指令语句序列的目标代码插入。代码插入。2.语句的格式语句的格式 指指令令语语句句与与伪伪指指令令语语句句的的格格式式是是类类似似的的。一一般般情情况况下下,汇汇编编语言的语句可以由部分构成:语言的语句可以由部分构成:名字名字名字名字 助记符助记符助记符助记符 操作数操作数操作数操作数 ;注释;注释;注释;注释 其其中中带带方方括括号号的的部部分分表表示示任任选选项项,既既可
2、可以以有有,也也可可以以没没有有。例例5.1中有如下语句:中有如下语句:LOOPER:MOV AL,DATA2SI ;取一个字节加数;取一个字节加数 DATA1 DB 0F8H,60H,0ACH,74H,3BH;被加数;被加数第第一一条条语语句句是是指指令令语语句句,其其中中“LOOPER:”是是名名字字,“MOV”是是指指令令助助记记符符,“AL,DATA2SI”是是操操作作数数,“;”后后面面是是注注释释部部分分;第第二二条条语语句句是是伪伪指指令令语语句句,其其中中“DATA1”是是名名字字,“DB”是是伪伪指指令令定定义义符符,“0F8H,60H,0ACH,74H,3BH”是是操作数,
3、操作数,“;”后面是注释部分。后面是注释部分。第5章 汇编语言程序设计 1)名字 汇汇编编语语言言语语句句的的第第一一个个组组成成部部分分是是名名字字(Name)。在在指指令令语语句句中中,这这个个名名字字是是一一个个标标号号。指指令令语语句句中中的的标标号号实实质质上上是是指指“:”后后面面指指令令所所在在的的存存储储地地址址(逻逻辑辑地地址址)。供供JMP、CALL和和LOOP等等指指令令作作操操作作数数使使用用,以以寻寻找找转转移移目目标标地地址址。并并非非每每条条指指令令语语句句必必须须有有标标号号,但但如如果果一一条条指指令令前前面面有有一一标标号号,则则程程序序中中其其它它地地方方
4、就就可可以以引引用用这这个个标标号号。在在例例5.1中中,START、LOOPER就是标号。标号后面有一个冒号。就是标号。标号后面有一个冒号。标号有三种属性:段、偏移量和类型标号有三种属性:段、偏移量和类型。标标号号的的段段属属性性是是定定义义标标号号在在程程序序段段的的段段地地址址,当当程程序序中中引引用一个标号时,该标号的段值应在用一个标号时,该标号的段值应在CS寄存器中。寄存器中。标标号号的的偏偏移移量量属属性性表表示示标标号号所所在在段段的的起起始始地地址址到到定定义义该该标标号的地址之间的字节数。偏移量是一个号的地址之间的字节数。偏移量是一个16位无符号数。位无符号数。标标号号的的类
5、类型型属属性性有有两两种种:NEAR和和FAR。前前一一种种标标号号可可以以在在段段内内被被引引用用;后后一一种种标标号号可可以以在在其其它它段段被被引引用用。如如果果定定义义一一个标号时后跟冒号,则汇编程序确认其类型为个标号时后跟冒号,则汇编程序确认其类型为NEAR。第5章 汇编语言程序设计 伪伪指指令令语语句句中中的的名名字字可可以以是是变变量量名名、段段名名、过过程程名名。与与指指令令语语句句中中的的标标号号不不同同,这这些些伪伪指指令令语语句句中中的的名名字字并并不不总总是是任任选选的的,有有些些伪伪指指令令规规定定前前面面必必须须有有名名字字,有有些些则则不不允允许许有有名名字字,也
6、也有有一一些些伪伪指指令令的的名名字字是是任任选选的的。即即不不同同的的伪伪指指令令对对于于是是否否有有名名字字有有不不同同的的规规定定。伪伪指指令令语语句句的的名名字字后后面面通通常常不不跟跟冒冒号号,这这是是它它和和标标号号的一个明显区别的一个明显区别。很很多多情情况况下下伪伪指指令令语语句句中中的的名名字字是是变变量量名名,变变量量名名代代表表存存储储器器中中一一个个数数据据区区的的名名字字,例例如如例例5.1中中的的DATA1、DATA2就就是是变变量名。量名。第5章 汇编语言程序设计 变量也有三种属性:段、偏移量和类型。变量也有三种属性:段、偏移量和类型。变变量量的的段段属属性性是是
7、变变量量所所代代表表的的数数据据区区所所在在段段的的段段地地址址。由由于于数数据据区区一一般般在在存存储储器器的的数数据据段段中中,因因此此变变量量的的段段地地址址常常常常在在DS和和ES寄存器中。寄存器中。变变量量的的偏偏移移量量属属性性是是该该变变量量所所在在段段的的起起始始地地址址与与变变量量的的地地址之间的字节数。址之间的字节数。变变量量的的类类型型属属性性有有BYTE(字字节节)、WORD(字字)、DWORD(双双字字)、QWORD(四四字字)、TBYTE(十十字字)等等,表示数据区中存取操作对象的大小。表示数据区中存取操作对象的大小。第5章 汇编语言程序设计 例 1编写一个两字相加
8、的程序。DSEG SEGMENT ;定义数据段DATA1 DW 1234H ;定义被加数DATA2 DW 5678H ;定义加数DSEG ENDS ;数据段结束ESEG SEGMENT ;定义附加段SUM DW 2 DUP(?);定义存放结果区ESEG ENDS ;附加段结束CSEG SEGMENT ;定义代码段;下面的语句说明程序中定义的各段分别用哪个段寄存器寻址 ASSUME CS:CSEG,DS:DSEG,ES:ESEGSTART:MOV AX,DSEG;START为程序开始执行的启动标号 MOV DS,AX ;初始化DS MOV AX,ESEG MOV ES,AX ;初始化ES LEA
9、 SI,SUM ;存放结果的偏移地址送SI MOV AX,DATA1 ;取被加数 ADD AX,DATA2 ;两数相加 MOV ES:SI,AX ;和送附加段的SUM单元中 HLTCSEG ENDS ;代码段结束 END START ;源程序结束第5章 汇编语言程序设计 DATA SEGMENTDA1 DB 12H ;定义一个字节数据DA2 DD 0FEDCBA90H ;定义一个双字数据DA3 DW 5678H ;定义一个字数据DATA ENDS第5章 汇编语言程序设计 2)助记符 汇编语言语句中的第二个组成部分是助记符(汇编语言语句中的第二个组成部分是助记符(Memonic)。)。在在指指令
10、令语语句句中中的的第第二二部部分分是是CPU指指令令系系统统中中指指令令的的助助记记符符,例例如如:MOV ADC等等等等。助助记记符符约约有有90多多种种,在在第第四四章章中中已已经经进行了详细的讨论。进行了详细的讨论。在在伪伪指指令令语语句句中中的的第第二二部部分分是是伪伪指指令令的的定定义义符符,例例如如:DB、SEGMENT、ENDS、END等等都都是是伪伪指指令令定定义义符符。它它们们在在程程序序中中的的作作用用是是定定义义变变量量的的类类型型、定定义义段段以以及及告告诉诉汇汇编编程程序序结结束束汇汇编等。编等。第5章 汇编语言程序设计 3)操作数 汇汇编编语语言言语语句句中中的的第
11、第三三个个组组成成部部分分是是操操作作数数。在在指指令令语语句句中中是是指指令令的的操操作作数数,可可能能有有单单操操作作数数或或双双操操作作数数,也也可可能能无无操操作作数数;而而在在伪伪指指令令中中可可能能有有更更多多个个操操作作数数。当当操操作作数数不不止止一一个个时,相互之间应该用逗号隔开。时,相互之间应该用逗号隔开。可可以以作作为为操操作作数数的的有有:常常数数、寄寄存存器器、标标号号、变变量量和和表表达达式式等。等。第5章 汇编语言程序设计 (1)常数。常数就是指令中出现的那些固定值,可以分为数常数。常数就是指令中出现的那些固定值,可以分为数值常数和字符串常数两类。例如,立即数寻址
12、时所有的立即数、值常数和字符串常数两类。例如,立即数寻址时所有的立即数、直接寻址时所有的地址、直接寻址时所有的地址、ASCII字符串等都是常数。常数是除了字符串等都是常数。常数是除了自身的值以外,没有其他属性的数值。在源程序中,数值常数按自身的值以外,没有其他属性的数值。在源程序中,数值常数按其基数的不同,可有二进制数、八进制数、十进制数、十六进制其基数的不同,可有二进制数、八进制数、十进制数、十六进制数等几种不同表示形式。汇编语言用不同的后缀加以区别。数等几种不同表示形式。汇编语言用不同的后缀加以区别。第5章 汇编语言程序设计 (2)寄存器寄存器 80868088CPU的寄存器可以作为指令的
13、操作数。的寄存器可以作为指令的操作数。(3)标号标号 由由于于标标号号代代表表一一条条指指令令的的符符号号地地址址,因因此此可可以以作作为为转转移移(无无条条件件转转移移或或条条件件转转移移)、过过程程调调用用CALL以以及及循循环环控控制制LOOP指指令的操作数。令的操作数。(4)变量变量 因因为为变变量量是是存存储储器器中中某某个个数数据据区区的的名名字字,因因此此在在指指令令中中可可以以作为存储器操作数。作为存储器操作数。(5)表达式表达式 汇汇编编语语言言语语句句中中的的表表达达式式,按按其其性性质质可可分分为为两两种种:数数值值表表达达式式和和地地址址表表达达式式。数数值值表表达达式
14、式产产生生一一个个数数值值结结果果,只只有有大大小小,没没有有属属性性。地地址址表表达达式式的的结结果果不不是是一一个个单单纯纯的的数数值值,而而是是一一个个表表示示存存储储器器地地址址的的变变量量或或标标号号,它它有有三三种种属属性性:段段、偏偏移移量量和和类型类型。第5章 汇编语言程序设计 表达式是由操作数和运算符组成。即用一个运表达式是由操作数和运算符组成。即用一个运算符可以对一个或几个操作数进行运算,构成一个表算符可以对一个或几个操作数进行运算,构成一个表达式。达式。表达式中常用的运算符有以下几种:表达式中常用的运算符有以下几种:算术运算符:、和取模运算算术运算符:、和取模运算MOD。
15、逻辑运算符:逻辑运算符:AND、OR、NOT和和XOR。关系运算符:关系运算符:EQ、NE、LT、GT、LE、GE。结果只有两个全。结果只有两个全1或全或全0。分析运算符:利用分析运算符可以把一个存分析运算符:利用分析运算符可以把一个存储单元地址分解为段地址和偏移地址等。分析运算符储单元地址分解为段地址和偏移地址等。分析运算符有有SEG、OFFSET、TYPE、SIZE和和LENGTH等。等。第5章 汇编语言程序设计 分析运算符表达式注意:SIZELENGTHTYPE取去出变量的长度LENGTH 变量名取出变量的大小SIZE 变量名取出变量或标号的类型TYPE 变量名或标号取出变量或标号所在段
- 配套讲稿:
如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。