微型计算机系统原理及应用课件_第1页
微型计算机系统原理及应用课件_第2页
微型计算机系统原理及应用课件_第3页
微型计算机系统原理及应用课件_第4页
微型计算机系统原理及应用课件_第5页
已阅读5页,还剩263页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微型计算机系统原理及应用

前言0.1IA-32结构微处理器的概要历史(2.1)点击翻页0.2Intel(IntegratedElectronics)公司发展史0.3从过时的8086芯片学起的原因IA-32结构是完全兼容的

8088/8086是Intel80x86系列芯片的基础

构造一个小型系统,要采用8086(8088)

PC机的存储器容量已经很大,但是基本存储单元的工作原理没有变,构成存储器的原理没有变,存储器与CPU的接口原理、接口方法也没有变

PC机的外设越来越丰富,但是PC机与外设的接口方法并没有变,中断的工作原理及中断处理方法也没有变

PC机主板上已用两块专用芯片代替以前大量的接口芯片和中小规模集成电路,但是它们仍然具有8255A、8250、8353(8254)、8259和8237等芯片的作用。并且在自行构造系统时,仍然要使用这些通用的接口芯片

第一章概述1.1台式个人计算机的构成(组装)

PC配件的搭配问题

在装机之前,我们必须逐一采购各种配件,然而这些配件必须有机地配合才能使用。具体来说,大家必须注意五点:CPU与芯片组配合内存与主板配合电源与主板配合显卡与主板配合CPU风扇与CPU配合

1.1.1装机必备——硬件基础知识

主板由5部分组成:CPU、存储器、总线、插槽和电源。它就象一座城市:CPU犹如行政领导机构;存储器类似住宅、宾馆、仓库、广场;总线则是大街小巷及交通指挥中心;插槽则象车站、码头、机场,代表主板与外界交换数据的能力;电源则是供应能量的电厂,通常电源在主板上只是一个插座,电源电路不在主板上。主板的总线结构1.1.2、简洁的最小系统

所谓“最小系统”就是CPU(包含风扇)、主板、内存、显卡、电源这五项配件。为了避免反复装卸,强烈建议大家在固定主板之前使用“最小系统”验证系统是否能够顺利点亮。当然,在测试时一定要注意防护静电。其实,最佳的静电防护方法便是使用专用的放静电带,并且接地。如果没有接地设备,当我们要用手接触板卡时,可以用手触摸一下自来水管或潮湿的地面,把自己身上携带的静电泄放掉,避免在接触板卡时人身对板卡放电,造成板卡的损坏。特别是冬季干燥寒冷,我们穿的多为羊毛化纤制品,最容易产生静电。1.1.3实战演练——最小系统试验既然最小系统是构成了整个PC的核心,那么我们就从安装最小系统开始。在安装时应该找一个防静电带置于主板的下方,同时将主板放在较为柔软的物品上,以免刮伤背部的线路,建议使用防静电包装袋以及泡沫袋(图)。1安装CPU

CPU的安装并不困难,大家首先要找对方向。注意观察主板上CPU插槽,其中有些边角处并没有针孔,这一位置也应该对应CPU上缺针的位置。以AMD的AthlonXP或者Duron处理器为例,其针脚有两个边角呈“斜三角”(图),应该对准SocketA插槽上的“斜三角”(图)。如果方向反了,那么CPU是无法顺利嵌入CPU插槽的。至于Intel的Pentium4或者Celeron4(赛扬)处理器,只有一个边角呈现缺口(图),大家对准CPU插槽的缺口即可(图)。安装CPU时应该先轻轻地拉起CPU插槽旁边的滑杆(图),此时CPU可以略带阻尼感地插入CPU插槽,然后放下滑杆,以固定CPU(图)。整个过程应该相当轻松,如果遇到很大的阻力,应该立即停止,因为这很可能是CPU插入方向错误所引起的。一味地使用蛮力肯定不能解决问题,反而会损坏CPU!CPU主要概念:主频主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度。CPU的主频=外频×倍频系数。很多人以为认为CPU的主频指的是CPU运行的速度,实际上这个认识是很片面的。CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力是没有直接关系的。当然,主频和实际的运算速度是有关的,但是目前还没有一个确定的公式能够实现两者之间的数值关系,而且CPU的运算速度还要看CPU的流水线的各方面的性能指标。由于主频并不直接代表运算速度,所以在某些情况下,很可能会出现主频较高的CPU实际运算速度较低的现象。因此主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。CPU主要概念:外频外频是CPU的基准频率,单位也是MHz。外频是CPU与主板之间同步运行的速度,而且目前的绝大部分电脑系统中外频也是内存与主板之间的同步运行的速度,在这种方式下,可以理解为CPU的外频直接与内存相连通,实现两者间的同步运行状态。前端总线(FSB)频率前端总线(FSB)频率(即总线频率)是直接影响CPU与内存直接数据交换速度。由于单位数据传输量取决于所有同时传输的数据的宽度和传输频率,即数据交换速度=(总线频率×数据带宽)/8。外频与前端总线(FSB)频率的区别:前端总线的速度指的是数据传输的速度,外频是CPU与主板之间同步运行的速度。也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一千万次;而100MHz前端总线指的是每秒钟CPU可接受的数据传输量是100MHz×64bit÷8Byte/bit=800MB/s。CPU主要概念:倍频倍频系数是指CPU主频与外频之间的相对比例关系。在相同的外频下,倍频越高CPU的频率也越高。但实际上,在相同外频的前提下,高倍频的CPU本身意义并不大。这是因为CPU与系统之间数据传输速度是有限的,一味追求高倍频而得到高主频的CPU就会出现明显的“瓶颈”效应——CPU从系统中得到数据的极限速度不能够满足CPU运算的速度。通过提高外频或倍频系数,可以使微处理器工作在比标称主频更高的时钟频率上,这就是所谓的超频。2安装CPU风扇

相对而言,安装CPU风扇是整个装机过程中最危险的一步,因为用力不当就很容易压坏CPU的核心。首先用导热硅脂在CPU的表面均匀地涂上一层,做这一步的目的便是确保CPU与散热片之间紧密接触,赶走空气(图)。当然,导热硅脂也不能涂太多,应该以装上CPU风扇后不溢出为标准。最后大家千万不能忘记为CPU风扇接上电源,不然短短的几秒种就可能让CPU过热而烧毁。如今CPU风扇都采用3pin电源接口,一般位于主板上CPU插槽的附近(图)。这种3pin电源接口有一个导向小槽,因此不用担心插饭。此外,少数老式风扇可能依旧采用由ATX电源输出的电源接口。3安装内存和显卡

