ImageVerifierCode 换一换
格式:DOC , 页数:40 ,大小:567KB ,
资源ID:7173482      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7173482.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(微型计算机原理及接口技术自学指导书.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

微型计算机原理及接口技术自学指导书.doc

1、微型计算机原理及接口技术自学指导书 第一章 概 述 一、内容概述 1.1 计算机和微型计算机的发展概况 从1946年第一台计算机ENIAC问世以来,计算机的发展已经历了四代:即以电子管为主要器件的第一代;以晶体管为主要器件的第二代;以中小规模集成电路为主要器件的第三代和应用大规模、超大规模集成电路的第四代电子计算机。第五代智能计算机和第六代神经元计算机也正在研制之中。 1.2 微型计算机的特点与应用范围 微处理器具有成本低、灵活性强、可靠性高、开发时间短以及速度快等特点,因此,微型计算机具有广泛的应用范围,可概括为数值计算、数据处理和实时控制三个方面。 1.3 微型计

2、算机系统的基本组成 微型计算机系统由两大部分组成,即硬件和软件。计算机系统的硬件主要包括微型计算机、外围设备、控制面板和电源等。若把微处理器、存储器、输入/输出接口通过系统总线连接起来,就组成了微型计算机。 软件是各种程序的总称,由系统软件和用户(应用)软件组成,其中系统软件包括操作系统、文件管理程序、I/O驱动程序、文本编辑程序等,用户软件包括各种用户程序和用户程序库。 1.4 微型计算机的工作原理 当今世界上有数以千万计的计算机,尽管系列不同,型号各异,但就其工作原理而论,绝大多数都是基于由匈牙利籍数学家冯·诺依曼提出的“存储程序控制原理”。程序存储是指描述信息处理的程序必须以目

3、标程序的形式连同原始数据保存在内存储器中,这是计算机能自动连续工作曲前提。程序控制是指计算机根据预先编好并已存于内存的程序自动地、连续地控制全机工作,直到获得预期的结果的过程。 1.5 典型的微处理器结构 微处理器是一种利用大规模集成电路工艺制作的器件。它能进行算术、逻辑和控制操作。典型的微处理器内部结构主要由寄存器阵列、累加和算术逻辑单元及控制单元组成。 1.6 十进制数运算 日常生活中实际应用的原始数据大多是十进制数,十进制数不能直接送入计算机中参加运算,必须用二进制数为它编码,使其成为二一十进制码或称BCD码后方能送入计算机。送入计算机的BCD码或经十一二转换程序变为二进制数

4、后参加运算,或直接由计算机进行二一十进制运算(即BCD码运算)。常见的BCD码有8421码、2421码和余3码等。 用二进制指令进行十进制运算时,可用DAA接在BCD数的加法或减法指令的后面,自动按照规则进行“加6修正”或“减6修正”,以调整累加器的内容为正确的BCD形式。值得注意的是, DAA指令不能将任何一个二进制数都转换为BCD数。 二、教学要求 通过对电子计算机及微型计算发展史的了解,将使读者对这门新兴学科产生兴趣,从而增强学习该课程的自觉性。与一般计算机相比,微型计算机有自己的特点。因此,要着重理解微处理器的结构、组成、功能与外部连线。对微型计算机及微型计算机系统的定义,对80

5、86微处理器的工作原理和十进制数运算方法必须要有所了解,对一些基本术语要学会掌握。 三、重点难点 微型计算机系统的基本组成及其工作原理;典型微处理器的结构和十进制数的运算方法。 四、习题 1、计算机分那几类?各有什么特点? 答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统, 存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。 2、简述微处理器、微计算机及微计算机系统三个

6、术语的内涵。 答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响。微计算机包括微处理器、存储器、I/O接口电路及系统总线。微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。 3、80X86微处理器有几代?各代的名称是什么? 答:从体系结构上可分为3代: ¬ 8080/8085:8位机。 ­ 8086/8088/80286:16位机。 ® 80386/80486:32位机。 第二章 8086CPU结构 一、内容概述 2.1 存储器 8086CPU无论在什么样的工作模式下,都可以寻址1M字节的存储空间。在1M的存

7、储器空间(00000H~FFFFFH)中,各段的起始地址存放在各段寄存器中。16位地址的偏移量由EU产生,从而CPU可以寻址到该段中的每一个存储单元。 (一) 逻辑地址与实际地址的关系 所谓逻辑地址是指在程序中出现的地址值,如段寄存器中存放的地址值以及地址的偏移量,这两个地址值简单相加不能形成存储器的实际地址,而是要将段寄存器中存放的地址值左移四位以后,与偏移量相加,这才能得到存储器的实际地址。 (二) 存储器分段方法:参阅周细等编《微型计算机极其应用》第二版正文。 (三) 8086CPU与外部存储器连接 在8086的存储器空间中,信息是按字节为单位存放的。在组织8086的存储器时,

8、1M字节的存储空间被分成两个存储库(BANK),其中一个库与CPU数据总线的低字节D7~Do相连,称之为低字节库;另一个库则与数据总线的高字节D15~D8相连,称为高字节库。 8086CPU为了实现对这两个库的寻址和控制,把地址线A19~A1(该信号应是锁存后的输出)同时连接到低位库和高位库上,地址线A0不参加直接寻址,而是作为低位库的选择信号,接到低位库的SEL(————)端上。当A0=0时,选中低位库,使低位库所有地址的A0均为0(即为偶地址),而使高位库所有地址的A0均为1。高位库的选择信号由CPU的BHE(————)信号提供,A0与BHE(————)一起对存储库进行选择。 2.2

9、 8086微处理器的结构 (一)概述 8086共有95条基本指令,其中相当一部分指令的长度只有8位,在少数几位16位的指令中,只有前8位是操作码,另外8位则是数据的偏移量。由于8086是8080和8085指令系统的扩充型,因此8080和8085的指令码很容易转换成8086的指令码。 8086有24种寻址方式,大体和8080相同。但是,由于8086的ALU是16位,因此大大增加了8086的寻址能力。 (二) 8086的内部结构 8086CPU由两个独立的工作单元组成,即执行单元EU和总线接口单元BIU。 EU只负责执行指令,而BIU则负责从存储器或外部设备中读取操作码和操作数,并将结

10、果写入指令所指出的地址中,以完成所有的总线操作。这两个单元处于并行工作状态,可以同时进行存取和执行指令的操作。这样就可以充分利用各部分电路和总线,提高8086执行指令的速度。 BIU中有一个能存放6个字节的指令队列,BIU将预先取来的指令存放在这个队列中, EU要执行的指令一般从这个队列中取得。在不发生程序转移的情况下,BIU已经将要执行的指令提前取来存放在这个指令队列中了。 2.3 堆栈 堆栈有时也称为“下推表”或“后进先出队列”。 8086使用堆栈是在存储器中执行的,它的位置由堆栈寄存器SS和堆栈指示器SP规定。SS给出当前堆栈的基址,SP给出了当前堆栈的钱顶TOS(TOP OF

11、 THE STACK),也就是SP给出了从堆栈段的基址到栈顶的补偿值。在一个系统中,一个堆钱的深度是不受限制的,但是当前使用的堆栈最长为64K字节,也就是一个段的长度。另外,堆栈的基址(SS)并不是堆栈的“栈底”。 8086规定堆栈字为16位,不论是从堆栈中取出一个数,还是向堆栈中压入一个数,这个数都必须是一个16位的字,也就是说堆栈的操作都是字操作。 2.4 8086CPU引脚(线)功能 8086CPU芯片是一块具有40个引脚的集成电路块。为了节省引脚,许多引脚都具有双重定义,即具有复用功能。有些引脚根据时序的不同,其功能就有所区别。在ADo—AD15这16条引脚上,CPU有时送地址

12、信号,有时送数据信号。而有些引脚是因CPU的工作模式 (最小/最大模式)不同而具有不同的功能的。 2.5 8086基本系统概念 (一) 8086总线周期概念 8086是通过它的系统总线与外部逻辑打交道的。8086通过执行“总线周期”来传送数据或者取指令。 (二) 8086地址和数据总线概念 因为大多数与8086接口的存储器设备和外围设备在整个总线周期期间需要有稳定的地址,因此在T1期间,在多路转换地址/数据总线上出现的地址应该锁存起来。锁存的地址用来选择所需的外围设备或存储单元。为了对地址/数据总线进行分路转换,8086提供了一个允许地址锁存信号(ALE),利用它可以把地址放入到8

13、282或8283的8位双稳态锁存器中去。 2.6 最小方式 在最小方式中,8086的MN/MX(————)引线接到VCC电源上。最小方式可以用在单板或双板的单CPU系统中。 在最小方式中,8086的存储器空间地址为1M字节。输入/输出空间为64K字节。数据总线为16位。8086直接提供总线控制信号(DT/R(——),DEN(——————),ALE,M/IO(————),RD(————),WR(————),INTA(——————))。单个CPU抢占总线机能是通过HOLD和HLDA信号“使能”的。这种机能与现有的DMA控制器相匹配。 2.7 最大方式 在最大方式中,MN/MX(———

14、—)引线接地。最大方式用在多处理机和协处理机结构中。 在最大方式中,有一个总线控制器。它接收从8086来的控制信号并将其作为输入。8288对这些输入进行译码,产生控制输出信号。其一些8086的控制信号也有一定的修改,以便为外面逻辑提供更多的信息。 二、教学基本要求 80X86微处理器是典型的符合一般结构的微处理器,选择该微处理器作为典型机进行教学,有助于理论联系实际,也有助于今后的实际工作。因此掌握80X86微处理器的结构、组成、工作原理、各引脚的功能以及其内部操作过程,掌握微型机系统存储器、堆栈的结构特点和8086基本系统的概念,对后面各章的学习十分重要。 三、重点难点 存储器的结

15、构及其实际地址的产生;8086CPU的结构和其总线结构及8086的堆栈结构;8086基本系统概念及其最小方式。 四、习题 1、8086是多少位的微处理器?为什么? 答:8086是16位的微处理器,其内部数据通路为16位,对外的数据总线也是16位。 2、EU与BIU各自的功能是什么?如何协同工作? 答:EU是执行部件,主要的功能是执行指令。BIU是总线接口部件,与片外存储器及I/O接口电路传输数据。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。EU与BIU可分别独立工作,当EU不需BIU提供服务时,BIU可进行填充指令队列的操作。 3、8086/8088与其前一

16、代微处理器8085相比,内部操作有什么改进? 答:8085为8位机,在执行指令过程中,取指令与执行执令都是串行的。8086/8088由于内部有EU和BIU两个功能部件,可重叠操作,提高了处理器的性能。 4、8086/8088微处理器内部有那些寄存器,它们的主要作用是什么? 答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。AX、BX、CX、DX一般作为通用数据寄存器。SP为堆栈指针存器,BP、DI、SI在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器CS、DS、SS、ES和指令指针寄存器IP。段寄存器存放段地址,与偏移地址共同形成存储器的物理

17、地址。IP的内容为下一条将要执行指令的偏移地址,与CS共同形成下一条指令的物理地址。 5、8086对存储器的管理为什么采用分段的办法? 答:8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围 (1MB,20位地址)。若不用分段方法,16位地址只能寻址64KB空间。 6、在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。 答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。物理地址是808

18、6芯片引线送出的20位地址码,用来指出一个特定的存储单元。 7、给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C00EH,求出该内存单元的物理地址。 答:物理地址:320F8H。 8、8086/8088为什么采用地址/数据引线复用技术? 答:考虑到芯片成本,8086/8088采用40条引线的封装结构。40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。 9、8086与8088的主要区别是什么? 答:8086有16条数据信号引线,8088只有8条;808

19、6片内指令预取缓冲器深度为6字节,8088只有4字节。 10、怎样确定8086的最大或最小工作模式?最大、最小模式产生控制信号的方法有何不同 答:引线MN/MX#的逻辑状态决定8086的工作模式,MN/MX#引线接高电平,8086被设定为最小模式,MN/MX#引线接低电平,8086被设定为最大模式。 最小模式下的控制信号由相关引线直接提供;最大模式下控制信号由8288专用芯片译码后提供,8288的输入为8086的S2#~S0#三条状态信号引线提供。 11、8086被复位以后,有关寄存器的状态是什么?微处理器从何处开始执行程序? 答:标志寄存器、IP、DS、SS、ES和指令队列置0,C

20、S置全1。处理器从FFFFOH存储单元取指令并开始执行。 12、8086基本总线周期是如何组成的?各状态中完成什么基本操作? 答:基本总线周期由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。在T1期间8086发出访问目的地的地址信号和地址锁存选通信号ALE;T2期间发出读写命令信号RD#、WR#及其它相关信号;T3期间完成数据的访问;T4结束该总线周期。 13、结合8086最小模式下总线操作时序图,说明ALE、M/IO#、DT/R#、RD#、READY信号的功能。 答:ALE为外部地址锁存器的选通脉冲,在T1期间输出;M/IO#确定总线操作的对象是存储器还是I/O

21、接口电路,在T1输出;DT/R#为数据总线缓冲器的方向控制信号,在T1输出;RD#为读命令信号;在T2输出;READY信号为存储器或I/O接口“准备好”信号,在T3期间给出,否则8086要在T3与T4间插入Tw等待状态。 14、什么是总线请求?8086在最小工作模式下,有关总线请求的信号引脚是什么? 答:系统中若存在多个可控制总线的主模块时,其中之一若要使用总线进行数据传输时,需向系统请求总线的控制权,这就是一个总线请求的过程。8086在最小工作模式下有关总线请求的信号引脚是HOLD与HLDA。 15、简述在最小工作模式下,8086如何响应一个总线请求? 答:外部总线主控模块经HOLD

22、引线向8086发出总线请求信号;8086在每个时钟周期的上升沿采样HOLD引线;若发现HOLD=1则在当前总线周期结束时(T4结束)发出总线请求的响应信号HLDA;8086使地址、数据及控制总线进入高阻状态,让出总线控制权,完成响应过程。 16、在基于8086的微计算机系统中,存储器是如何组织的?是如何与处理器总线连接的?BHE#信号起什么作用? 答:8086为16位处理器,可访问1M字节的存储器空间;1M字节的存储器分为两个512K字节的存储体,命名为偶字节体和奇字节体;偶体的数据线连接D7~D0,“体选”信号接地址线A0;奇体的数据线连接D15~D8,“体选”信号接BHE#信号;BHE

23、信号有效时允许访问奇体中的高字节存储单元,实现8086的低字节访问、高字节访问及字访问。 17、“80386是一个32位微处理器”,这句话的涵义主要指的是什么? 答:指80386的数据总线为32位,片内寄存器和主要功能部件均为32位,片内数据通路为32位。 18、80X86系列微处理器采取与先前的微处理器兼容的技术路线,有什么好处?有什么不足? 答:好处是先前开发的软件可以在新处理器组成的系统中运行,保护了软件投资。缺点是处理器的结构发展受到兼容的约束,为了保持兼容性增加了硅资源的开销,增加了结构的复杂性。 第三章 8086指令系统及汇编语言指令程序简介 一、内容概述 3.

24、1 8089指令系统的基本格式 微处理器只能识别和执行以二进制代码形式表示的指令,这种指令代码称作机器码。8086CPU的机器码指令有几百条,但它们的基本格式均为1—6个字节。除了操作码字节和寻址方式字节外,就是单/双字节的位移量和单/双字节的立即数。 一条指令具体为基本格式中的哪一种,是由指令的操作码和寻址方式决定的,具体地说,在指令操作码中的W、D、S等指示位就是用来指出:指令操作所涉及的是16位数还是8位数;指令中所需的操作数是来自某一寄存器还是由全部数字节给出;当操作数或操作结果存于某一寄存器中时,该寄存器是通过操作码还是寻址方式字节来指定。 3.2 寻址方式 8086的

25、寻址方式分为两大类:数据存储器寻址方式和程序存储器寻址方式。 (一) 数据存储器寻址方式 数据存储器寻址方式实际上是寻找有效地址EA值。在8086微机系统中,知道了有效地址EA后,将其与左移4位后的段寄存器内容相加,就可以算出8086所有的存储器物理地址。因此,在一条指令中,根据其寻址方式求出了EA后很快就可以找到操作数所在的物理地址。 (二) 程序存储器寻址方式 程序存储器寻址方式要寻找的是当前要执行的指令所在的存储器物理地址。这是由于在执行JUMP指令或CALL指令后,IP的内容须依指令的要求改变,这种改变可能在段内范围进行,也可能在段间进行。在段内或段间改变IP的内容时,其转移地

26、址码可能由指令码直接提供,也可能由寄存器或存储单元提供。于是程序存储器寻址就有了段内直接、段内间接、段间直接、段间间接四种寻址方式。 (三) 寻址方式字节 8086CPU有着多种灵活的寻址方式,这些寻址方式是通过寻址方式字节即指令码的第二个字节来指定的。寻址方式字节的格式为: 其中MOD是用来识别是寄存器寻址方式还是存储器寻址方式的。当MOD=11时,为寄存器寻址方式;MOD≠11时,为存储器寻址方式。 REG字段与操作码中的W位一起用来选择指令操作中所使用的寄存器。 R/M字段与MOD字段一起用来指定寻址方式,它们的组合可以提供24种数据存储器寻址方式以及16种寄存器寻址方式。

27、四) 段越界前绍 所谓“段越界前缀”就是一条特定的指令,该指令功能是把数据所在的当前段寄存器改 为另一个段寄存器,另一个段寄存器由这条特定指令指定。“段越界前缀指令”的格式如下: 其中RR值代表当前段被跨越后得访问数据所在段。 RR=00,01,10,11分别表示ES,CS,SS,DS段寄存器。 (五)8086机器语言指令基本格式分析举例 在了解了8086机器码指令的基本格式、寻址方式、操作码的指示位、寻址方式字节等有关知识的基础上就可进行机器码指令的分析和阅读了。在周细等编《微型计算机极其应用》第二版2.5节中所举的例子就是通过对指令各字节及相应位进行阅读分析,进一步了解、熟识

