第 4 篇 汇编语言程序设计1.ppt

  1. 1、本文档共162页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 4 章 汇编语言程序设计 4.1 汇编语言的格式 4.1.1 8086汇编语言程序的一个例子 实现功能: 从端口PORT_VAL输入数据并求和,当和大于100时,把和从PORT_VAL输出。(数据看做无符号数) MY_DATA SEGMENT ;定义数据段 SUM DB ? ;为符号SUM保留一个字节 MY_DATA ENDS ;定义数据段结束 MY_CODE SEGMENT ;定义代码段 ASSUME CS: MY_CODE,DS: MY_DATA;规定CS和DS的内容 PORT_VAL EQU 3 ;端口的符号名 GO: MOV AX,MY_DATA ;DS初始化为MY_DATA MOV DS,AX MOV SUM,0 ;清SUM单元 CYCLE: CMP SUM,100 ;SUM单元与100相比较 JNA NOT_DONE ;若未超过,转至NOT_DONE MOV AL,SUM ;若超过,把SUM单元的内容 OUT PORT_VAL,AL ;通过AL输出 HLT ;然后停机 NOT DONE: IN AL,PORT_VAL ;未超过时,输入下一个字节 ADD SUM,AL ;与以前的结果累加 JMP CYCLE ;转至CYCLE MY CODE ENDS ;代码段结束 END GO ;整个程序结束 总结: 1、8086汇编程序的结构是分段结构。 每个段以SEGMENT语句开始,以ENDS语句结束。 一个源程序有多个程序段组成。(数据段、代码段等) 需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点。 所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内。通常,程序还需要一个堆栈段。 2、在代码段指令语句之前,要用ASSUME语句说明段寄存器和各段之间的对应关系。 3、程序结束之前用指令返回DOS. MOV AH,4CH INT 21H 4、整个源程序以END语句结束。 5、整个汇编源程序的每个段由语句行(指令性语句/指示性语句)按一定规则组织起来。 语句格式: 标号(或名称)操作码 操作数,操作数 ;注释 4.1.2 8086汇编语言源程序的格式 8086的汇编语言的源程序是分段的,由若干个段形成一个源程序。源程序的一般格式为: 每一个段有一个名称,以符号SEGMENT作为段的开始,以语句ENDS作为段的结束。这两者都必须有名称,而且名称必须相同。

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档