在内存插槽上,我们可以看到两个塑料钮扣,将其向外搬,然后把内存条的缺口对准内存插槽上的小梗(图),完全插入之后再将塑料钮扣的位置复原(图)。安装内存基本上没有太大的难度,只要注意方向即可。AGP显卡的安装也同样简单,大家只要将其插上主板的AGP插槽即可。此时,AGP显卡的挡板应该面向主板端口的一侧。很多主板的AGP插槽都有一个弹簧片(图),当显卡正确插入之后,该弹簧片会牢牢地扣住显卡。4设定跳线、加电开机

在加电开机之前,我们还要设置一下各个重要跳线,以免因为参数错误而导致硬件损坏。一般而言,CPU外频跳线、倍频跳线、电压跳线是我们首先关注的对象。当然,并非所有的主板都需要设置这些跳线,因为有些主板采取在BIOS中进行设定,或者完全由系统自动识别。。完成多种跳线的设定之后,我们就可以接上20pin的ATX电源了。主板上的20pinATX电源接口有一个导航槽,顺着方向插入即可(图)。之所以要求大家最后才接ATX电源也是为了保证安全,因为少数主板的供电模块有些小问题,有时一接上电就会自动启动。最后,我们就要进行开机了。虽然我们没有开关按钮,但是通过短路主板上2pin开关即可正常开机。主板上的2pin开关一般位于左下角(图),通过说明书或者PCB上印刷字找到确切位置,用钥匙等导电物轻轻一碰,ATX电源就会立即启动。如果一切顺利的话,应该能够看到显示器出现系统自检画面,这也表明这些配件基本上可以完美地协调工作。1.1.4再接再厉——完成装机

尽管我们已经成功地让最小系统正常运作,但是如果要真正完成整个装机过程,我们还必须经历固定主板、连接机箱前置面板与信号灯、安装IDE设备、添加板卡等步骤。1连接机箱前置面板与信号灯一般来说,我们需要连接PC喇叭、硬盘信号灯、电源信号灯、ATX开关、Reset开关,其中ATX开关和Reset开关在连接时无需注意正负极,而PC喇叭、硬盘信号灯和电源信号灯需要注意正负极,白线或者黑线表示连接负极,彩色线(一般为红线或者绿线)表示连接正极(图)。2安装IDE设备

对于普通用户而言,我们的硬盘、CDROM、DVDROM以及刻录机都采用IDE接口,这是一种很普及的接口模式,每块主板上都至少有两个IDE插槽,而每个插槽呢又可以支持2个IDE设备,因此从原理上讲我们可以在同一台机器上安装四个IDE设备共同使用(图)。

IDE设备数据线由于一个IDE插槽可以安装两个IDE设备,因此我们需要为每一个IDE设备设定主从模式。设定主从模式的方法大家应该已经不会陌生,就是跳线(图),总共分成三种:主(MASTER)、从(SLAVE)和自动选择(CABLESELECT),建议大家将所有的IDE设备都跳线为CABLESELECT。。随后,我们将所有的IDE设备固定在机箱上(图),这一步并不难做到,只要对孔眼上螺丝即可。连接数据线在主板IDE插槽这一端,我们可以按照IDE连接线上的一个柱型突起,来对应主板IDE插槽上的缺口,只要这样安装就可以保证正确了。在硬盘这一端,我们可以仔细的观察IDE连线最旁侧的两条边线,其中一条我们可以看到有红色的标记,而另一侧则没有。这个便是确认IDE连线插接方向的条件,在连接的时候,我们将这条有红色标记的一侧朝向硬盘电源插口的方向就可以了(图)。需要注意的是,大家在连接IDE硬盘时应该采用80pin数据线(图),也只有这样才能激活ATA66/100/133工作模式,提高磁盘性能。此外,如果大家只需要安装一个光驱和一个硬盘,那么将以将这两个IDE设备挂接在不同的IDE插槽,这样可以稍微提高一些性能。IBM硬盘内部结构曝光硬盘的正面图:

IBM

腾龙4代40G:

硬盘各部分组成反面图:内部图1:内部2:拆下的上盖板:主轴马达(这个可以7200转):强力磁铁(控制磁头架用的):磁头架:盘片(这种硬盘是由玻璃做的):整个硬盘3添加板卡

由于目前ISA接口已经被完全淘汰,因此PCI板卡已经成为我们唯一需要对付的设备,其中主要包括声卡、网卡,以及电视卡等。安装板卡时要卸下机箱上的挡板,然后对准位置插入PCI板卡(图)。声卡和网卡事实上,如今很多主板都已经集成声卡和网卡,如果需要使用额外的声卡,那么应该先将板载声卡屏蔽掉,这一步一般通过主板上的跳线实现或者在BIOS中进行设定。为了能够让声卡直接播放AudioCD,我们还必须在声卡与光驱之间连接一条音频线(图)。

4微机接口5安装电源、封闭机箱

电源安装在机箱的右上角,大家可以使用四颗大螺丝加以固定。当然,此时处理连接主板上的20pin接口,也不能忘记为各个IDE设备接上D形电源接口(图)。在封闭机箱之前,我们还需要进行一些善后工作。一台安好了的机箱内有很多五花八门的线,往往是硬盘数据线,电源线、音频线杂乱无章的夹杂在一起,不仅会互相干扰,而且会严重干扰散热。此时建议大家用象皮筋扎好后固定在远离CPU风扇的地方。经过以上这些步骤,我们的整个装机过程就完成了。当然,真正使用PC之间还需要经过BIOS优化、操作系统安装、应用软件安装等多个步骤。1.2计算机基础:计算机系统构成框图输入设备运算器控制器输入信息输出设备输出信息读出读出外存储器写入内存储器写入取出指令数据信息控制信息微型计算机CPU+内存+I/O接口外围设备中央处理器CPU1.2.1冯·诺依曼结构:控制器:负责控制并协调各部件的工作,使计算机能自动地执行程序。控制器从存储器顺序地取出指令,并对指令代码进行翻译,然后向各部件发出相应的命令,使指令规定的操作得以执行。因此,控制器是统一指挥和控制计算机各部件进行工作的中央机构。输入设备:负责把用户的程序和数据输入到计算机的存储器中。

输出设备:负责从计算机中取出程序执行结果或其它信息,供用户查看。

存储器:是实现记忆功能的部件。数据和程序以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也是二进制形式