28、8086的各种寻址方式以及指令在机器中的执行过程,从而达到了解8086指令系统的目的,以便能够熟练使用8086汇编语言进行程序的编制。 3.3 8086汇编语盲语句及基本语法 在了解了8086指令的机器语言基本格式及寻址方式的基础上,本节进一步讨论8086的汇编语言指令。重点内容是了解8086各种汇编语言指令的基本格式、功能以及它们在汇编源程序中的应用。在实际应用中的一些语法要求也是本节应重点掌握的内容。 (一)8086的汇编语言指令语句 8086汇编语言语句有三种:指令语句;伪指令语句及宏指令语句。 对指令语句要求能从原理和应用两个方面去理解和掌握。对某一条具体常用的指令语

29、句 (如MOV等),要能知道操作数属什么类型、操作数的寻址方式、实际物理地址是什么,具体常用指令功能以及某几条指令的特殊用途也是应该掌握的。同时由以上分析也应能知道该指令机器码指令格式中对应的指令操作码中指示位及寻址方式字节中MOD字段信息的具体内容。 对伪指令语句,要求了解常用的、与汇编源程序密切相关的伪指令功能,同时在阅读汇编源程序时,能对伪指令进行分析;在编写汇编源程序时能正常运用相应的伪指令。 对宏指令语句,本节仅要求知道其定义,其余内容不作要求。 (二) 汇编语言的有关基本规定及格式 对汇编语言源程序的编写,8086是有严格的规定和基本格式的。8086汇编源程序由两大部分组成

