宏汇编语言.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言程序设计 第五章 宏汇编语言 第五章 宏汇编语言 5.1 宏汇编语言基本语句 一个完整的源程序在结构上必须做到: 用方式选择伪指令说明执行该程序的微处理器类型; 用段定义语句定义每一个逻辑段; 用过程定义语句定义每一个子程序; 用ASSUME语句说明段约定; 用汇编结束语句说明源程序结束; 程序在完成预定功能之后,应能安全返回DOS。 上述程序段中包括了: 1. 方式选择伪指令; 2. 段定义语句; 3. 段约定语句; 4. 过程定义语句; 5. 汇编结束语句; 6. 返回DOS语句。 这类语句是与程序结构密切相关的基本语句,用来说明MPU类型、段结构与寻址方式的段约定、目标块的定位和源程序结束。 第五章 宏汇编语言 5.2 宏汇编语言开发过程 * * 5.1 宏汇编语言基本语句 .486 ;方式定义 DATA SEGMENT USE16 ;定义数据段 MESG DB ‘HELLO’,0DH,0AH,’$’ DATA ENDS CODE SEGMENT USE16 ;定义代码段 ASSUME CS:CODE,DS:DATA ;说明段约定 BEG: MOV AX,DATA ;BEG为启动地址 MOV DS,AX MOV CX,10 LAST: MOV AH,9 MOV DX,OFFSET MESG INT 21H LOOP LAST MOV AH,4CH INT 21H ;返回DOS CODE ENDS END BEG ;汇编结束 方式选择伪指令的格式和功能 宏汇编程序的构成 通常,方式选择伪指令放在程序的头部,作为源程序的第一条语句。不设置方式选择伪指令与设置 .8086 是等价的。 1、方式选择伪指令 功能: 80586指令集是在 8086、8088、80286、80386、80486基础上发展起来的,指令集向前兼容,但后续CPU的指令集往往包含早期CPU没有的指令。 在使用高版本汇编程序时,必须通知汇编程序,当前的源程序指令是哪一种CPU指令,经过汇编链接之后生成的目标程序在哪一种CPU机型上运行。 1、方式选择伪指令 方式选择伪指令的格式和功能: .8086 ; 只汇编8086、8088指令; .286或 .286C ; 只汇编8086、8088及80286实模式指令; .286P ; 只汇编8086、8088及80286全部指令 ; .386或 .386C ; 同.286,且汇编80386实模式指令; .386P ; 同.286P,且汇编80386全部指令; .486或 .486C ; 同.386,且汇编80486实模式指令; .486P ; 同.386P,且汇编80486全部指令 ; .586或 .586C ; 同.486,且汇编80586实模式指令; .586P ; 同.486P,且汇编80586全部指令。 功能: 段定义语句是逻辑段的定界语句,源程序中每一个逻辑段都必须用段定义语句定界。 格式: 段名 SEGMENT 定位参数 链接参数 ‘分类名’ 段长度 段体 段名 ENDS 2、段定义语句 SEGMENT / ENDS 是一对段定义语句,一个逻辑段从 SEGMENT 语句开始,到ENDS 语句结束。 段名 命名规则和变量名及标号名一样,段名并不能直接表示段体的性质,但为了阅读方便,习惯上总是根据段体的性质起一个适当的段名。 通常用DATA做为数据段的段名,用STACK做为堆栈段的段名,用CODE做为代码段的段名。 2、段定义语句 定位参数,链接参数,‘分类名’ 为段定义语句的3个属性参数,可以选用1~3个,也可以全部省略。 属性参数的功能: 为源程序的汇编、链接提供必要的信息。 在大型程序开发中,常采用模块化方法。每个模块都有自己的数据段、代码段等。各个模块独立编辑、汇编,最后链接起来成为一个完整功能的执行文件。 定位参数、链接参数是用于说明模块如何定位,彼此之间如何链接等。 2、段定义语句 (1) 定位参数 定位参数通知链接程序,逻辑段的目标代码在存储器中如何存放。 ① BYTE字节地址:表明该逻辑段的目标代码可以从任意地址开始依次存放(因为存储器是以字节为基本单位组织的); ② WORD字地址:表示该逻辑段的目标代码,从偶地址开始依次存放; ③ PARA(或者缺省)节地址:表示该逻辑段的目标代码,从一个能被16整除的地址开始依次存放; ④ PA

文档评论(0)

weiwoduzun + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档