运算器:负责数据的算术运算和逻辑运算,即数据的加工处理。微处理器严格讲,微处理器≠CPUCPU指的是计算机中执行运算和控制功能的区域,由算术逻辑部件(ALU)和控制部件两大主要部分组成把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器微型计算机系统的三个层次微型计算机以微处理器为核心,配上由大规模集成电路制作的只读存储器(ROM)、读写存储器(RAM)、输入/输出接口电路及系统总线等所组成的计算机,称为微型计算机。将这些组成部分集成在一片超大规模集成电路芯片上,称为单片微型计算机,简称单片机。微型计算机系统以微型计算机为中心,配以相应的外围设备以及控制微型计算机工作的软件,就构成了完整的微型计算机系统。微型计算机如果不配有软件,通常称为裸机微型计算机系统组成:微型计算机外围设备系统软件程序设计语言应用程序位(bit)是计算机所能表示的最小最基本的数据单位,它指的是取值只能为0或1的一个二进制数值位。位作为单位时记作b字节(byte)由8个位二进制位组成,通常用作计算存储容量的单位。字节作为单位时记作B,是衡量计算机所容纳信息量多少的单位。1.位和字节例如:一张3.5英寸的软盘容量为1.44MB,即表示该软盘可存储:1.44×1024×1024×8≈12079595位二进制信息,或者说能存储:1.44×1024×1024÷2≈752762个汉字。例2数字编码计算机内部处理信息二进制代码形式流通、处理信息转化转化计算机中为什么要采用二进制?

在计算机中任何信息均采用二进制,计算机内部存储、处理的只有0和1组成的代码。主要原因如下:

二进制在计算机中容易实现(只需二种状态);运算简单;如:十进制的乘法运算,九九表有100条法则,而二进制只有4条法则:0×0=0,0×1=0,1×0=0,1×1=1。便于计算机实现逻辑运算;“1、0”两种状态刚好与“真、假”、“是、非”对应2、二进制编码常用计数制的表示方法可用右下角小数字来表示不同数制的数。如:(100)2(100)10(100)16(100)8在计算机中,通常用数字后面跟一个英文字母来表示不同数制的数。如:110B(二进制)5A6H(十六进制)685D(十进制)235O(八进制)在计算机应用中引入十六进制数主要是为了书写和使用上的方便,在计算机内部信息处理仍是二进制数。注意:因为23=8,24=16,所以,一位八进制数可以用3位二进制数来表示,一位十六进制数可以用4位二进制数来表示。进制转换总结补码定义特点:[+0]补=[-0]补=00000000数的表示范围:+127——-128当正数时,后面的7位为数码部分;当负数时,后面的7位按位取反再加1才是它的二进制值;补码的几何表示3字符编码1、ASCII码(AmericanStandardCodeforInformationInterchange,美国信息交换标准代码) 采用7位二进制代来对一个字符进行编码,可表示128个字符。2、编码表:P4163、

ASCII码表特点4汉字编码◆其实,所有汉字输入法都是根据汉字的特点(字形、笔划、声音等)对汉字进行编码,这些都属于外部输入码,简称外部码或输入码。◆为了用户输入方便而设计的特定外部输入码,必须通过特定的输入字典或特定的转换函数,投影到对应的内部码上,这样一来,不管你用什么方法输入同一个汉字,存入计算机的都是与字形发生器严格一一对应的内部码。在计算机中存放的、处理过程中采用的都是唯一的内部码。输入设备输入码输出设备输入字典内部处理内部码输出字典字形表示1.2.3、指令程序和指令系统指令:将计算机执行的各种操作用命令的形式写下来,称为指令指令=操作码+操作数程序:能实现某种功能的(算法)指令集合。程序=算法+指令指令系统:计算机所能执行的全部指令。1011000000000111机器语言程序语言代码特点不利于查错、记忆利于查错十六进制表示机器语言汇编(助记符)利于查错、记忆B0H07HMovAL,07H1.2.4模型计算机CPU存储器1累加器AL(暂存操作数);2寄存器组(暂存操作数)3数据寄存器DR(暂存操作数);4地址寄存器AR(暂存地址);5指令寄存器IR(暂存指令);6标志寄存器F(暂存程序状态);7程序计数器PC(暂存指令地址);总结:模型机CPU中重要的寄存器微型计算机的工作过程就是执行程序的过程,而程序由指令序列组成,因此,执行程序的过程,就是执行指令序列的过程,即逐条地从存储器中取出指令并完成指令所指定的操作。由于执行每一条指令,都包括取指、译码和执行三个基本步骤,所以,微型计算机的工作过程,也就是不断地取指令、译码和执行的过程,直到遇到停机指令时才结束机器的运行。微型计算机的工作过程模型机的指令系统1.2.5寻址方式1.3.3.1立即寻址操作数所在的地址直接包含在指令中。指令的操作数部分就是操作数本身。

