第4章8086-8088的宏汇编程序设计 (2)
- 格式:ppt
- 大小:153.00 KB
- 文档页数:21


第16卷 第4期2006年12月天 津 工 程 师 范 学 院 学 报JOURNALOFTIANJINUNIVERSITYOFTECHNOLOGYANDEDUCATIONVol.16 No.4Dec.2006
基于EMU8086的微机系统的辅助学习方法3
谷兆麟
(天津工程师范学院计算机系,天津300222)
摘 要:描述了EMU8086的机理和基本功能,介绍了通过EMU8086学习汇编语言和微机接口技术的方法,对典型
的虚拟接口实验及其操作方法进行了说明,归纳讨论了EMU8086在使用过程中可能遇到的一些问题。
关键词:EMU8086;辅助学习方法;微机系统
中图分类号:TP368.1 文献标识码:A 文章编号:167321018(2006)0420026202
AssistedstudymethodtomicrocomputersystembasedonEMU8086
GUZhao2lin
(DepartmentofComputerScience,TianjinUniversityofTechnologyandEducation,Tianjin300222,China)
Abstract:EMU8086′sprincipleandbasicfunctionsareintroduced.Assistantmethodstostudyassemblelan2
guageandmicrocomputerinterfacetechniquesbyusingEMU8086arepresented.Sometypicalvirtualinterface
experimentsandtheirmethodsarealsointroduced.Finally,shortcomingsarelistedandproblemsinusing
EMU8086arelistedanddiscussed.
Keywords:EMU8086;assistedstudymethod;microcomputersystem
《汇编语言程序设计》课程教学大纲
学 时:32 学 分:2
理论学时:24 实验学时:8
面向专业:电科、电信、通信 课程代码:B2700009
先开课程:C语言程序设计 课程性质:必修
执 笔 人:王艳春 审 定 人:陈龙猛、张金政
第一部分:理论教学部分
一、说明
1、课程的性质、地位和任务
本课程属于专业基础课,是电科、电信和通信专业学生必修的核心课程之一,是进一步学习微机原理、操作系统等课程的基础。掌握它有助于提高学生对计算机系统的设计、研究、开发和应用能力。汇编语言是一种面向机器、实践性很强的程序设计语言,必须结合一种实际的计算机来组织教学。因此,本课程选择最广泛使用的IBM PC作为具体的机型来介绍。通过课堂教学和上机实践,培养学生用汇编语言进行编程的思路、方法,养成良好的程序设计习惯,并了解底层I/O驱动软件的编程方法,熟悉源程序汇编、链接和调试运行的步骤和方法,掌握dos、BIOS功能的调用方法及使用debug工具的调试手段,为后续课的学习打下扎实的基础。
2、课程教学和教改基本要求
课程的目的与教学基本要求:本课程主要介绍汇编语言和宏汇编的基本概念,80X86CPU的指令系统和寻址方式;介绍汇编语言程序格式、伪操作和上机全过程。通过实际例子,详细叙述顺序、分支、循环、子程序等基本程序结构以及程序设计的基本方法和技巧。学习这门课程,应达到以下几个要求:
①掌握汇编语言的基本理论知识和有关概念;掌握用汇编语言编写源程序的基本原则、方法和技巧;
②具有阅读,分析汇编语言程序的能力;
③通过上机实践,能够熟练地掌握汇编语言程序的编辑、汇编、连接、运行过程及debug工具的调试手段。 课堂授课采用多媒体教学,采用由浅入深、循序渐进学习步骤,主要讲解设计思想、实现技巧,通过提问题引导学生思考,提高学生的学习兴趣,从而加深学生对理论课的理解,提高学生的动手能力。
1 第1章 概述 1.电子计算机主要由.电子计算机主要由 运算器运算器 、 控制器控制器 、 存储器存储器 、 输入设备输入设备 和 输出设备输出设备 等五部分组成。等五部分组成。等五部分组成。 2. 运算器运算器 和 控制器控制器 集成在一块芯片上,被称作CPUCPU。。 3.总线按其功能可分.总线按其功能可分 数据总线数据总线 、 地址总线地址总线 和 控制总线控制总线 三种不同类型的总线。三种不同类型的总线。 4.计算机系统与外部设备之间相互连接的总线称为.计算机系统与外部设备之间相互连接的总线称为 系统总线(或通信总线)系统总线(或通信总线) ; 用于连接微型机系统内各插件板的总线称为系统内总线(板级总线) ; CPU内部连接各寄存器及运算部件之间的总线称为内部连接各寄存器及运算部件之间的总线称为 内部总线内部总线 。 5.迄今为止电子计算机所共同遵循的工作原理是迄今为止电子计算机所共同遵循的工作原理是 程序存储程序存储 和 程序控制程序控制 的工作原理。的工作原理。这种原理又称这种原理又称为 冯·诺依曼型冯·诺依曼型 原理。原理。 第3章 微处理器及其结构 1.8086/8088 CPU执行指令中所需操作数地址由执行指令中所需操作数地址由 EU EU EU 计算出计算出计算出 16 16 16 位偏移量部分送位偏移量部分送位偏移量部分送 BIU BIU BIU ,由,由,由 BIU BIU BIU 最后最后形成一个形成一个 20 20 20 位的内存单元物理地址。位的内存单元物理地址。 2.8086/8088 CPUCPU在总线周期的在总线周期的在总线周期的T1 T1 T1 时刻,用时刻,用时刻,用A19/S6A19/S6A19/S6~~A16/S3 A16/S3 输出输出输出 20 20 20 位地址信息的最高位地址信息的最高位地址信息的最高 4 4 4 位,而在位,而在其他时钟周期,则输出其他时钟周期,则输出 状态状态 信息。信息。 3.8086/8088 CPU8086/8088 CPU复位后,从复位后,从复位后,从 0FFFF0H 0FFFF0H 0FFFF0H 单元开始读取指令字节,一般这个单元在单元开始读取指令字节,一般这个单元在 ROM ROM 区中,在其中区中,在其中设置一条设置一条 跳转跳转 指令,使指令,使CPUCPUCPU对系统进行初始化。对系统进行初始化。对系统进行初始化。 4.80868086系统的存储体系结构中,系统的存储体系结构中,系统的存储体系结构中,1MB1MB1MB存储体分存储体分存储体分 2 2 2 个库,每个库的容量都是个库,每个库的容量都是个库,每个库的容量都是512K512K512K字节,其中和数据总线字节,其中和数据总线D15D15~~D8D8相连的库全部由相连的库全部由相连的库全部由 奇地址奇地址 单元组成,称为高位字节库,并用BHE作为此库的选通信号。作为此库的选通信号。 5.8086/80888086/8088系统中,可以有系统中,可以有系统中,可以有 64K 64K 64K 个段起始地址,任意相邻的两个段起始地址相距个段起始地址,任意相邻的两个段起始地址相距个段起始地址,任意相邻的两个段起始地址相距 16 16 16 个存储单元。个存储单元。 6.用段基值及偏移量来指明内存单元地址的方式称为.用段基值及偏移量来指明内存单元地址的方式称为 逻辑地址逻辑地址 。 7.通常.通常8086/8088 CPU8086/8088 CPU8086/8088 CPU中当中当中当EUEUEU执行一条占用很多时钟周期的指令时,或者在多处理器系统中在交换总执行一条占用很多时钟周期的指令时,或者在多处理器系统中在交换总线控制时会出现线控制时会出现 空闲空闲 状态。状态。 8.8086 CPUCPU使用使用使用 16 16 16 根地址线访问根地址线访问根地址线访问I/OI/OI/O端口,最多可访问端口,最多可访问端口,最多可访问 64K 64K 64K 个字节端口,使用个字节端口,使用个字节端口,使用 20 20 20 根地址线访问存根地址线访问存储单元,最多可访问储单元,最多可访问 1M 1M 1M 个字节单元。个字节单元。个字节单元。 9.CPUCPU取一条指令并执行该指令的时间称为取一条指令并执行该指令的时间称为取一条指令并执行该指令的时间称为 指令指令 周期,它通常包含若干个周期,它通常包含若干个 总线总线 周期,而后者又包含有若干个含有若干个 时钟时钟 周期。周期。 1.某微机最大可寻址的内存空间为.某微机最大可寻址的内存空间为16MB16MB16MB,其,其,其CPUCPUCPU的地址总线至少应有(的地址总线至少应有(的地址总线至少应有(242424)条。)条。)条。 2.8086/8088 CPU8086/8088 CPU的的RESETRESET引脚至少应维持引脚至少应维持引脚至少应维持 4 4 4 个时钟周期的正脉冲宽度才能有效复位。个时钟周期的正脉冲宽度才能有效复位。个时钟周期的正脉冲宽度才能有效复位。 3.当.当RESETRESETRESET信号进入高电平状态时,将使信号进入高电平状态时,将使信号进入高电平状态时,将使8086/8088 CPU8086/8088 CPU8086/8088 CPU的的 CS CS 寄存器初始化为寄存器初始化为寄存器初始化为0FFFFH0FFFFH0FFFFH。。 4.8086/8088 CPU CPU 与慢速存储器或与慢速存储器或与慢速存储器或I/O I/O I/O 接口之间进行数据传输,接口之间进行数据传输,接口之间进行数据传输,为了使传送速度匹配,为了使传送速度匹配,为了使传送速度匹配,有时需要在有时需要在有时需要在 T3 T3 和T4T4状态之间插入若干等待周期状态之间插入若干等待周期状态之间插入若干等待周期TWTWTW。。 5.8086/8088 CPU8086/8088 CPU中标志寄存器的主要作用是中标志寄存器的主要作用是中标志寄存器的主要作用是 产生影响或控制某些后续指令所需的标志产生影响或控制某些后续指令所需的标志 。 6.80868086最小模式下的存储器读周期中地址锁存发生在总线周期的最小模式下的存储器读周期中地址锁存发生在总线周期的最小模式下的存储器读周期中地址锁存发生在总线周期的 T1 T1 T1 时刻。时刻。时刻。 7.指令指针.指令指针IPIPIP的作用是的作用是的作用是 保存正在执行的一条指令保存正在执行的一条指令 。 8.8086CPU8086CPU有两种工作模式,最小模式的特点是有两种工作模式,最小模式的特点是有两种工作模式,最小模式的特点是 CPU CPU CPU提供全部控制信号。提供全部控制信号。提供全部控制信号。 第4章 8086/8088CPU指令系统 1.寄存器间接寻址方式中,操作数在.寄存器间接寻址方式中,操作数在 存储单元存储单元 中。中。 2.用BP作基址变址寻址时,操作数所在的段是当前作基址变址寻址时,操作数所在的段是当前 堆栈段。堆栈段。
汇编语言及编程实例(电子教案)
汇编语言程序设计2005
第四章汇编语言程序设计
回顾:8086的内部结构、寄存器功能和工作过程,指令格式、寻址方式和功能。
本讲重点:了解汇编的概念及其方法,掌握汇编程序的基本格式,常用运算符的使用方法,汇编的步骤。
4.1汇编语言的基本元素
一、汇编语言的语句格式
由汇编语言编写的源程序是由许多语句(也可称为汇编指令)组成的。每个语句由1~4个部分组成,其格式是:
[标号]指令助记符[操作数][;注解]
其中用方括号括起来的部分,可以有也可以没有。每部分之间用空格(至少一个)分开,一行最多可有132个字符。1.标识符
给指令或某一存储单元地址所起的名字。可由下列字符组成:字母:A~z;数字:0~9;特殊字符:、·、@、一、$
数字不能作标识符的第一个字符,而圆点仅能用作第一个字符。标识符最长为31个字符。当标识符后跟冒号时,表示是标号。它代表该行指令的起始地址;当标识符后不带冒号时,表示变量;伪指令前的标识符不加冒号。2.指令助记符 表示不同操作的指令,可以是8086的指令助记符,也可以是伪指令。3.操作数
指令执行的对象。依指令的要求,可能有一个、两个或者没有,例如:RET;无操作数
COUNT:INCC某;一个操作数如果是伪指令,则可能有多个操作数,例如:COSTDB3,4,5,6,7;5个操作数MOVA某,[BP+4];第二个操作数为表达式4.注解
该项可有可无,是为源程序所加的注解,用于提高程序的可读性。二、汇编语言的运算符
1.算术运算符、逻辑运算符和关系运算符
-1-
汇编语言程序设计2005
算术运算符可以应用于数字操作数,结果也是数字。而应用于存储器操作数时,只有+、-运算符有意义。
2.取值运算符SEG、OFFSET、TYPE、SIZE和LENGTH·SEG和OFFSET分别给出一个变量或标号的段地址和偏移量。例如,定义:SLOTDW25
则:MOVA某,SLOT;从SLOT地址中取一个字送入A某