30、一部分是用伪指令按照一定的格式和语法要求写出的汇编语句,另一部分是用指令语句编写的CPU可执行的程序段。用伪指令编写的汇编语句是用来帮助汇编程序在对源程序中CPU可执行程序段进行汇编时能对指令语句中的变量正确赋值,或留出指定的存储区,等等,以便正确汇编,产生出机器可执行的目标程序。进行汇编语言源程序设计时,有关伪指令语句、指令语句所有的基本规定及格式都是应该掌握的内容。 二、教学要求 掌握8086汇编语言程序设计的基本方法; 汇编语言程序有三种基本结构:顺序结构、循环结构及分支结构。要求能了解三种基本结构的基本形式,能阅读分析并编写出简单的程序。 掌握转移指令的各条语句格式、功能及应

31、用。在此基础上,能编写一般的简单分支程序,并能结合寻址方式中所介绍的程序地址寻址方式内容,从原理的角度理解转移指令在机器中是如何进行操作的。 三、重点难点 在使用简单转移指令时,应注意TEST、AND、OR、XOR几条指令的使用。它们的使用可提供相应标志位的状态,作为判断转移分支的测试条件。 在测试分支条件时,还常使用移位和循环移位指令,通过这类指令的执行对相应标志位的影响来判断转移分支条件是否满足,以便确定程序的执行方向。 对于使用比较指令进行分支程序转移判断,要求能分析阅读相应汇编源程序即可,不要求编写这类程序。 对于循环程序,学习重点应为熟悉了解循环程序的结构,能分析一段循环程

