汇编语言程序格式.pptx
《汇编语言程序格式.pptx》由会员分享,可在线阅读,更多相关《汇编语言程序格式.pptx(30页珍藏版)》请在咨信网上搜索。
1、汇编语言程序格式汇编语言程序格式一、汇编语句类型和格式一、汇编语句类型和格式1 1语句类型语句类型硬指令语句(指令性语句)是指能产生目标代码,CPU可以执行的,能完成特定功能的语句,它主要由CPU指令组成伪指令语句(指示性语句)是一种不产生目标代码的语句,它仅仅在汇编过程中告诉汇编程序应如何汇编宏指令语句 是一个指令序列,汇编时凡有宏指令语句的地方都将用相应的指令序列的目标代码插入汇编语言程序格式汇编语言程序格式2 2语句的格式语句的格式(1 1)执行性语句)执行性语句 标号标号:硬指令助记符硬指令助记符 操作数,操作数操作数,操作数 ;注释;注释(2 2)说明性语句)说明性语句 名字名字 伪
2、指令助记符伪指令助记符 参数,参数参数,参数 ;注释;注释汇编语言程序格式汇编语言程序格式二、完整段定义格式二、完整段定义格式 8086按照逻辑段组织程序,具有代码段、数据段、附加段和堆栈段一个汇编语言源程序可以包括若干个代码段、数据段或堆栈段段与段之间的顺序可以随意排列。逻辑段用汇编语言源程序中的段定义伪指令段定义伪指令来定义汇编语言程序格式汇编语言程序格式二、完整段定义格式二、完整段定义格式 完整段定义伪指令 指定段寄存器伪指令 段寄存器的装入 可执行程序的正常结束汇编语言程序格式汇编语言程序格式1 1完整段定义伪指令(完整段定义伪指令(SEGMENTSEGMENT、ENDSENDS)作用
3、:作用:控制汇编程序和连接程序在内存中组织代码和数据的方式。控制汇编程序和连接程序在内存中组织代码和数据的方式。格式:格式:段名段名 SEGMENTSEGMENT 定位类型定位类型 组合类型组合类型 类别名类别名 段名段名 ENDSENDS注意:注意:uSEGMENTSEGMENT和和ENDSENDS总是总是成对出现成对出现u中间省略部分称为中间省略部分称为段体段体。对代码段来说,则主要是程序代码;。对代码段来说,则主要是程序代码;对其它段来说,一般用于变量、符号等的定义对其它段来说,一般用于变量、符号等的定义u方括号中的为可选项,当有可选项时方括号中的为可选项,当有可选项时各项顺序不能错各项
4、顺序不能错,可选,可选项之间用空格隔开项之间用空格隔开汇编语言程序格式汇编语言程序格式(1)(1)段名段名 段名是用户自定义的,但不要与指令助记符或伪指令段名是用户自定义的,但不要与指令助记符或伪指令重名重名 用来用来指示汇编程序为该段分配的存储区的首地址指示汇编程序为该段分配的存储区的首地址 段名有段地址和偏移地址两个属性段名有段地址和偏移地址两个属性 段开始和段结束的段名必须相同段开始和段结束的段名必须相同汇编语言程序格式汇编语言程序格式(2)(2)定位类型定位类型 说明说明段的起始地址的边界要求段的起始地址的边界要求,指示连接程序按定位类,指示连接程序按定位类型提出的要求,安排各段在内存
5、的型提出的要求,安排各段在内存的相互衔接方式相互衔接方式。它有。它有5 5种可种可选择类型:选择类型:BYTEBYTE:段的起始地址可以从任何地址开始段的起始地址可以从任何地址开始。段起始地址段起始地址(20(20位位):B B WORD WORD:段的起始地址必须以:段的起始地址必须以偶地址开始偶地址开始 段起始地址段起始地址(20(20位位):0 B 0 B汇编语言程序格式汇编语言程序格式 DWORD DWORD:段的起始地址:段的起始地址必须为必须为4 4的倍数的倍数 段起始地址段起始地址(20(20位位):0 0 B 0 0 B PARA PARA:段的起始地址必须:段的起始地址必须从
6、小段边界开始从小段边界开始 段起始地址段起始地址(20(20位位):0 0 0 0 B 0 0 0 0 B PAGEPAGE:段的起始地址:段的起始地址必须从页的边界开始必须从页的边界开始 段起始地址段起始地址(20(20位位):0 0 0 0 0 0 0 0 B 0 0 0 0 0 0 0 0 B如未指定定位类型,则汇编程序默认为如未指定定位类型,则汇编程序默认为PARAPARA。汇编语言程序格式汇编语言程序格式(3)(3)组合类型组合类型 当程序有多个段时,组合类型用来说明段与段之间是怎样连接和定位的,共有6种组合类型:不指定或称隐含方式:表示本段与其他模块中的同名段无连接关系,它将作为一
7、个独立的段运行。PUBLIC:本段与其他模块中说明为PUBLIC方式的同名段顺序连接,组成一个大的逻辑段,它们共用同一个段起始地址。COMMON:本段与其他模块中说明为COMMON方式的同名段从同一地址开始重叠连接,段长是同名段中最长的段的长度。汇编语言程序格式汇编语言程序格式 STACK STACK:表示:表示该段是堆栈段的一部分。把所有相同该段是堆栈段的一部分。把所有相同 类类别名别名的具有的具有STACKSTACK组合类型的段连接成一个连续段组合类型的段连接成一个连续段,该段,该段长度为各原有段的总和。将长度为各原有段的总和。将连续段首地址送连续段首地址送SSSS,段内最大偏,段内最大偏
8、移地址送移地址送SPSP(SPSP指向栈顶)。当指向栈顶)。当定义了定义了STACKSTACK属性后,在主属性后,在主程序中可省略对程序中可省略对SSSS和和SPSP的初始化的初始化。MEMORYMEMORY:与:与PUBLICPUBLIC同义。同义。汇编语言程序格式汇编语言程序格式(4)(4)类别名类别名 类别名必须用单引号括起来。连接时对不同模块、类别名必须用单引号括起来。连接时对不同模块、不同名的程序段只要不同名的程序段只要类别名类别名相同相同,则,则放在一个连续放在一个连续的物理空间的物理空间,但每段之间是独立的,不进行组合。,但每段之间是独立的,不进行组合。汇编语言程序格式汇编语言程
9、序格式2 2指定段寄存器伪指令(指定段寄存器伪指令(ASSUMEASSUME)作用:作用:明确段和段寄存器之间的关系明确段和段寄存器之间的关系,即,即告诉汇编程序,告诉汇编程序,在运行期间通过哪个段才能找到所要的指令和数据在运行期间通过哪个段才能找到所要的指令和数据 格式:格式:ASSUMEASSUME 段寄存器名:段名段寄存器名:段名,段寄存器名:段名段寄存器名:段名 例如:例如:ASSUME CSASSUME CS:CODECODE,DSDS:DATADATA,SSSS:STACKSTACK汇编语言程序格式汇编语言程序格式3 3段寄存器的装入段寄存器的装入 ASSUME伪指令只是指出各段和
10、段寄存器之间的关系,但并未真正将段基地址装入相应的段寄存器中,所以在程序的代码段开始处就应该先进行段基址的装入 数据段DS、附加段ES和堆栈段SS的段基址由用户程序代码装入 代码段CS在加载程序后由系统自动装入汇编语言程序格式汇编语言程序格式(1)DS(1)DS、ESES的装入的装入 MOV AXMOV AX,DATA DATA ;数据段段基地址送;数据段段基地址送AXAX寄存器寄存器 MOV DSMOV DS,AX AX ;AXAX寄存器的内容送数据段寄存器寄存器的内容送数据段寄存器DSDS或或 MOV AXMOV AX,SEG X SEG X ;变量;变量X X所在数据段的段基址送所在数据
11、段的段基址送AXAX寄存器寄存器 MOV DSMOV DS,AXAX汇编语言程序格式汇编语言程序格式(2)CS(2)CS的装入的装入 对对CSCS和和IPIP的装入方法是利用的装入方法是利用ENDEND后的后的标号来完成的。标号来完成的。如:如:STARTSTART:END END STARTSTART 系统自动将系统自动将STARTSTART所在段的段地址送所在段的段地址送CSCS寄存器,将寄存器,将STARTSTART所在所在段内的偏移地址段内的偏移地址送送IPIP寄存器寄存器。汇编语言程序格式汇编语言程序格式(3)SS(3)SS的装入的装入方法方法1 1:由系统自动装填。由系统自动装填。
12、要求在要求在定义堆栈段时,必须把定义堆栈段时,必须把参数写全。参数写全。这时,将程序装入内存,系统会自动地把堆这时,将程序装入内存,系统会自动地把堆栈段地址和堆栈指针置入栈段地址和堆栈指针置入SSSS和和SPSP中,因而可以不在代码中,因而可以不在代码段中装入段中装入SSSS和和SPSP的值。的值。STACK1 SEGMENT STACK1 SEGMENT PARA STACK PARA STACK STACKSTACKDB 50H DUP(?)DB 50H DUP(?)STACK1 ENDSSTACK1 ENDS汇编语言程序格式汇编语言程序格式方法方法2 2:手动装填手动装填STACK1 S
13、EGMENT PARASTACK1 SEGMENT PARADW 50H DUP(?)DW 50H DUP(?)TOP LABEL WORDTOP LABEL WORD;TOPTOP属性为属性为WORDWORDSTACK1 ENDSSTACK1 ENDSCODE SEGMENTCODE SEGMENTASSUME CSASSUME CS:CODECODE,SSSS:STACK1STACK1STARTSTART:MOV AXMOV AX,STACK1STACK1MOV SSMOV SS,AXAX ;堆栈段的段地址送;堆栈段的段地址送SSSSMOV SPMOV SP,OFFSET TOPOFFSE
14、T TOP;堆栈段的栈顶地址送;堆栈段的栈顶地址送SPSPTOPTOP是该堆栈的初始栈顶部地址。是该堆栈的初始栈顶部地址。汇编语言程序格式汇编语言程序格式4 4操作系统下操作系统下可执行程序的正常结束可执行程序的正常结束方法方法1(1(非标准方法非标准方法):):在在CODE ENDSCODE ENDS之前增加如下语句:之前增加如下语句:MOV AXMOV AX,4C00H4C00H INT 21H INT 21H方法方法2(2(标准方法标准方法):):MAIN PROC FARMAIN PROC FARPUSH DSPUSH DS ;保存原来的;保存原来的PSPPSP段地址段地址MOV AX
- 配套讲稿:
如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。