多媒体演示:1.3.3.2寄存器寻址寄存器中保存的是操作数的内容。多媒体演示:1.3.3.3直接寻址操作数部分直接给出有效地址(EA)。多媒体演示:1.3.3.4寄存器间址寻址寄存器中保存的是操作数的地址。多媒体演示:1.2.6指令的执行过程1.3计算机的硬件和软件微型计算机硬件软件微型计算机外围设备----系统软件程序设计语言应用软件、软件包、数据库微处理器内存储器输入/输出接口电路系统总线运算器控制器RAMROM数据总线地址总线控制总线键盘/显示器、打印机、磁带机、磁盘机、D/A、A/D转换器监控程序、操作系统汇编程序解释程序编译程序机器语言汇编语言高级语言(1)硬件是基础,软件依赖于硬件的存在而发生作用。(2)软件是灵魂,是硬件功能的扩充和完善。(3)硬件和软件相互渗透,相互促进,并可以相互转化。1.3.1软硬件之间的相互关系软件的概念:电子计算机为解决某问题而编写的程序及运用数据处理系统所需的手续、规则、文件的总称。软件的分类:用户语言处理程序数据库管理工具软件应用软件开发软件硬件维护工具软件装配程序调试程序汇编语言操作系统裸机1)、系统软件:充分利用计算机资源,便于使用、管理、操作维护计算机编制的程序的总称。2)、应用软件:为解决各类实际应用问题而编制的程序。1.3.2计算机的软件系统3)、支撑软件:信息数据软件。A、操作系统是管理和控制计算机系统软、硬件资源的大型程序。B、语言处理程序主要有各种语言和它们的汇编程序、解释程序、编译程序。C、服务性程序指为了帮助用户使用与维护计算机,提供服务性手段而编制的一类程序。系统软件包括:1、操作系统2003年5月在美国新奥尔良举办的WinHEC(WindowsHardwareEngineeringConference,Windows硬件工程师)大会上,微软曾展示过关于开发中的下一代操作系统的一些内容,那就是Longhorn。同时微软还公布了Longhorn开发的路线图(如上图)。2、程序设计语言编写计算机程序所用的语言即为程序设计语言,它是人与计算机之间交换信息的工具,是软件系统的重要组成部分。程序设计语言一般分3类:机器语言汇编语言高级语言机器语言机器语言:是机器可识别的,不需翻译,直接供机器使用。(每一条语句即是一条二进制形式的指令代码)特点:最低级的程序设计语言,难阅读、难理解、难编写和记忆,但执行速度最快。汇编语言汇编语言:面向机器,“符号化”,用助记符代替二进制代码—符号语言。特点:低级语言,比机器语言易阅读、易理解、易修改和检查等,执行速度也快。但汇编语言依赖于具体的微处理器型号,故通用性、可移植性较差。高级语言高级语言:采用“自然语言的词汇,语法也相近的自封闭语法体系”。面向问题求解过程—算法语言或过程语言。特点:更易阅读和理解,独立于具体的机器系统,其通用性、可移植性大大提高。目前,世界上已有上千种高级语言,用得较多的是Fortran、Pascal、C、Prolog、Lisp、VB、VC等数十种。3、语言处理程序源程序:采用高级语言或汇编语言编写的程序。目标程序:机器能直接执行的用“0”、“1”代码表示的程序(机器码)。语言处理程序语言处理程序的任务就是把源程序翻译成目标程序。源程序目标程序(机器码)翻译将程序转化成机器语言称为翻译;“汇编程序”的功能是将汇编语句(ADD)转化成机器语言(10000000);“解释程序”的功能是将高级语言逐行转化成机器语言;“编译程序”的功能是将高级语言一次性转化成机器语言;编译可视作“成批处理”,且产生目标程序。解释是逐条执行,并且不产生目标程序。ADDBASIC语言A+BFORTRAN、C语言汇编程序解释程序编译程序机器语言(10000000=ADD)高级语言汇编语言程序计数器ALUCPU计算机编好的程序翻译机器码存于存储器执行電腦程式語言第一代語言

機械語言第二代語言

組合語言第三代語言

高階語言第四代語言

視覺及物件導向語言编程语言的发展一般所謂的第四代語言(ForuthGenerationLanguage,4GL),是指不需要專門技術即可使用的套裝軟體,通常以句子或圖像(icon)選擇所要的功能。例如,使用第四代語言的程式寫作者不必描述資料儲存的細節,及資料如何顯示在螢幕上和在機器中的情形,只有描述顯示在軟體上上的資料及它們的關係。

1.4微型计算机的结构微处理器CPU存储器DMA控制部件输入/输出接口部件外设外设1.4.1微型计算机的外部结构1)地址总线AB(AddressBus)

用于传送CPU发出的用于选择要访问的器件或部件的地址信息。(在微机中,除存储器具有单元地址外,几乎所有的I/O接口部件都具有地址。)一般处理器有16根、20根或更多。数据总线DB(DataBus)

用于传送微机系统内的各种类型的数据。(数据可以由外部流向CPU,也可由CPU流向外部,故是双向传输线。)8位CPU有8根,16位CPU有16根等。控制总线CB(ControlBus)

传送保证微机同步和协调的定时和控制信号。1.4.2微处理器的内部结构1总线接口部件(BIU)与存储器、I/O接口电路的接口部件组成:指令队列、段寄存器组、指令指针、地址加法器和总线控制器等组成功能:完成所有外部总线的操作:取指令、读/写操作数、地址变换和总线操作等2累加器和算术逻辑单元组成:算术逻辑部件ALU、标志寄存器、通用寄存器组等组成。功能:负责指令的执行。3内部寄存器阵列通用寄存器组:通用数据寄存器:(16位)AX、BX、CX、DX (8位)AH、AL、BH、BL、CH、CL、DH、DL指针与变址寄存器:堆栈指针寄存器SP,基址指针寄存器BP,源变址寄存器SI,目的变址寄存器DI微处理器的内部结构CPU的内部结构可分为控制单元,逻辑单元和存储单元三大部分。CPU的工作原理就象一个工厂对产品的加工过程:进入工厂的原料(指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储器)中,最后等着拿到市场上去卖(交由应用程序使用)。

CPU内部结构的比喻1.5多媒体计算机多媒体技术利用计算机来综合、集成地处理文字、图形、图像、声音、视频、动画等媒体,而形成的一种全新的信息传播和处理技术。这种技术包括计算机屏幕显示、视频光盘、CD-ROM以及语言和声音的综合,同时在这些部件之间建立逻辑连接,从而使整个系统具有交互性。显然,多媒体技术使计算机进一步摆脱了“计算工具”的传统观念,成为处理各种信息的强有力工具。多媒体计算机习题1.微型计算机系统有哪三个层次,简述其内涵及其联系与区别2.试述冯

诺依曼计算机的体系结构和冯

诺依曼存储程序工作原理3.将二进制数11011.011转换成十进制数,八进制数和十六进制数4.设计算机字长为8位,求机器数E3(H)分别为原码、反码、补码、无符号数、压缩BCD码时对应的真值5.5.Key:21.25+15.4+21.25=57.9参考教材清华大学电子工程系,马洪兵,微机原理董方武,微机接口技术李千微机应用基础北京邮电大学计算机科学与技术学院,白中英,计算机组成原理曾青松,计算机系统导论山东大学计算机学院,宁飞,微型计算机原理与接口天津大学电子信息学院,艾德才,计算机硬件技术基础东华大学信息学院自动化系,微型计算机技术“系统结构”

是指概念性结构和功能特性(功能模块),就相当于动物的器官组成及其功能特性,如鸡有胃,胃可以消化食物。至于鸡的胃是什么形状的、鸡的胃部由什么组成就不是“系统结构”研究的问题了,而是“系统组成”研究的问题。所谓“系统组成”就是在逻辑上如何实现这种功能(功能模块的组成器件),比如“上帝”给鸡设计了一个一定大小的胃,这个胃的功能是消化食物,那消化系统的逻辑实现,就是要通过鸡喙吃进食物和砂石,再通过胃的蠕动、依靠砂石的研磨来消化食物。而计算机物理实现,主要着眼于器件技术和微组装技术(器件的物理实现)。拿上面的例子来说,这个胃由哪些组织组成几条肌肉和神经来促使它运动就是"鸡实现"。