32、序的四个组成部分各由哪些语句组成,从而能通过逐条指令的分析说明程序将完成的功能。同时,也能在分析程序的基础上画出程序的流程图。 对于多重循环,只需了解其概念,不作更深的要求。 应了解子程序的概念、子程序的调用和返回、子程序的定义格式及现场的保护,以及参数在主、子程序之间的传递方式等内容。 对于子程序,要求能在程序中对其进行分析,了解某子程序经主程序调用后使主程序实现的功能。 四、习题 1、根据下列要求编写一个汇编语言程序:: 代码段的段名为COD_SG 数据段的段名为DAT_SG 堆栈段的段名为STK_SG 变量HIGH_DAT所包含的数据为95 将变量HIGH_DAT装入

33、寄存器AH,BH和DL 程序运行的入口地址为START 答案: DAT_SG SEGEMNT HIGH_DAT DB 95 DAT_SG ENDS; STK_SG SEGMENT DW 64 DUP(?) STK_SG ENDS; COD_SG SEGMENT MAIN PROC FAR ASSUME CS: COD_SG, DS: DAT_SG, SS: STK_SG START: MOV AX, DAT-SG MOV DS, AX MOV AH, HIGH_DAT MOV BH, AH MOV DL, AH MOV AH, 4CH

34、 INT 21H MAIN ENDP COD_SG ENDS END START 2、指出下列程序中的错误: STAKSG SEGMENT DB 100 DUP(?) STA_SG ENDS DTSEG SEGMENT DATA1 DB ? DTSEG END CDSEG SEGMENT MAIN PROC FAR START: MOV DS,DATSEG MOV AL,34H ADD AL,4FH MOV DATA,AL START ENDP CDSEG ENDS END 答案:

