汇编语言程序设计 第四章 汇编语言程序格式.pptVIP

汇编语言程序设计 第四章 汇编语言程序格式.ppt

  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文档。上传文档
查看更多
汇编语言是一种用符号表示的、面向CPU指令系统的程序设计语言。汇编语言具有以下两个基本特点: 程序设计人员能更充分地利用机器硬件的全部功能,发挥机器的长处; 程序目标代码占用内存少,执行速度快,效率高,具有实时性; 汇编语言与高级语言 由于汇编的特点,汇编语言常用于编写计算机系统程序、实时通信程序和实时控制程序。但汇编语言程序依赖于机器硬件,其通用性和移植性都较差。 相对于汇编语言,高级语言的编程方便快捷,通用性和移植性都较好,在一些涉及大量数据处理、人机界面等设计任务的应用程序中,采用高级语言编程更为合适。 从源程序获得目标程序的过程 为了能顺利完成汇编,用户必须为汇编程序提供一些额外的、与硬件有关的信息,如:程序使用的变量应分别存放在内存的哪个单元、堆栈应从内存的什么地址开始等等。 8086宏汇编源程序的组成 由 “指令”和 “伪指令”共同构成的。 “指令”由8086CPU规定的; “伪指令”说明与硬件有关的信息; “段”结构 因为8086系统的存储器采用分段管理 段 (例4.1) ; ―――――――――――――――――――――――――――― 段名1 SEGMENT ; 一个段的开始 语句1 语句2 …… 段名1 ENDS ; 一个段的结束 ; ――――――――――――――――――――――――――――- 段名2 SEGMENT ; 另一个段的开始 …… 段名2 ENDS ; 另一个段的结束 ; ――――――――――――――――――――――――――――― …… ; 其它段 ; ――――――――――――――――――――――――――――― END ; 源代码结束 语 句 语句是由各种符号(标记)及分隔符按照一定的规则组织起来的一个有序序列。 标识符 操作符 操作数 注释 有三种基本语句: 指令性语句(指令)、指示性语句(伪指令)和宏指令。 指令性语句:即执行性语句(指令),与机器码一一对应,表示某种确定操作,包括四部分: [ 标号:] 指令操作码 [ 操作数 ] [;注释 ] 例: AGAN:ADC SUM,AX ;累加 指示性语句:即说明性语句(伪指令),不对应机器码,只为汇编提供所需信息,由四部分组成: [ 名字 ] 伪指令 [ 操作数 ] [;注释 ] 例: SUM DW 0 ;为结果保留一个字 宏指令:由伪指令定义的指令序列,包括宏定义、宏调用和宏扩展三部分 例: 多个连续字节单元的累加 DATA SEGMENT ;定义数据段 D1 DB 5 DUP(?) ;连续的字节单元 CC EQU $-D1 ;对单元计数 SUM DW 0 ;为结果保留一个字 DATA ENDS ;数据段定义结束 STACK SEGMENT PARA STACK ‘STACK’ ;定义堆栈段 DB 100 DUP (?) ;100字节的栈空间 STACK ENDS ;堆栈段定义结束 CODE SEGMENT ;定义代码段 ASSUME DS:DATA,SS:STACK,CS:CODE ;对各段进行说明 BEGIN:MOV AX,DATA ; DS初始化为DATA MOV DS,AX LEA SI,D1 ;预置源数据的指针 MOV CX,CC+1 ;预置次数 LODS BYTE PTR [SI] ;取一个数并修改指针 DEC CX ;修改次数 MOV AH,0 ;清AX的高字节 CLC ;清CF位 AGAN:ADC SUM,AX ;累加 LODS BYTE PTR [SI] ;再取数并修改指针 LOOP AGAN ;控制循环 MOV AH,4CH ;完成,返回DOS INT 21H CODE ENDS ;代码段结束 END BEGIN ;整个程序结束 保留字 汇编源程序中标识符不能使用的字符串 8086CPU规定的所有指令助记符:如MOV、ADD等。 8086CPU中各寄存器名:包括16位和8位寄存器。如AL、DH、AX、CS、TF等。 宏汇编程序规定的所有伪指令助记符:如ASSUME、DB、DW、DD等。 宏汇编程序规定的其他助记符:ABS、BYTE、DUP、EQ、GE、SEG、SIZE等。 符号 符号是由用户自行定义的、具有特殊意义的字符序列,最长不超过31个字符(多余字符将被忽略)。 符号由字母、数字(不可打头)以及特殊字符(_、@、?)组成。 不能与任何保留字相同。 包括: 变量名、标号、段名、过

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档