计算机体系结构(应用)、组成(设计)及物理实现(制造)2.2.1Intel8086微处理器的功能结构总线接口单元BIU

由段寄存器(CS、DS、SS、ES)、指令指针寄存器(IP)、地址加法器、内部寄存器、指令队列缓冲器及I/O控制逻辑等部分组成。

执行单元部件EU

由通用寄存器组、专用寄存器组、算术逻辑运算单元(ALU)、标志寄存器(FR)和内部控制逻辑组成。

执行单元AHALBHBL

CLCHDHDLSPBPDISI

通用寄存器CSDSSSES

IP

内部暂存器

总线

控制

逻辑1234

AX

BXCXDX数据总线运

运算寄存器ALU

标志寄存器

外部总线80888位

808616位

指令对列8086为6字节16位

执行

控制

电路总线接口单元

地址加法器20位16位

段寄存器指令指针(EU)

(BIU)每条指令的执行有取指、译码和执行。早期计算机指令执行过程:指令花费时间=取指+指令执行8088CPU指令执行过程:指令的重叠操作指令花费时间=指令执行2.2.280386的功能结构存储器组织拥有32位数据线和地址线,可以寻址4GB的物理地址;内部执行环境(寄存器组)首次将32位的寄存器组引入80x86体系的微处理器中,32位的低半部分向下兼容;段寄存器仍为16位,段空间为4GB;操作模式实地址;保护模式;虚拟8086模式;80386的主要特点2.3IA-32结构微处理器

的执行环境220=1MB,地址由00000-FFFFF(H)编码若存放的信息是字节,则按顺序存放若存放的信息是字,则将字的低位字节存放在低地址,高位字节存放在高地址若存放的信息是双字,则将双字的低位字存放在低地址,高位字存放在高地址2.3.2基本执行环境

(1)存储器地址空间(8086)(2)基本程序执行寄存器实地址方式存储器组织四个不同的段:代码段存放机器指令;数据段存放数据信息;堆栈段供堆栈使用;附加段通常用来存放附加数据;8086有四个16位段寄存器:cs

代码段;ds

数据段;ss

堆栈段;es

附加段。地址的标准写法为:“段:偏移量”。注意由于位移可以重叠,所以给出的“段:偏移量”不是唯一的。如下列地址均指向同一内存单元:

0000:01230002:01030008:00A30010:00230012:0003段可以位于内存中的任何位置,段的首地址必须能被16整除;若段寄存器存放的是10H,而偏移量是100H,下列步骤说明实际物理地址计算过程:段寄存器:0000000000010000(10H)左偏四位:0000000000010000偏移量:0000000100000000(100H)段加偏移量00000000001000000000(200H)

存储器物理地址的形成逻辑地址

是程序中使用的地址,它由段基址和段内偏移值所组成,段基址与段内偏移值都为16位的二进制数。物理地址

也叫实际地址或绝对地址,是CPU访问存储器时实际使用的地址,为20位地址。

物理地址=段基址×16+段内偏移地址。

【例】各独立段的分配情况示例。设CS=B000H、DS=1CDEH、SS=4200H、ES=0150H,它们分别为代码段、数据段、堆栈段和附加段的段首址。自每个段首址开始,各段均占64KB的范围,各段之间互不重叠。【例】各段相互重叠情况示例。设CS=0200H、DS=0400H、SS=0480H,这样代码段、数据段和堆栈段的物理首地址分别为02000H、04000H和04800H。其中代码段占8KB地址空间,数据段占2KB,堆栈段占256B,SP=0100H。如图所示。

(1)指令指针寄存器EIP(2)段寄存器(3)通用寄存器(4)程序状态和控制寄存器2.3.4基本程序执行寄存器0151631015015163178ALBLCLDLAXBXCXDXAHBHCHDHEAXEBXECXEDXEIPCSDSSSESFSGSSPBPSIDIESPEBPESIEDIFLAGSEFLAGSEAX累加器寄存器:存放操作数和结果EBX基址寄存器:在DS段中的数据指针;存放操作数ECX计数寄存器:串和循环操作的计数器EDX数据寄存器:I/O指针1.通用寄存器基本寄存器:在程序执行时暂时保存中间结果;在进行算术运算和逻辑运算时,通用寄存器任何一个都可以作为源操作数或目的操作数。指针和变址寄存器ESI串操作的源指针EDI串操作的目标指针ESP堆栈指针EBP堆栈上数据指针通用寄存器的特殊用途和隐含性质

6个段寄存器,保存16位段基址:CS代码段SS堆栈段DS数据段ES附加段FS数据段FGS数据段G2.段寄存器和存储器分段指向数据段3、EFLAGS寄存器(1)状态标志位CF:进位标志位,当执行一个加法运算指令使最高位产生进位时,或者执行一个减法运算指令使最高位引起借位,则CF=1;否则CF=0。PF:奇偶标志位,若运算结果的低8位中所含1的个数为偶数,则PF=1;否则PF=0。AF:辅助进位标志位。当加法运算时,如果第三位往第四位有进位,或者当减法运算时,第三位从第四位有借位,则AF=1;否则AF=0。ZF:零标志位,当运算结果为0时,ZF=1;否则ZF=0。SF:符号标志位,当运算结果的最高位为1时,SF=1;OF:溢出标志位,在算术运算中,带符号数的运算结果超出了8位(+127~-128)或者16位(+32767~-32768)数据所能表达的范围时,则OF=1。IF:中断允许标志位。若IF=1,则CPU可以响应可屏蔽中断请求;AF和OF的区别O=CCS=0C=1(2)DF标志

DF:方向标志位,控制串操作指令的标志。若DF=0则执行串操作指令后,变址寄存器自动增量。(3)系统标志和IOPL字段