35、 改正后: STAKSG SEGMENT DB 100 DUP(?) STAKSG ENDS DTSEG SEGMENT DATA1 DB ? DTSEG ENDS CDSEG SEGMENT MAIN PROC FAR ASSUME CS: CDSEG, DS: DTSEG, SS: STAKSG START: MOV AX, DTSEG MOV DS, AX MOV AL, 34H ADD AL, 4FH MOV DATA1, AL MOV AH, 4CH INT 21H MAIN ENDP CDSEG ENDS END S

36、 3、将下列文件类型填入空格: (1) .obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map 编辑程序输出的文件有______________________________________; 汇编程序输出的文件有______________________________________; 连接程序输出的文件有______________________________________。 答案: 编辑程序输出文件: (4) 汇编程序输出文件: (1), (3), (5) 连接程序输出文件: (2)

37、 (6) 4、下列标号为什么是非法的? (1) GET.DATA (2) 1_NUM (3) TEST-DATA (4) RET (5) NEW ITEM 答案: 非法标号: (1)因为‘.’只允许是标号的第一个字符 (2)第一个字符不能为数字 (3)不允许出现‘-’ (4)不能是保留字,如助记符 (5)不能有空格 5、下面的数据项定义了多少个字节? DATA_1 DB 6 DUP(4 DUP(0FFH)) 答案: 24字节 6、对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么? DTSEG SE

