第3章汇编语言程序设计ppt课件.ppt

第3章汇编语言程序设计ppt课件.ppt

ID:58871624

大小:1.39 MB

页数:185页

时间:2020-09-30

第3章汇编语言程序设计ppt课件.ppt_第1页
第3章汇编语言程序设计ppt课件.ppt_第2页
第3章汇编语言程序设计ppt课件.ppt_第3页
第3章汇编语言程序设计ppt课件.ppt_第4页
第3章汇编语言程序设计ppt课件.ppt_第5页
资源描述:

《第3章汇编语言程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第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,专用符号?、.、@、_、$限制:①第一个字符不能为数字

2、②“.”必须为第一个字符③前31个字符有效④不能为关键字类型:标号:指令符号地址变量:数据符号地址2.操作符组成:CPU指令,伪指令,宏指令3.操作数指定参与操作的数据,或数据所在单元地址4.注释说明程序、指令功能,增加程序可读性3.3伪指令功能:指示汇编程序完成规定的操作,如选择处理器,定义数据,分配存储器等。一、程序开始与结束1.程序开始:可以用name,title给程序起名。格式:NAMEmodule_name汇编程序以模块名作为模块的名字,若未使用NAME,则可用TITLE给程序指定标题格式:TITLEtext文本在每一页上打印出来,若没有NAME,则text的前6个字符为模块名,

3、text最多为60个字符。若未使用NAME、TITLE,则源文件名为模块名。2.程序结束:表示原程序结束,不可缺,源程序的最后一条语句。格式:END[label]标号指示程序开始执行的起始地址,多个模块连接,主程序用标号,其他程序不用,主程序缺省值为代码段第一条指令。3.MASM6.0定义的入口点、出口点入口点:.STARUP;产生设置DS、SS、SP代码,此时,END不用标号。出口点:.EXIT;返回操作系统,常用值为0。例:.STARUP….EXIT0END二、处理器选择功能:选择对应的指令集,也即对应的汇编执行语句集放在程序最前面缺省值为.8086此类指令主要有:.8086选择808

4、6指令系统.286选择80286指令系统.286P选择保护方式下80286指令系统.386选择80386指令系统.386P选择保护方式下80386指令系统.486选择80486指令系统.486P选择保护方式下80486指令系统.586选择Pentium指令系统.586P选择保护方式下Pentium指令系统吉林大学远程教育学院微机原理及汇编语言主讲人:赵宏伟教授总学时:80吉林大学计算机科学与技术学院第二十讲三、段定义段定义:确定代码组织与数据存储的方式2种:完整的段定义和简化的段定义(MASM5.0以上)完整的段定义包括:(1)segment和end段定义(2)ASSUME段分配(3)GR

5、OUP段组定义segment和end段定义(1)格式:段名segment[定位类型][组合类型][字长类型][‘类别’]……段名end功能:定义段名、段属性。一般情况下,选项可以不用,用默认值,但若需连接本程序和其他程序,就要使用这些说明。段名是段的标识符,指明段的基址,由程序员指定。segment和end段定义(2)①定位类型定位类型:指定段起始边界,5种BYTE:任意位置WORD:偶地址,地址低1位为0DWORD:4的倍数地址,地址低2位为0PARA:16的倍数地址,地址低4位为0PAGE:256的倍数地址,地址低8位为0,一页的起点,默认值。segment和end段定义(3)②组合类

6、型组合类型:表示本段与其它段之间,具有相同段名的各段的组合关系,为连接程序提供信息,属于连接类型,6种。PUBLIC:本段连接时将与有相同段名.public类型的其它段连接在一起,连接次序由连接命令指定(共用一个段),即同名段连接在一起,有共同段地址。STACK:用于说明堆栈段,把不同程序段中的具有SARCK类型的同名段组合而形成一个堆栈段,其长度为各原有段的总和,LINK自动将新段的段地址送SS,长度送SP,若未定义SARCK类型,需在程序中用指令设置SS、SP。COMMON:本段连接时,使具有COMMON类型的同名段具有同一个起始地址,所以会产生覆盖,新段的长度是最长COMMON段的长

7、度,新段的内容取决于依次覆盖的最后内容。MEMORY:表示该段应定位在所有段的最下面(即地址最大的区域),如果模块中不止一个MEMORY段,以第一个遇到的作为MEMORY段,其它段作为COMMON段处理,而LINK程序在处理MEMORY时与PUBLIC同样对待。PRIVATE:独立段,与其它段逻辑上没有关系,不与同名段合并,默认值。AT表达式:指定本段起始地址为“表达式”,偏移量为0,不能用于代码段。segment和en

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。