1、中断允许标志I2、追踪标志T3、IOPL特权级字段条件转移指令JE/JZJNE/JNZZFJSJNSSFJOJNOOFJPJNPPFJCXZ(CX=0转)JCJNCCF1、根据单个标志位的转移指令说明:指令中的字母N表示not,如果不带N说明标志为0转移,如果带N说明标志为1转移。4、指令指针8086CPU中的指令指针IP,它总是保存下一次将要从主存中取出指令的偏移地址,偏移地址的值为该指令到所在段段首址的字节距离。在目标程序运行时,IP的内容由微处理器硬件自动设置,程序不能直接访问IP,但一些指令却可改变IP的值,如转移指令、子程序调用指令(JMP、CALL、RET、IRET

)等。3.1基本数据类型80X86多字节数据的存放原则是低位字节在低端地址,高位字节在高端地址,而低位字节的地址是多字节数据的访问地址。3.1.2数字数据类型1、整数(1)无符号整数无符号数的最高位不是符号位而是数值的一部分(2)符号整数把二进制数的最高一位定义为符号位,符号位为0表示正数,符号位为1表示负数。所有操作都假定用2的补码表示。正数的补码与原码相同,负数补码则先对该数的原码除符号外各位取反,然后末位加1.符号整数编码3.2IA-32指令格式操作码:规定计算机所要执行的操作;操作数:指出在指令执行过程中所需要的数或操作数所在的地址。格式:指令语句:[标号:]助记符 [操作数] [;注释]伪指令语句:[名字]定义符 [操作数] [;注释]例:LOOP:ADDAX,0001H;AX内容加13.3寻址方式3.3.1立即寻址操作数所在的地址直接包含在指令中。指令的操作数部分就是操作数本身。

多媒体演示:3.3.2寄存器寻址寄存器中保存的是操作数的内容。多媒体演示:3.3.3存储器操作数寻址方式1规定段寄存器2规定偏移量任何内存实际地址(PA)都由两部分组成:PA=段基址+段内偏移地址(此单元与段基址的距离)段内的偏移地址又称为有效地址(EA):EA=基地址寄存器内容+索引×比例系数+位移量

有效地址元素16位寻址32位寻址基址寄存器BXBP任何32位通用寄存器(索引)变址寄存器SIDI除ESP外的任何32位通用寄存器比例系数无(或1)1,2,4,8位移量0,8,16位0,8,16,32位16位寻址和32位寻址四成员定义3.3.4I/O端口寻址寻址个数:65536(2)8位I/O端口(也可以定义16位或32位)用立即数寻址只能用8位立即数,可寻址I/O端口前256个;用DX寄存器寻址可寻址全部I/O端口。163.4 8086指令系统8086共133条指令,从功能上可分为以下类:1、数据传送指令2、算术运算指令3、逻辑运算指令4、串操作指令5、控制转移指令6、处理器控制指令指令中的约定表示符号(P71)指令系统学习方法概述英文还原法操作码助记符是该指令功能的英文缩写,将缩写还原成英语原文,再对照汉语有助于理解其助记符含义,从而加强记忆。例如:增量INC-Incremect减量DNC-Decrement交换XCHG-Exchange加法ADD-Addition乘法MUL-Multiplication除法DIV-Division

传送mov-move图示记忆法

图示记忆法是把操作功能相同或相似、但其操作数不同的指令,用图形和箭头将目的、源操作数的关系表示出来的一种记忆方法。规则:通常箭头指向为数据传送方向

指令学习注意事项

操作数类型寻址方式对标志寄存器影响

3.4 .1 数据传送指令1、通用数据传送指令2、累加器专用传送指令3、目标地址传送指令4、标志位传送指令特点:寻址方式最丰富,不影响标志位。(1)通用数据传送指令通用传送指令格式:MOVDEST,SRC功能:把源操作数SRC中的字节或字传送到目的操作数DEST中。MOV指令不影响标志位1、不能在两个存储单元之间传送。MOV[1000H],[2000H]2、立即数不能送段寄存器。

MOVDS,300H3、段寄存器之间不能传送。

MOVDS,ES4、CS不能做目的但可做源操作数。MOVCS,AXMOVAX,CS5、操作数类型要匹配,字对字,字节对字节传送MOVAX,BL6、MOV指令不影响标志寄存器的值。注意的问题:(2)堆栈操作指令

8086/8088的堆栈建栈

MOVAX,1050HMOVSS,AXMOVSP,000EH

进栈

PUSHAX(设AX=1234H)PUSHBX(设BX=5CF8H)1050FH10500H初始栈顶(栈底)SP=0EHSS=1050H堆栈起地址栈的范围SP=0EH12H34HSP=0CH5CHF8HSP=0AH10500H(不变)1050FHSS=1050H-2-2当前栈顶进栈后的SP和SS的值SP=000AHSS=1050H进栈前SP和SS的值SP=000EHSS=1050H(变化)(AX)(BX)8086通过赋值SS和SP建栈进栈操作:先SP减2,再内容进栈。高低出栈操作:先栈顶内容出栈,再修改SP,使SP加2。(字操作)出栈POPCXPOPDSSP=0EH12H34HSP=0CH5CHF8HSP=0AH10500H(不变)1050FHSS=1050H-2-

2当前栈顶出栈前的SP和SS的值SP=000AHSS=1050H(变化)

SP=0EH

CX=5CF8H

DS=1234H

SS=1050H出栈后SP和SS的值SP=000EHSS=1050H

SP=0AHSP=0CH+2+2F8H

5CH34H12H1050FH高低(3)交换指令

XCHGOPR1,OPR2功能:将两个操作数OPR1和OPR2(字节或字)互换。如:XCHGAL,CLXCHGSI,DIXCHGBX,[BP+DI]注意:段寄存器不能作为交换指令的操作数两个操作数中,必须有一个是寄存器操作数,而不允许两个都是存储器操作数交换指令不影响标志位G3.4 .1.2累加器专用传送指令1、输入输出指令2、换码指令输入输出指令只能通过累加器AL或AX来传送数据。输入输出指令的字或字节传送操作的选用,取决于外设端口的宽度。直接寻址的输入输出指令(端口用立即数表示),寻址外设的端口的范围为00---FFH;间接寻址的输入输出指令(端口用寄存器表示),寻址的范围为0000--FFFFH。输入输出指令不影响标志位。3、输入输出指令小结(2) 换码指令格式:XLAT功能:使累加器AL中的值变换为内存表格中的某个对应值。用途:常用来把一种代码转换为另一种代码。注意:该指令不影响标志位。P77例子3.4.1.3 地址目的传送指令

(1)有效地址传送指令LEA格式:LEAREG,SRC功能:把源操作数的有效地址EA送到目的操作数中。注意:源操作数必须是存储器操作数,而目的操作数必须是16位通用寄存器。不影响标志位例子:LEABX,[BX+DI+2000H]指令执行前:BX=4000H,DI=0100H指令执行后:BX=4000+0100+2000H=6100H

(2)有效地址传送指令LDS格式:LDSREG,SRC功能:从源操作数所指定的存储器单元中取出4个字节的变量地址指针,把前两个字节(变量的偏移地址)传送到目标操作数,后两个字节(变量的段基址)传送到DS段寄存器中。注意:变量的16位地址偏移量必须传送至一个16位的通用寄存器,典型为SI。。不影响标志位例子:LDSSI,[1000H]指令执行前:DS=6000H,(61000H)=0600H,(61002H)=2000H指令执行后:SI=0600H,DS=2000H

