欢迎来到天天文库
浏览记录
ID:18770965
大小:613.00 KB
页数:21页
时间:2018-09-22
《汇编语言程序格式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、汇编语言程序格式【思考】 (1)建立并运行一个汇编语言程序有几个操作步骤? (2)指令和伪指令的区别是什么? (3)在汇编语言程序中,段定义伪指令和数据定义伪指令起什么作用? (4)变量和标号的类型属性分别有哪几种? (5)什么是表达式?表达式的优先级顺序是如何排列的? (6)汇编语言的上机过程是什么? (7)汇编语言源程序一般由几个段组成? (8)汇编程序和连接程序的输入、输出文件有哪些?它们的作用是什么?【学习目标】 了解编辑程序、汇编程序、连接程序的功能及其输入、输出文件的类型; 了解汇编语言源
2、程序的格式; 熟练掌握并运用段定义伪指令和数据定义及存储器分配伪指令; 熟悉数值表达式的书写规范;上机编程时学会使用DEBUG调试程序。【学习指南】 介绍了汇编语言程序的完整段和简化段格式。在学习本内容时,可利用汇编语言程序的框架,通过上机来验证和理解各种指令和伪指令的格式、功能及作用。【难重点】 段定义伪指令、数据定义及存储器分配伪指令及其它伪指令; 数据类型属性和代码属性及其在编程中的应用; 数值表达式的表示及其应用。【知识点】 1汇编程序功能 2伪指令 2.1段定义伪指令 2.1.1完整的段
3、定义伪指令 2.2.2存储模型与简化段定义伪指令 2.2.3段组定义伪指令 2.3程序开始和结束伪指令 2.4数据定义及存储器分配伪指令 2.5表达式赋值伪指令 2.6地址计数器与对准伪指令 2.7基数控制伪指令 3汇编语言程序格式 3.1.汇编语言源程序语句的格式 3.2表达式 3.3汇编语言源程序格式举例 4汇编语言程序的上机过程 1建立汇编语言的工作环境 2汇编语言程序上机运行过程 3COM文件第21页共21页第一节 汇编程序功能建立,运行汇编语言程序汇编程序
4、的主要功能:1.检查源程序,给出出错信息。2.产生目标文件(.obj)和列表文件(.lst)。3.展开宏指令。第二节 伪指令汇编语言程序中的语句可以由指令、伪指令和宏指令组成。上一章我们介绍了8086指令系统中的6类指令,每一条指令都对应一种CPU操作。 伪指令又称为伪操作,它是在对源程序汇编期间由汇编程序处理的操作,它们可以完成如处理器选择、定义程序模式、定义数据、分配存储区、指示程序结束等功能。 宏指令是由用户按照宏定义格式编写的一段程序,其中语句可以是指令、伪指令,甚至是已定义的宏指令。宏指令将在第七章中介绍。
5、 伪指令和指令的区别在于,每一条指令必须生成机器代码,然后在程序运行期间由CPU来执行其操作;而伪指令是在汇编期间由汇编程序执行的操作命令,除了数据定义及存储器分配伪指令分配存储器空间外,其它伪指令不生成目标码。和各种指令一样,伪指令也是程序设计不可缺少的工具。下面介绍一些常用的伪指令。第21页共21页2.1处理器选择伪操作.8086选择8086指令系统.286选择80286指令系统.286P选择保护模式下的80286指令系统.386选择80386指令系统.386P选择保护模式下的80386指令系统.486选择8048
6、6指令系统.486P选择保护模式下的80486指令系统.586选择Pentium指令系统.586P选择保护模式下的Pentium指令系统2.2段定义伪指令 段定义伪指令是表示一个段开始和结束的命令,80x86有两种段定义的方式:完整段定义和简化段定义,分别使用不同的段定义伪指令来表示各种段。1.完整段定义伪指令的格式如下: 由于ASSUME伪指令只是指定某个段分配给哪一个段寄存器,它并不能把段地址装入段寄存器中,所以在代码段中,还必须把段地址装入相应的段寄存器中: MOV AX,DATA_SEG1 ;数据段
7、地址 MOV DS,AX ;存入DS寄存器 MOV AX,DATA_SEG2 ;附加段地址 MOV ES,AX ;存入ES寄存器 如果程序中还定义了堆栈段STACK_SEG,也需要把段地址装入SS中: MOV AX,STACK_SEG ;堆栈段地址 MOV SS,AX ;存入ES寄存器第21页共21页 注意,在程序中不需要用指令装入代码段的段地址,因为在程序初始化时,装入程序已将代码段的段地址装入CS寄存器了。而DS和ES是指向一个称为“PSP”(程
8、序段前缀)的一块区域的首地址。为了对段定义作进一步地控制,SEGMENT伪指令还可以增加类型及属性的说明,其格式如下: 段名 SEGMENT [定位类型][组合类型]['类别'] … 段名 ENDS []中的内容是可选的,一般情况下,这些说明可以不用。但是,如果需要用连接程序把本程序与其
此文档下载收益归作者所有