1 / 114
文档名称:

微型计算机原理与接口技术PPT.ppt

格式:ppt   大小:1,680KB   页数:114页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

微型计算机原理与接口技术PPT.ppt

上传人:mh900965 2017/6/22 文件大小:1.64 MB

下载得到文件列表

微型计算机原理与接口技术PPT.ppt

相关文档

文档介绍

文档介绍:汇编语言程序结构
汇编源程序的编程格式
系统功能调用
程序设计方法
第4章汇编语言程序设计
一个完整的源程序在结构上必须做到:
用方式选择伪指令说明执行该程序的微处理器类型;
用段定义语句定义每一个逻辑段;
用ASSUME语句说明段约定;
用汇编结束语句说明源程序结束;
汇编语言程序结构
注意目前汇编语言源程序框架有完整段定义格式和简化段定义格式两种, 。为考虑兼容性,本书的DOS汇编程序都采用完整的汇编语言段定义格式。
.586 ;方式定义
DATA SEGMENT USE16 ;定义数据段
……
DATA ENDS

CODE SEGMENT USE16 ;定义代码段
ASSUME CS:CODE,DS:DATA ;说明段约定
BEG: MOV AX,DATA ;BEG为启动地址
MOV DS,AX
......
MOV AH,4CH
INT 21H ;返回DOS
CODE ENDS
END BEG ;汇编结束
完整段定义格式
1. 方式选择伪指令
2. 段定义语句
3. 段约定语句
4. 汇编结束语句

这类语句是与程序结构密切相关的基本语句,用来说明MPU类型、段结构与寻址方式的段约定、目标块的定位和源程序结束。
1. 方式选择伪指令
功能:
通知汇编程序,当前的源程序指令是哪一种CPU指令,经过汇编链接之后生成的目标程序在哪一种CPU机型上运行。
不属于选定CPU的指令均为非法指令。80586指令集是在8086、8088、80286、80386、80586基础上逐步发展起来的,很显然,80586的某些指令在早期的80X86系列是没有的,为了使汇编程序能够识别,在高版本的汇编程序中,对应于每一种CPU的指令系统,都有一个目标指令的集合。
指令以句号开头, 格式和功能如下:
· 8086 ;只汇编8086、8088指令。
· 286 ;只汇编8086、8088及80286实模式指令
· 286P ;只汇编8086、8088及80286全部指令
· 386 ;同·286,且汇编80386实模式指令
· 386P ;同·286P,且汇编80386全部指令
· 486 ;同·386,且汇编80486实模式指令
· 486P ;同·386P,且汇编80486全部指令
· 586 ;同·486,且汇编80486实模式指令
· 586P ;同·486P,且汇编80586全部指令
通常,方式选择伪指令放在程序的头部,做为源程序的第一条语句。不设置方式选择伪指令与设置·8086是等价的。
2. 段定义语句
功能:
是逻辑段的定界语句,源程序中每一个逻辑段都必须用段定义语句定界。
段定义语句格式如下:
段名 SEGMENT 定位参数链接参数‘分类名’段长度
段体
段名 ENDS
SEGMENT/ENDS
是一对段定义语句,一个逻辑段从SEGMENT语句开始,到ENDS语句结束。
段名命名规则和变量名及标号名一样,它不能代表段体的性质,但为了阅读方便****惯上总是根据段体的性质起一个适当的段名。通常用DATA做为数据段的段名,用STACK做为堆栈段的段名,CODE为代码段的段名。
定位参数,链接参数,‘分类名’

为段定义语句的3个属性参数,可以选用1~3个,也可以全部省略。
属性参数的功能:
为源程序的汇编、链接提供必要的信息。
(1) 定位参数
定位参数通知链接程序,逻辑段的目标代码在存储器中如何存放。
① BYTE字节地址:表明该逻辑段的目标代码可以从任意地址开始依次存放;
② WORD 字地址:表示该逻辑段的目标代码,从偶地址开始依次存放;
③ PARA (或者缺省) 节地址:表示该逻辑段的目标代码,从一个能被16整除的地址开始依次存放;
④ PAGE 页地址:表示该逻辑段的目标代码,从一个能被256整除的地址开始依次存放。
注意:
链接程序对于不同模块中的同名段进行链接时,对于有BYTE属性的段,总是紧接着前一段存放,不留空闲单元。对于有WORD属性的段,也是紧接前一段存放,最多留出一个空闲单元。
(2) 链接参数
链接又称组合,链接参数通知链接程序如何将不同模块中的同名逻辑段组合成一个段
① PUBLIC:通知链接程序,把不同模块中具有PUBLIC属性的同名段,在满足定位方式前提下,按照指定的链接顺序进行链接,组成一个逻辑段;
② MEMORY:实验证明 MEMORY属性和 PUBLIC属性是等价的;
③ COMMON:通知链接程序,把不同模块中,MON 属性的同名段,根据指定的链接顺序,按照“覆盖”方式组合成一个逻