(3)有效地址传送指令LES格式:LESREG,SRC功能:从源操作数所指定的存储器单元中取出4个字节的变量地址指针,把前两个字节(变量的偏移地址)传送到目标操作数,后两个字节(变量的段基址)传送到ES段寄存器中。注意:变量的16位地址偏移量必须传送至一个16位的通用寄存器,典型为DI。。不影响标志位不要与LDS混淆。3.4 .1.4 标志位传送指令1、标志位送AH指令LAHF2、AH内容送标志寄存器指令SAHF3、标志位压入堆栈指令PUSHF4、标志位弹出到标志寄存器FR指令POPF

(1)标志位送AH指令LAHF格式:LAHF功能:将标志寄存器的低字节内容传送至AH寄存器中。即将标志位SF、ZF、AF、PF和CF传送至AH寄存器的相应位。不影响这些标志位。P78图3-16(2)AH内容送FR指令SAHF格式:SAHF功能:将AH寄存器中的相应位传送至标志寄存器的SF、ZF、AF、PF和CF位。不影响OF、DF、IF和TF等状态。

(3)标志位压入堆栈指令PUSHF格式:PUSHF功能:将整个标志寄存器FR的9个标志位推入堆栈保存,同时修改堆栈指针,即SP=SP-2。不影响标志位

(4)标志位弹出到FR指令POPF

格式:POPF功能:将现行堆栈栈顶的字数据送入标志寄存器FR,同时修改堆栈指针,即SP=SP+2。影响标志位。3.4 .2 算术运算指令1、加法指令2、减法指令3、乘法指令4、除法指令5、十进制调整指令除数据宽度变换指令外,算术运算指令影响标志寄存器EFLAGS中的状态标志位。3.4 .2.1 加法指令

(1)不带进位的加法指令格式:ADD DEST,SRC功能:将源操作数SRC与目的操作数DEST相加,并将结果送回到目的操作数。注意:目的操作数不能为立即数。不允许两个操作数均为存储器操作数。指令结果影响标志位C、O、P、S、Z和A。O位可用来表示带符号数的溢出;C位则可用来表示无符号数的溢出。例:ADDAL,66HADD[BX+6000H],AX

(2)带进位的加法指令格式:ADDCDEST,SRC功能:将源操作数SRC与目的操作数DEST和进位标志CF相加,并将结果送回到目的操作数。注意:目的操作数不能为立即数。不允许两个操作数均为存储器操作数。指令结果影响标志位C、O、P、S、Z和A。O位可用来表示带符号数的溢出;C位则可用来表示无符号数的溢出。例:ADDCAL,66HADDC[BX+6000H],AX(3) 加1指令格式:INCDEST功能:将目的操作数加1后送回目的操作数注意:目的操作数为无符号数段寄存器不能进行加1操作本指令影响标志位OF、PF、SF、ZF和AF,但不影响CF例:INCBLINCCXINCBYTEPTR[BX+SI]

(4)加法的ASCII码调整指令格式:AAA功能:将AL中的两个非组合的BCD相加的结果,调整为正确的非组合的BCD,并把调整后的结果放在AL中。调整方法:P82例:AX=06H,BX=07HADDAX,BX AAA AX=0103H

(5)BCD码的加法十进制调整指令格式:DAA功能:将AL中的两个组合的BCD表示的十进制数相加的结果,调整为正确的BCD码十进制数,并把调整后的结果放在AL中。调整方法:P823.4.2.2 减法指令

(1)不带借位的减法指令格式:SUBDEST,SRC功能:将目的操作数减去源操作数,并将结果送回目的操作数。注意点与ADD相同。例:SUBAL,55HSUBBX,4000HSUBWORDPTR[BX+15H],6800H

(2)带借位的减法指令格式:SBBDEST,SRC功能:将目的操作数减去源操作数和标志CF的现行值,并将结果送回目的操作数。注意点与ADDC相同。例:SBBAL,55HSBBBX,4000HSBBWORDPTR[BX+15H],6800H(3)减1指令格式:DECDEST功能:将目的操作数减去1后,并将结果送回目的操作数。注意点与INC相同。例:DECCLDECAXDECBYTEPTR[BX](4)求补指令格式:NEGDEST功能:将目的操作数求补(即用0减去目的操作数),并将结果送回目的操作数。注意:目的操作数可以是寄存器或存储器。在字节操作时,对-128(80H)求补,或在字操作时,对-32768求补,则目的操作数不变,但OF=1指令执行结果影响标志AF、OF、PF、SF、ZF和CF。仅当目的操作数为0时,CF=0;否则CF=1(5)比较指令比较指令格式:CMPDEST,SRC功能:将目的操作数减去源操作数,结果影响标志位,但不将结果送回目的操作数。1)判断相等:Z2)判断无符号数大小:C3)判断有符号数大小:OSBCD编码表十进制数BCD码十进制数BCD码000001000010000100011100010001200101200010010300111300010011401001400010100501011500010101601101600010110701111700010111810002000100000910012100100001

(6)减法的ASCII码调整指令格式:AAS功能:将AL中的两个非组合的BCD相减的结果,调整为正确的非组合的BCD,并把调整后的结果放在AL中。调整方法:P87注意:影响标志位AF、CF。

(7)BCD码的减法的十进制调整指令格式:DAS功能:将AL中的两个组合的BCD表示的十进制数相减的结果,调整为正确的BCD码十进制数,并把调整后的结果放在AL中。调整方法:P88注意:影响标志位AF、CF、PF、SF和ZF,而对OF无意义。3.4 .2.3 乘法指令(1)无符号的乘法指令格式:MULSRC功能:字节相乘:将AL的内容与指令的源操作数相乘,乘积在AX中;AH存放高字节,AL存放低字节;字相乘:将AX的内容与指令的源操作数相乘,乘积在DXAX中;DX存放高字,AX存放低字;注意:源操作数可以是寄存器或存储器操作数。格式:IMULSRC功能:字节相乘:将AL的内容与指令的源操作数相乘,乘积在AX中;AH存放高字节,AL存放低字节;字相乘:将AX的内容与指令的源操作数相乘,乘积在DXAX中;DX存放高字,AX存放低字;注意:源操作数可以是寄存器或存储器操作数。

(2)带符号的乘法指令