38、GMENT | DTSEG SEGMENT ORG 10H | ORG 10H DATA1 DB 72H | DATA1 DW 7204H DB 04H | DTSEG ENDS DTSEG ENDS | 答案:不一样. 分别是72H, 04H和04H, 72H. 存储字时低8位存在低字节,高8位存在高字节. 7、下面的数据项设置了多少个字节? (1) ASC_DATA DB ‘1234’ (2) HEX_DATA DB 1234H 答案: (1) 设置了4个字节 (2) 设置了2个

39、字节 8、执行下列指令后, AX寄存器中的内容是什么? TABLE DW 10,20,30,40,50 ENTRY DW 3 MOV BX,OFFSET TABLE ADD BX,ENTRY MOV AX,[BX] 答案:(AX)=40 9、指出下列指令的错误: (1) MOV AH,BX (2) MOV [SI],[BX] (3) MOV AX,[SI][DI] (4) MOV AX,[BX][BP] (5) MOV [BX],ES:AX (6) MOV BYTE PTR[BX],1000 (7) MOV AX,OFFSET [

40、SI] (8) MOV CS,AX (9) MOV DS,BP 答案: (1) 源、目的字长不一致 (2) 源、目的不能同时为存贮器寻址方式 (3) 基址变址方式不能有 SI和DI的组合 (4) 基址变址方式不能有 BX和BP的组合 (5) 在8086寻址方式中,AX不能作为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式 (6) 1000超出一个字节的表数范围 (7) OFFSET只用于简单变量,应去掉 (8) CS不能作为目的寄存器 (9) 段地址不能直接送入数据段寄存器 10、DAT

