微机原理与接口技术重点知识归纳

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1设内存中有三个互不相等的有符号字数据,分别存放在X、Y、Z字单元中,编程将其中最小值存入MIN单元。DSEGSEGMENTXDW4321HYDW7658HZDW9B00HMINDW?DSEGENDSSSEGSEGMENTSTACKSTKDB100DUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEG,SS:SSEGSTART:MOVAX,DSEGMOVDS,AXMOVAX,XCMPAX,YJLNEXTMOVAX,YNEXT:CMPAX,ZJLDONEMOVAX,ZDONE:MOVMIN,AXMOVAH,4CHINT21HCSEGENDSENDSTART2设内存单元DATA存放一字节无符号数,编程将其拆成二个一位十六进制数,HEX单元存放低位十六进制数,HEX+1单元存放高位十六进制数。DSEGSEGMENTDATADB8AHHEXDB0,0DSEGENDSSSEGSEGMENTSTACKSTKDB100DUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEG,SS:SSEGSTART:MOVAX,DSEGMOVDS,AXMOVAL,DATA;无符号数送ALMOVAH,AL;保存副本到AHANDAL,0FH;屏蔽高四位MOVHEX,AL;保存低四位ANDAH,0F0H;屏蔽低四位MOVCL,4SHRAH,CL;右移四位MOVHEX+1,AH;保存高四位MOVAH,4CHINT21H;返回操作系统CSEGENDSENDSTART3两数求和的程序段DSEGSEGMENT‘DATA’;定义数据段DATA1DB15H;被加数SUMDB00H;和DSEGENDS;数据段结束CSEGSEGMENT‘CODE’;定义代码段ASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AX;装入数据段DS初值MOVAL,DATA1;被加数送ALADDAL,12H;(AL)+12H→ALMOVSUM,AL;和送SUMHLT;暂停指令CSEGENDS;代码段结束ENDSTART;源程序结束DMA的工作过程当外设准备好,可以进行DMA传送时,外设向DMA控制器发出DMA传送请求信号(DRQ)。DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD,表示希望占用总线。CPU在完成当前总线周期后会立即对HOLD信号进行响应。响应包括两个方面:一是CPU将数据总线、地址总线和相应的控制信号线均置为高阻态,由此放弃对总线的控制权;另一方面,CPU向DMA控制器发出“总线响应”信号(HLDA)。DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK。DMA控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送。数据传送完成后,DMA控制器撤销对CPU的请求信号,CPU撤销保持响应信号并恢复对总线的控制。中断响应响应中断请求的3个条件:(1)一条指令执行结束。(2)CPU处于开中断状态。(3)没有总线请求。在复位(RESET)、总线保持(HOLD)等总线请求时,CPU不工作,当然就不能响应中断。中断响应时,CPU除了要向中断源发出中断响应信号外,还要自动完成下述3项工作:(1)关闭中断。CPU响应中断时,需立即关中断(使IF=0),以保证保护现场、断点和获取中断入口地址等工作不受影响。(2)保护现场和断点。将标志寄存器FR(PSW)、断点的段基址(CS值)和偏移地址(IP值)压入堆栈,以保证中断结束后能正常返回被中断的程序。(3)获得中断服务程序入口,转入中断服务程序。中断处理过程保护现场。保护现场是指把中断服务程序中要用到的寄存器的原内容压入堆栈保存起来。开中断。CPU响应中断时会自动关闭中断(使IF=0)。若进入中断服务程序后允许中断嵌套,则需用指令开中断(使IF=1)。执行中断处理程序。完成具体的中断处理。关中断。确保有效地恢复被中断程序的现场。恢复现场。就是把先前保护的现场进行恢复,也即把所保存的有关寄存器内容按入栈的相反顺序从堆栈中弹出,使这些寄存器恢复到中断前的状态。开中断返回。其操作正好是CPU硬件在中断响应时自动保护硬件现场和断点的逆过程,即CPU会自动地将堆栈内保存的断点信息和标志信息弹出到IP、CS和FR中,保证被中断的程序从断点处继续往下执行。微型计算机的工作过程包括的基本步骤有:(1)将第一条指令由内存中取出(即取指令);(2)将取出的指令送指令译码器译码,以确定要进行的操作;(3)读取操作数(或操作对象);(4)对操作数进行指令规定的操作,并存放结果(即执行指令);(5)一条指令执行完后,转入下一条指令的取指令阶段。如此周而复始地循环,直到程序中的指令执行完。段寄存器所有寄存器都是16位的,因此,能够提供的最大地址空间只能为64KB。为了寻址1MB,将存储器的空间分成若干段,每段最大为64KB。段寄存器:用来存放段的起始地址(16位)的寄存器,设有四个段寄存器:CS代码段寄存器(CodeSegmentregister)DS数据段寄存器(DataSegmentregister)SS堆栈段寄存器(StackSegmentregister)ES附加数据段寄存器(ExtraSegmentregister)段寄存器的使用四个段寄存器分别指明四个现行可寻址的逻辑段:(1)代码段(CodeSegment):用来存放当前正在运行的程序。系统在取指令时将寻址代码段,其段基址和偏移地址分别由段寄存器CS和指令指针IP给出。(2)数据段(DataSegment):存放当前运行程序所用的数据。用户在寻址该段内的数据时,可以缺省段的说明,其偏移地址可通过多种寻址方式形成。(3)堆栈段(StackSegment):堆栈为保护、调度数据提供了重要的手段。系统在执行栈操作指令时将寻址堆栈段,段基址和偏移地址分别由段寄存器SS和堆栈指针SP提供。(4)附加数据段(ExtraSegment):该段是一个辅助的数据区,也用于数据的保存。用户在访问段内的数据时,其偏移地址同样可以通过多种寻址方式来形成,但在偏移地址前要加上段的说明(即段跨越前缀ES)。16位/32位微处理器指令系统指令:要求计算机执行各种特定操作的命令。指令系统:微机能够识别和执行的全部指令集合。不同的微处理器所对应的指令系统也不相同。指令的构成包括两部分:操作码:表示操作性质或类型编码操作数:操作对象。8086/8088的指令格式基本格式:[标号:]操作码助记符目的操作数,源操作数[;注释]标号:为该条指令所在内存单元的符号地址,后面要跟冒号。标号一般由字母开头,后跟字母、数字或特殊字符,不允许使用保留字。操作码助记符:指示CPU执行什么样的操作。操作数:分目的操作数和源操作数两种。目的操作数是指令结果存放的位置,源操作数是指令操作的对象。注释:说明本条指令或一段程序的功能,使程序可读性强。汇编程序对其不进行处理。8086/8088的寻址方式立即寻址寄存器寻址直接寻址寄存器间接寻址基址寻址和变址寻址基址变址寻址固定寻址基址寻址和变址寻址有效地址是寄存器内容与有符号8位或16位位移量之和,寄存器可以是BX、BP或SI、DI。有效地址=BX/BP/SI/DI+8/16位位移量如果寄存器为BX或BP,则为基址寻址如果寄存器为SI或DI,则为变址寻址段基址对应BX/SI/DI寄存器默认是DS,对应BP寄存器默认是SS;可用段前缀改变。固定寻址又叫隐含寻址。指令码中不包含指明操作数地址的部分,而其操码本身隐含地指明了操作数地址。如:十进制调整指令DAA,该指令的功能是对AL寄存器中的内容进行十进制调整,调整后的内容仍存放到AL中。隐含寻址的指令,不需要计算EA,执行速度快,而且大多为单字节指令。汇编语言的语句分类1指令语句:是指在汇编时产生目标代码对应着机器某种操作的语句,每条指令语句都对应着CPU的一条机器指令。2伪指令语句:伪指令语句不产生任何目标代码,它是一种指示性语句,只是指示汇编程序如何进行汇编,只有在汇编和连接时才起作用。3宏指令语句:宏指令语句是以宏名定义的一段指令序列,是一般性指令语句的扩展。在汇编时,凡是出现宏指令语句的地方全部用其对应指令序列的目标代码代替。标号和名称标号和名称代表该语句的存储器地址。标号后面要紧跟一个冒号“:”。标号在一些指令中充当操作数,用来表示转移地址。名称可以是变量名、段名、过程名等。汇编语言中标识符的命名规则为:①标识符的第一个字符必须是字母、问号?、@或下划线四者之一;②从第二个字符开始可以是字母、问号?、@、下划线或数字;③标识符不能是保留字(例如MOV、STACK)。在给标识符命名时,应使标识符命名与它代表的内容相符标号有三种属性:段属性:定义标号的程序段的段基址,当程序中引用一个标号时,该标号的段地址应在CS寄存器中。偏移量属性:标号所在段的起始地址与定义标号的地址之间的字节数。标号的类型属性:NEAR和FAR。NEAR标号可以在段内被引用,它所代表的地址指针为两个字节;FAR标号可以跨段引用,它所代表的地址指针为四个字节。存储器容量的扩展存储器的扩展:存储芯片的容量是有限的,实际系统需要更大存储容量时,就必须采用多片现有的存储器芯片构成较大容量的存储器模块。扩展存储器的方法有:1.位扩展:(1)芯片的地址线全部并联,并与CPU地址总线中相应的地址线相连。(2)芯片的数据线分别与CPU数据总线的相应位连接。(3)芯片的读/写控制信号线并联,接CPU控制总线中的读/写控制线;芯片的片选信号并联,可接CPU控制总线中的存储器选择信号,也可接地址线高位或地址译码器输出端。2.字扩展:当存储芯片的存储字长(存储单元的位数)满足需要,而存储字的数量不满足需要时,就需要增加存储字的数量,即进行字扩展。字扩展时,各存储芯片的信号线的连接方法如下:芯片的地址线全部并联,并与CPU地址总线中相应的地址线相连。芯片的数据线全部并联,并与CPU数据总线中相应的数据线连接。芯片的读/写控制信号线并联,接CPU控制总线中的读/写控制线;芯片的片选信号分别接地址线高位或地址译码器输出端。实现片选控制的方法有三种:线选法部分译码法全译码法什么是高速缓冲存储器,在微机系统中使用它的作用是什么?答:简称高速缓存,或cache。只位于cpu和主存DRAMh之间,容量较少但速度很快(即高速小容量)的存储器。通常由高速的sram构成。高速缓冲存储器(Cache)实际上是为了把由DRAM组成的大容量内存储器都看做是高速存储器而设置的小容量局部存储器,一般由高速SRAM构成。这种局部存储器是面向CPU的,引入它是为减小或消除CPU与内存之间的速度差异对系统性能带来的影响。Cache通常保存着一份内存储器中部分内容的副本(拷贝),该内容副本是最近曾被CPU使用过的数据和程序代码。Cache的有效性是利用了程序对存储器的访问在时间上和空间上所具有的局部区域性,即对大多数程序来说,在某个时间片内会集中重复地访问某一个特定的区域。如PUSH/POP指令的操作都是在栈顶顺序执行,变量会重复使用,以及子程序会反复调用等,就是这种局部区域性的实际例证。因此,如果针对某个特定的时间片,用连接在局部总线上的Cache代替低速大容量的内存储器,作为CPU集中重复访问的区域,系统的性能就会明显提高。

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功