(3)乘法的ASCII码调整指令格式:AAM功能:将AL中的两个非组合的十进制相乘的积进行调整,在AX中得到正确的非组合的十进制数。调整方法:P89将AL的结果除以10,商放在AH中,余数放在AL中。注意:影响标志位PF、SF和ZF。3.4.2.4除法指令_DIV(1)无符号数的除法指令格式:DIVSRC功能:字节相除:AX—被除数,源操作数SRC为8位除数;结果:AL—8位商,AH—8位余数字相除:32位除数在DX和AX中,高位字在DX,低位字在AX中,16位SRC为除数;结果:字商AX中,字余数在DX中。格式:IDIVSRC功能:同DIVSRC注意:操作数必须为带符号数,商和余数为带符号数,且余数的符号和被除数符号相同。(2)带符号数的除法指令

(3)除法的ASCII码调整指令格式:AAD功能:将AX中的两个非组合的十进制进行调整,以使除法运算后,得到正确的非组合的十进制数商。调整方法:将AH的结果乘以10,再与AL相加,结果存于AL中,同时使AH=0。注意:影响标志位PF、SF和ZF。必须放在除法指令之前进行。例:P903.4 .3逻辑运算指令和移位指令

逻辑运算和移位指令除NOT外,都影响标志寄存器的状态标志位,且逻辑运算后进位标志CF一定为0。3.4.3.1单操作数运算

(1)逻辑非指令格式:NOTDEST功能:对目的操作数按位求反,且把结果关回目的操作数注意:不影响标志位。(2)非循环移位指令共性:如果只移1位,可直接用立即数表示;如果要移动若干位,则必须用CL寄存器预先指定所移的位数。移位指令根据移位结果影响标志位CF、OF、PF、SF和ZF。CF总是目的操作数最后被移出的那一位的值。CF000最低位最低位最低位最低位最高位最高位最高位最高位CFCFCFSALSHLSARSHR移位指令操作过程

算术右移指令格式:SARDEST,COUNT注意:符号位保持不变。用途:算术右移一位相当于除2,负数除2绝对值减小,其补码变大。(如:-4的补码为FCH,-2的补码为FEH)格式:SHRDEST,COUNT注意:最高位补0。用途:适用于无符号的乘2或除2运算。逻辑右移指令

(3)循环移位指令共性:可对8位或16位寄存器数或存储器操作数进行指定循环移位可以用立即数1指定只循环一次也可以由CL的值规定循环移位的次数。只影响标志位CF和OF。CF总是最后1次移入的值不带进位的循环左移不带进位的循环右移带进位的循环左移带进位的循环右移CFCFCFCFROLRORRCLRCR循环移位指令图示3.4.3.2双操作数运算逻辑与、或、异或和测试指令相同点:目的操作数不能为立即数。两个操作数不能同时为存储器操作数。格式:ANDDEST,SRC注意:影响标志位SF、ZF和PF。用途:可以使目的操作数的某些位被屏蔽(P96)。逻辑与指令

测试指令格式:TESTDEST,SRC功能:与AND指令基本相同,唯一的区别是结果不回送目的操作数,只根据结果影响标志位。注意:影响标志位SF、ZF和PF。用途:可用来在不改变操作数的情况下测试某一操作数某一位或某几位的状态(P96)。

逻辑或指令格式:ORDEST,SRC注意:影响标志位SF、ZF和PF。用途:(P97)可以使目的操作数的某些位置1。

逻辑异或指令格式:XORDEST,SRC注意:影响标志位SF、ZF和PF。用途:(P98)常用来对寄存器操作数清0。可用来使某些位变反,可用来测试某一操作数是否与另一操作数相等。3.4.4串操作指令五条基本串操作指令MOVSB/MOVSW;传送字节/字DS:SIES:DICMPSB/CMPSW;比较指令ES:DI与DS:SI比较(相减)SCASB/SCASW;扫描指令ES:DI与AL/AX比较LODSB/LODSW;装入(读)指令DS:SIAL/AXSTOSB/STOSW;存入(写)指令AL/AXES:DI

字串指令执行流程1、对DS、SI、ES、DI赋值(DS和ES可隐含)这类指令都是用SI对源操作数进行间接寻址并在DS段,用DI对目的操作数进行间接寻址并在ES段。2、将字串长度送CX(计数值)3、设置方向标志DF的值:若SI、DI是起址,使DF=0(CLD),地址加1或加2修改,若SI、DI是末地址,使DF=1(STD),地址减1或减2修改。4、加重复前缀时(P133,此时用作重复计数器的一定是(E)CX),指令执行的顺序是:(1)先判断CX=0?CX=0退出,CX=0,CX-1(2)执行字串指令(3)修改SI、DI的内容

(4)回到(1)5、注意:对串装入LODS、串存储STOS、串扫描SCAS指令,另一个隐含的操作数一定是AL/AXE/AX;3、过程调用和返回指令调用指令CALL目标地址(标号)返回指令RET××××××CALLA1RET返回地址过程入口A1….返回地址是CALL指令的下一条指令,CALL是三字节指令可段内直接、间接段间直接、间接。

LOOPOPRD:CX=0循环

1、目的地址范围-128~+1272、先将循环次数送CX中3、指令执行时,先将CX减1,直到CX=0循环结束。ZF不受CX影响。

4、循环控制指令P105JMPP107INTn

汇编语言的层次模块结构分段结构stack

SEGMENTstackDB100DUP(?)stackENDSdataSEGMENT

szhelloDB'Helloworld',0dh,0ah,'$'dataENDScodeSEGMENTASSUMECS:code,DS:data,SS:stackstart:MOVAX,dataMOVDS,AXMOVAH,9MOVDX,OFFSETszhelloINT21hMOVAH,4chINT21hcodeENDSENDstartDATASEGMENT…...DATAENDSSTACKSEGMENTSTACK…...STACKENDSCODESEGMENTASSUMEDS:DATA,SS:STACK,CS:CODESTART:……

CODEENDSENDSTART实模式汇编源程序结构——完整的段定义实模式汇编语言源程序的结构特点由若干逻辑段组成,各逻辑段由伪指令语句定义和说明;整个源程序以END伪指令结束;每个逻辑段由语句序列组成,各语句可以是指令语句、伪指令语句、宏指令语句、注释语句和空行语句;5.1处理器总线引脚的记忆方法对引脚按数据、地址、控制三大功能归类;按引脚英文名称记忆引脚功能;在不同组态的应用中记忆;8086引脚

(1)地址/数据总线AD15~AD0(双向、三态)(2)地址/状态线A19/S6~A1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论