41、A SEGMENT TABLE_ADDR DW 1234H DATA ENDS MOV BX, TABLE_ADDR LEA BX, TABLE_ADDR 请写出上述两条指令执行后, BX寄存器中的内容。 答案: MOV BX,TABLE_ADDR ; 执行后(BX)=1234H LEA BX,TABLE_ADDR ; 执行后(BX)=OFFSET TABLE_ADDR 11、 设(DS)=1B00H, (ES)=2B00H, 有关存储器地址及其内容如右图 所示,请用两条指令把X装入AX寄存器。 1B00:2000H 8000

42、H 1B00:2002H 2B00H 2B00:8000H X 答案:LES BX, [2000H] MOV AX, ES: [BX] 12、变量DATAX和DATAY定义如下: DATAX DW 0148H DW 2316H DATAY DW 0237H DW 4052H 按下述要求写出指令序列: DATAX和DATAY中的两个字数据相加, 和存放在DATAY和DATAY+2中。 DATA

43、X和DATAY中的两个双字数据相加, 和存放在DATAY开始的字单元中。 DATAX和DATAY两个字数据相乘(用MUL)。 DATAX和DATAY两个双字数据相乘(用MUL)。 DATAX除以23(用DIV)。 DATAX双字除以字DATAY(用DIV)。 答案: (1) MOV AX, DATAX ADD AX, DATAY MOV BX, DATAX+2 ADD BX, DATAY+2 MOV DATAY, AX MOV DATAY+2, BX (2) MOV AX, DATAX ADD DATAY, AX MOV AX, DATAX+2 ADC DATAY

