汇编语言程序设计--培训课件.pptVIP

  1. 1、本文档共185页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 汇编语言程序设计 3.1 概述 指令:计算机完成某种操作的命令 程序:完成某种功能的指令序列 软件:各种程序总称 机器代码,汇编语言程序,汇编程序 汇编语言程序建立步骤: (1)用编辑程序建立.ASM源文件 (2)用LINK程序把.ASM文件转换为OBJ文件 (3)用LINK程序把.OBJ文件转换为.EXE文件,或用EXE2BIN程序把.EXE文件转换为.COM文件 (4)在DOS下直接键入.EXE文件或.COM文件的文件名就可运行该程序 3.2 语句格式 语句格式:[名字] 操作符 操作数1,操作数2 ;[注释] 1.名字 一种符号地址 组成:A~Z,a~z,0~9,专用符号?、.、@、_、$ 限制:①第一个字符不能为数字 ②“.”必须为第一个字符 ③前31个字符有效 ④不能为关键字 类型: 标号:指令符号地址 变量:数据符号地址 2.操作符 组成:CPU指令,伪指令,宏指令 3.操作数 指定参与操作的数据,或数据所在单元地址 4.注释 说明程序、指令功能,增加程序可读性 3.3 伪指令 功能:指示汇编程序完成规定的操作,如选择处理器,定义数据,分配存储器等。 一、程序开始与结束 1.程序开始:可以用name,title给程序起名。 格式:NAME module_name 汇编程序以模块名作为模块的名字,若未使用NAME,则可用TITLE给程序指定标题 格式:TITLE text 文本在每一页上打印出来,若没有NAME,则text的前6个字符为模块名,text最多为60个字符。 若未使用NAME、TITLE,则源文件名为模块名。 2.程序结束:表示原程序结束,不可缺,源程序的最后一条语句。 格式:END [label] 标号指示程序开始执行的起始地址,多个模块连接,主程序用标号,其他程序不用,主程序缺省值为代码段第一条指令。 3.MASM 6.0 定义的入口点、出口点 入口点:.STARUP ;产生设置DS、SS、SP代码,此时,END不用标号。 出口点: .EXIT ;返回操作系统,常用值为0。 例: .STARUP … .EXIT 0 END 二、处理器选择 功能:选择对应的指令集,也即对应的汇编执行语句集 放在程序最前面 缺省值为.8086 此类指令主要有: .8086 选择8086指令系统 .286 选择80286指令系统 .286P 选择保护方式下80286指令系统 .386 选择80386指令系统 .386P 选择保护方式下80386指令系统 .486 选择80486指令系统 .486P 选择保护方式下80486指令系统 .586 选择Pentium指令系统 .586P 选择保护方式下Pentium指令系统 三、段定义 段定义:确定代码组织与数据存储的方式 2种:完整的段定义和简化的段定义(MASM 5.0以上) 完整的段定义包括: (1)segment和end段定义 (2)ASSUME段分配 (3)GROUP 段组定义 segment和end段定义 (1) 格式: 段名 segment [定位类型][组合类型] [字长类型][‘类别’] … … 段名 end 功能:定义段名、段属性。 一般情况下,选项可以不用,用默认值,但若需连接本程序和其他程序,就要使用这些说明。 段名是段的标识符,指明段的基址,由程序员指定。 segment和end段定义 (2) ①定位类型 定位类型:指定段起始边界,5种 BYTE: 任意位置 WORD: 偶地址,地址低1位为0 DWORD:4的倍数地址,地址低2位为0 PARA: 16的倍数地址,地址低4位为0 PAGE: 256的倍数地址,地址低8位为0,一页的起点,默认值。 segment和end段定义 (3) ②组合类型 组合类型:表示本段与其它段之间,具有相同段名的各段的组合关系,为连接程序提供信息,属于连接类型,6种。 PUBLIC:本段连接时将与有相同段名.public类型的其它段连接在一起,连接次序由连接命令指定(共用一个段),即同名段连接在一起,有共同段地址。 STACK:用于说明堆栈段,把不同程序段中的具有SARCK类型的同名段组合而形成一个堆栈段,其长度为各原有段的总和,LINK自动将新段的段地址送SS,长度送SP,若未定义SARCK类型,需在程序中用指令设置SS、SP。 COMMON:本段连接时,使具有COMMON类型的同

文档评论(0)

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

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

1亿VIP精品文档

相关文档