44、2, AX (3) MOV AX, DATAX MUL DATAY MOV DATAY,AX MOV DATAY+2,DX (4) MOV AX,WORD PTR DATAX MOV BX,WORD PTR DATAY MUL BX MOV RESULT,AX MOV RESULT+2,DX MOV AX,WORD PTR DATAX MOV AX,WORD PTR DATAY+2 MUL BX ADD RESULT+2,AX ADC RESULT+4,DX MOV AX,WORD PTR DATAX+2

45、 MOV BX,WORD PTR DATAY MUL BX ADD RESULT+2,AX ADC RESULT+4,DX MOV AX,WORD PTR DATAX+2 MOV BX,WORD PTR DATAY+2 MUL BX ADD RESULT+4,AX ADC RESULT+6,DX (5) MOV AX, DATAX MOV BL, 23 DIV BL MOV BL,AH MOV AH, 0 MOV DATAY, AX ;存放商 MOV AL,BL MOV DATAY+2, AX ;存放余数 (6) MOV AX,

46、 DATAX MOV DX, DATAX+2 DIV DATAY MOV DATAY, AX MOV DATAY+2, DX 13、试分析下面的程序段完成什么操作? MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 答案: 将DX: AX中的双字左移4位(乘16) 14、用其他指令完成和下列指令一样的功能: (1) REP MOVSB (2) REP LODSB (3) REP STOSB (4) REP SCASB 答案: LOOP1:

47、 MOV AL,BYTE PTR [SI] MOV ES:BYTE PTR [DI], AL INC SI 或: DEC SI INC DI 或: DEC DI LOOP LOOP1 (2) LOOP1: MOV AL, BYTE PTR [SI] INC SI 或: DEC SI LOOP LOOP1 (3) LOOP1: MOV ES:BYTE PTR [DI], AL INC DI 或: DEC DI LOOP LOOP1 (4) LOOP1: CMP AL,ES:BYTE PTR [DI] JE EXIT INC

48、 DI 或: DEC DI LOOP LOOP1 EXIT: 15、编写程序段, 比较两个5字节的字符串OLDS和NEWS, 如果OLDS字符串与NEWS不同, 则执行NEW_LESS, 否则顺序执行程序。 答案: LEA SI, OLDS LEA DI, NEWS MOV CX, 5 CLD REPZ CMPSB JNZ NEW_LESS 16、假定AX和BX中的内容为带符号数, CX和DX中的内容为无符号数, 请用比较指令和条件转移指令实现以下判断: 若DX的值超过CX的值,则转去执行EXCEED 若BX的值大于AX的值,则转去执行EXCEED C

49、X中的值为0吗? 若是则转去执行ZERO BX的值与AX的值相减, 会产生溢出吗? 若溢出则转OVERFLOW 若BX的值小于AX的值,则转去执行EQ_SMA 若DX的值低于CX的值,则转去执行EQ_SMA 答案: (1) CMP DX, CX JA EXCEED (2) CMP BX, AX JG EXCEED (3) CMP CX, 0 JE ZERO (4) SUB BX, AX JO OVERFLOW (5) CMP BX, AX JL EQ_SMA (6) CMP DX, CX JB EQ_SMA 17、假如

50、在程序的括号中分别填入指令: (1) LOOP L20 (2) LOOPNE L20 (3) LOOPE L20 试说明在三种情况下, 当程序执行完后, AX、BX、CX、DX四个寄存器的内容分别是什么? TITLE EXLOOP.COM CODESG SEGMENT ASSUME CS:CODESG, DS:CODESG. SS:CODESG ORG 100H BEGIN: MOV AX,01 MOV BX,02 MOV DX,03 MOV CX,04 L20: INC AX

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服