微机原理总结

微机原理总结
微机原理总结

第一章:

1:1.2中讲的“计算机中的数制”,微机原理老师上课没有讲,不过她说过我们在数电课就上过,结合上学期所学的,我们应该了解二进制、十进制、十六进制、八进制之间的转换,不过估计程度不大,如果考试要考查相关的知识点的话,应该只会出填空或选择或判断题之类。

2:1.2.2中讲得计算机中常用的编码,这个当中的BCD码,鉴于第二章中的一些指令(例如AAA)的实现和这个有关系,建议关注一下,掌握如何写出某一十进制数对应的BCD码。至于BCD码的加法与减法,了解一下。对于字符编码,由于在计算机编程当中用的较多的编码就是属于字符编码的ASCII码,这里只需了解一下即可。汉字的编码同样了解即可。

3:1.2.3当中讲到的是计算机中带符号数的表示方法。其中要知道对于有符号数,其最高位,也就是我们一般用8位二进制表示的数中最左边的那一位用来表示正负而不是大小。在这里必须强调一点,那就是要掌握计算机机器数的三种不同编码形式(原码,反码,补码),其中,对于正数来说,这三种编码的结果是一样的,具体来说就是:比如整数12,其原码是:00001100,反码也是00001100,补码也是00001100;但对于负数来说,就不一样了,我们在后面的课程当中遇到的负数都是以其补码的形式出现的,例如第二次补充作业当中过的数8FH,这个数把它转换为二进制,就是:10001111,对于这个数来说,如果它表示的是一个有符号数,那么一定是负数(也就是说,

如果一个数已经确定是有符号数,只要它的最高位(用十六进制表示的话)大于等于8,就表示它是一个负数。))因为对于一个负数来说,从原码到补码的转换过程中,最高位也就是符号位是绝对不会发生改变的,具体的转化方法请仔细阅读书本的P10与P11。(在这里我先具体解释一下,根据原理,对于一个负数,把它的补码再求一次补码即得到其原码,我们来试一下:1000 1111先求它的反码,得1111 0000,然后加上1,得1111 0001,也就是十进制数-71。)

4:关于数的小数点表示法这一小节内容,老师压根就没提过,所以老规矩,了解一下看一下就可以了。

5:1.3节中,有一些基本概念,老师上课时说过会考一些填空题或者是判断题,我列举一些我有些许印象的知识点吧,其它的你也可以自己看看别人上课做的笔记,看有木有漏掉的!:

微型计算机的组成:硬件和软件

硬件:主机、输入输出设备、电源三部分。

一般的微机由微处理器、总线、存储器、输入/输出设备以及各种接口模块等组成。

一个微处理器主要包括运算器、控制器和寄存器组。

运算器又称逻辑运算单元(ALU)(运算器的英文一定要记住啊,说不定填空就考啊!)。

控制器主要是由程序计数器PC、指令寄存器IR、指令译码器ID和控制逻辑PLA等部件组成。(同上,英文不要忘记哈!)

系统总线有三个,分别是地址总线(AB),数据总线(DB),控制总

线(CB),其中,有一点是尤为要记住的,就是:微处理器数据总线的条数决定CPU和存储器或I/O设备一次能交换数据的位数,是区分微处理器是多少位的依据。比如我们说的64位CPU,就是意味着这个CPU的数据总线是64位。

软件:一般可分为系统软件和用户软件。

6:1.4节中微型计算机的工作过程,怎么说呢,老师上课是讲了很久,但个人觉得这一知识点应该不会成为考试重点,推荐你还是了解一下吧。

接下来的重点就是第二、三章了,我会把那些重要的指令的具体用法用举例子的方法来详细说明:

1:首先,我们得稍微了解一下8086/8088的内部结构,首先我们得知道,它是由两个独立的处理部件组成的:执行部件EU和接口部件BIU(老规矩别忘了英文啊!!!)

其中你要记住,通用寄存器组(就是那些我们用到除了段寄存器以外的寄存器)和程序状态寄存器FR是位于EU里面的,而段寄存器则是位于BIU里面的,为了加深理解,我这样说:那些段寄存器是用来寻址的,而寻址是从存储器那里寻的,那里也可以说是接口,这也就对应了BIU中的I(接口)。其他的寄存器是用来计算之类的,对应的就是EU中的E(执行)了。

2:指针寄存器SP和BP,你需要记住它们分别是和哪个段寄存器连用的。变址寄存器DI和SI,记住他们一般用于寻址中。

3:关于程序状态寄存器FR,你要知道:状态标志位有CF、ZF、SF、PF、OF、AF,而控制标志位有DF、IF、TF,其中,在第三章中出现频率较多的有CF,Zf,SF,PF,OF,你看看。

4:至于第二章后面将的具体工作电路之类的,你看一下,了解了解即可。

5:还有一点,一些段寄存器的常见搭配,如下:

CS:IP;DS:(SI、BX、DI);SS:SP;ES:(SI,BX,DI)

第三章:

1:寻址方式,这个必须要掌握:

先说最常见的三种,分别是立即数寻址、寄存器寻址、存储器寻址(端口地址在讲IN与OUT指令时会单独讲解)下面给出具体解释。

立即数寻址:由字面可以看出,它是用一具体的数字,一般是8位或16位,也就是2位十六进制数与4位十六进制数来表示要操作的地址,例如:MOV AX,5678H(表示从地址为5678H的内存单元中取出值来给AX,具体MOV指令的用法稍后会讲到)

又例如:MOV AX,56H(表示从地址为56H的内存单元中取出值来给AX)

关于立即数寻址的一些注意事项:立即数只能作为源操作数,决不能做目的操作数(源操作数,一般来说,就是指令中逗号右边的那个,目的操作数就是逗号左边的那个)

寄存器寻址:在这种寻址方式中,具体存放值的地址我们是不知道的

(好几本教材都没透露那些寄存器的地址),值是存放在寄存器中的,我们在使用时直接用寄存器的名字代表即可,例如:

MOV AX,BX(意思就是说把存放在BX中的值传送给AX)

除了AX,BX,CX,DX等这些寄存器值外,别忘了还有那些诸如DI、SI之类的寄存器以及AL、BL这些8位寄存器,它们也算是寄存器寻址,例如:MOV AX,DI(意思就是说把存放在DI中的值传送给AX)存储器寻址:这也是所有三种寻址方式中最难,最麻烦的一种,它有好多分类:

直接寻址:与立即数寻址很类似,都很直接。不过直接寻址最大的不同的方面在于,它给出的是偏移地址,具体的物理地址必须自己去算出来,而立即数寻址则是直接给出具体的物理地址。例如:

MOV AX,[2000H](意思就是说,从偏移地址为2000H,段地址为DS 的内存单元中拿出存储的值传给AX)

注:如果直接是这种格式:[某一具体的数],则默认是在数据段DS中寄存器间接寻址:看上去也与寄存器寻址很类似,其实还是有很大的区别的。寄存器间接寻址是指:在某一寄存器中存放的是一偏移地址,例如:MOV BX,2000H

MOV AX,[BX](把两行的指令连接在一起就知道,最终执行后把偏移地址为2000H,段地址为DS的内存单元中的值传给AX)寄存器相对寻址:还记得上一章中的那四个寄存器BX,SI,DI,BP 它们就是干这个活的,他们中的某一个与一具体的数加在一起共同表示偏移地址,但要注意一些默认的搭配,如下:

对于BX、SI、DI寄存器来说,段寄存器如果没有具体给出,则默认是数据段(DS)寄存器;对于BP寄存器来说,默认是堆栈段(SS)寄存器。如果前面给出了具体的段,例如:(ES:[12H+BP],那这里的段地址只能是ES了,这就是段超越)

基址加变址寻址:这里的偏移地址是由两个寄存器——一个基址寄存器(BX和BP)和一个变址寄存器(SI和DI)的和构成。

例如:MOVAX,[BX][SI]

注意事项:决不允许把两个基址寄存器或两个变址寄存器合在一起,例如不允许:MOV AX,[BX][BP]

相对基址加变址寻址:就是在基址加变址寻址的基础上多了一个具体的数,它有很多等同的写法,举几个例子:

MOVAX,20H[SI][BX]

MOVAX[20H+SI+BX]

还有一个隐藏寻址,了解一下就可以,具体的等学到相关指令时在详解。

(终于要开始讲解指令了,先列出暂时要详解的指令:MOV,XCHG,(PUSH,POP),(IN,OUT),(LEA,LDS,LES),(LAHF,SAHF,POPF),(ADD,ADC,INC),(SUB,SBB,DEC),(MUL,IMUL),(DIV,IDIV),(AAA,AAS,DAA,DAS ,AAM,AAD),(CBW,CWD),(AND,OR,XOR,TEST,NOT),(SHL/SAL,SHR/SAR),XLAT

(一个要注意的,如果表示的数的首位是字母的话,也就是从A

到F,必须在前面加上一个0,例如:MOV AL,0F2H或者是MOV AX,0FFFFH)

(一些简单或不经常使用的指令我就一点而过,具体的你就自己在书上看,主要是那些使用频率很高的那些指令)

MOV指令:

格式:(寄存器——寄存器),(寄存器——内存单元),(内存单元,寄存器)。决不允许两个操作数同时为内存单元。

一些注意事项:

●源操作数和目的操作数类型必须匹配,不能类型不一致,例如:

MOV AX,BL(AX为16为数,BL为8位数,不允许)

●段寄存器不能被直接通过MOV指令赋值,必须通过其他的寄存器

间接赋值,例如,不允许这样:MOV DS,0而只能先MOV AX,0 然后再MOV DS,AX

●代码段寄存器CS和指令寄存器IP不能作为目的操作数,但CS可

以作为源操作数。

●MOV指令对程序状态寄存器FR没有任何影响

●段寄存器之间不能相互赋值,例如,不允许:MOV DS,ES

关于诸如此类格式,例如:MOV AX,[1000H]和MOV AL,[1000H],前者是传递连续的两个内存单元的值赋给AX,且高地址内存(此处是[1001H])的值传给AH(即AX的高8位),低地址内存(此处是[1000H])赋给AL(即AX的低8位),此时寄存器的位数告诉了我们到底传递的是字单元还是字节单元。如果没有寄存器来给

出。

还有关于类型说明符,例如:

MOV PTR WORD:字型

MOV BYTE WORD:字节型

XCHG指令:

格式:(寄存器,存储器)、(存储器,寄存器)、(寄存器,寄存器),千万不能是(存储器,存储器)

注意事项:段寄存器(CS,SS,ES,DS)不能参与交换

接下来又是一个重点,那就是堆栈操作系列的指令,首先必须要掌握堆栈这一特殊存储方式的基本特点,即先进后出或后进先出,还有一个,那就是无论是POP指令,还是PUSH指令,它们都得操作数必须是16位(一个字),另外,它们对程序状态寄存器FR均没有任何影响。

PUSH指令

格式:指令后只跟一个操作数,可以是16位寄存器,或者是[具体的数字或是寄存器]这样的内存单元(此时涉及到的是相邻的两个内存单元,其中[]里面的最终表示的物理地址是低地址,例如:PUSH[2000H]表示的就是把内存单元[2001H]、[2000H]先后放入堆栈中;

PUSH AH 表示的就是分别把AH(AX中的高8位)、AL(AX

中的低8位)放入堆栈中

关于堆栈的具体过程:在执行PUSH指令之前,要设置好堆栈段与SP指针,例如,我们要把段地址2000H设为堆栈段,21H设为栈底编码如下:

MOV AX,2000H

MOV SS,AX

MOV SP,21H

在执行PUSH指令时,先把SP指针的值减2,然后再把操作数压入栈中,例如,紧跟上面的编码,是: PUSH AX,则首先SP指向1FH,AH被压入SS:[20H],AL被压入SS:[1FH](注意这也就是为什么一般都把SP指针设置为一个奇数值,因为PUSH指令是每次操作一个字单元(就是两个字节单元),设为奇数的话可以正好到栈顶,即在堆栈段中偏移地址为0H的那一地址去,如果一开始把SP设为奇数的话,就不行了,会堆栈溢出,这一点是很危险的)POP指令:

与PUSH指令格式相同,但用途却是相反,其实,堆栈段就是一段暂时的数据保存段,等当下的工作搞定的时候,就可以从堆栈段中恢复原先的数据,POP的具体用法,我们紧跟PUSH中的编码,加上:

POP AX在执行POP指令前,SP指针指向的是1FH,则把SS:[SP+1],即SS:[20F]的值给AH,紧接着把SS:[SP],即SS:[1F]中的值给AL,最后,再让SP加2。上面的执行结果实际上把原先

AX的值恢复给了AX(这只是个例子,因为AX的值压根就没变化)一些注意事项:码段寄存器CS的值可以压入栈中,但绝不能从堆栈段中取出值来CS,即:可以这样PUSH CS 但不能这样POP CS

XLAT指令

比较简单的指令,你就记住它的实际作用,就是把偏移地址为(BX +AL)的内存单元的值赋给AL

IN指令:

格式:(INAX,某一八位具体数的地址,例如:

INAX,22H,注意这里没有中括号[],表示的就是从地址为22H与地址为23H的端口中取值分别给AL,AHINAL,某一八位具体数的地址,例如:

INAL,22H表示的就是从地址为22H的端口中取值给AL

INAX,DX,表示的就是从一16位地址的端口中取出值给AX,例如,如果DX先前为2222H,则表示的就是分别从地址为2222H与地址为2223H的端口中取值分别给AL,AH IN AL,DX 表示的就是从一16位地址的端口中取出值给AL,例如,如果DX先前为2222H,则表示的就是从地址为2222H 的端口中取值给AL)

总结:必须注意,在端口指令中,设计到寄存器的,必须是AL

或者是AX,其它的寄存器,包括是AH都不行的。

另外,如果端口是8位地址的,可以直接寻址,如果是16位地址的,必须要用DX寄存器(不能使用其它寄存器)存储地址后,再把DX放入指令。

OUT指令:

格式是把IN指令的源操作数和目的操作数颠倒过来就行了,用法与注意事项都与IN指令相同,这里就不讲了。

LEA指令:

格式:(寄存器,存储器),注意源操作数必须是存储器操作数

例如:LEA AX,[2000H],就是把2000H,也就是源操作数的偏移地址传给了AX

LDS指令:

格式同LEA指令是一样的,具体的用法请参考书本103面,这里只说些注意事项:它是把内存单元中的高地址字单元的值传给DS 作为段地址,把内存单元中的低地址单元的值传给指令中的寄存器作为偏移地址,例如:LDS DI,[2200H],假设执行指令前的段地址为3000H,则执行指令后就把字单元(32202H)的值,也就是分别把字节单元(32202H)、字节单元(32203H)存储的值传给DS,其中(32203H)的值作为DS中的高8位,而(32202H)的值作

为DS中的低8位。然后把字单元(32200H)的值传给操作数中的寄存器,其中(32201H)的值作为寄存器中的高8位的值,(32200H)的值作为寄存器中的低8位的值。

LES指令:

该指令与LDS指令几乎一模一样,唯一不同的在于它是把段地址传给ES段寄存器

四个标志位传送指令(在书本上的104面,老师讲得比较少,稍微看下吧,了解即可)

接下来又是重点的指令——运算指令

(关于运算指令的特别声明:任何的段寄存器都不能参与运算指令中,也就是说加减乘除四类运算指令中的操作数不能出现段寄存器)

ADD指令:

格式:(寄存器,存储器)、(存储器,寄存器)、(寄存器,寄存器),千万不能是(存储器,存储器),源操作数也可以是立即数

注意事项:两个操作数的位数必须一致。

插入的一点:在老师布置的作业中,经常可以看到当执行完一些指令后让同志们判断标志寄存器中某些位的变化情况,下面要对某些出现频率较高的标志位做出详细说明:

CF(进位标志位):当做加法时最高位出现进位,如让FFH与11H 相加,则毫无疑问最高位会出现进位,则此时CF=1;;当做减法时最高位出现借位,如让10H-22H时就会这样,此时CF=1。除了加法指令和减法指令之外,位移和循环指令也会影响进位标志,关于这两点,等碰到上述两个指令时再说。

PF(奇偶标志位):当结果的低8位中1的个数为偶数时,例如对于这样一个结果:F0H(1111 0000),则在这个数1的个数是4个,是偶数,则执行完相关的算术运算后PF=1。

ZF(零标志位):这个是最简单了,当运算后的结果为0时,ZF=1,否则ZF=0。

SF(符号标志位):这个要看运算后的结果,如果结果(此时把结果看作有符号数)为负数(即最高位为1,例如

10001111),则SF=1;如果结果为正数(即最高位为0,例如01111010),则SF=0;

AF(辅助加标志位):在做加法时,当位3需向位4进位时(例如11111111+11110100)或在做减法时,位3需向位4做借位(例如

11111011-11110100)时,AF=1,否则为0。AF多用于BCD调整指令,等碰到那些指令再细说。

再回到加法指令中来,接下来讲得是ADC指令:

格式:与ADD相同,只不过在结果中还要加入CF的值。

一般这个指令用于实现多字节加法运算。例如,实现32位的加法:

MOV AX,5678H

ADD AX,0BCDEH

MOV DX,1234H

ADC DX,789AH

第二行是让5678H与0BCDEH先加起来,如果有进位的话,就会让CF=1;然后第四行就是让1234H和789AH相加,并且还加上刚才出现的进位,也就是说最终实现的是12345678H与BCDE789A 的加法运算,并且把结果的高16位放在了DX中,低16位放在了AX中(之所以要这样做是因为8086CPU中最多的只有16为数据,是不能直接实现32位的加法运算的)

INC指令:

比较简单,就是让操作数的值自加1

SUB指令、SBB指令、DEC指令同对应的加法相关指令用法相同,可联系在一起记忆。

CMP指令:

与SUB指令只有一个不同点,那就是结果不会送回目的操作数。

MUL指令:

格式:只有一个操作数。不过另一个操作数必须是寄存器操作数

或是存储器操作数(不能是MUL 某一具体值)

首先看乘数是16位数还是8位数

乘数是8位数:首先要把一个操作数放在AL中(用MOV语句实现),然后在MUL另一个8位的操作数,结果是16位数,存储在AX中,其中AH存放高8位的结果,AL存放低8位的结果。

如果乘数是16位数:首先得把一个操作数放在AX中,然后在MUL 另一个16位的操作数,结果是32位数,其中高16位存储在DX中,低16为存储在AX中

例如:MUL BYTE PTR[2222H](表示是两个8位数相乘(一个是AL中的值,另一个乘数是偏移地址为2222H的内存单元中存储的值,结果存放在AX中)

MUL WORD PTR[2222H](表示是两个16位数相乘(一个是AX 的值,另一个乘数是偏移地址为2222H的内存字单元中存储的值,结果的高16位存储在DX中,低16位存储在AX中)

MUL指令对标志位CF和OF有影响,但SF、AF、ZF和PF不确定

IMUL指令:

与MUL指令相同,只不过用于的是有符号数的运算,其中有一点要注意:

如乘积的高半部分(在AH或DX)中不是00或是0000,而是具体的数,则CF和OF置1,否则两个都置0,例如:

MOV AL,23H

MOV BL,01H

MUL BL(存放在AX中的值为0023H,则CF与OF均置0) DIV指令:

DIV指令对标致寄存器的影响情况不确定,一般不会考查

格式:与MUL指令一样也是只有一个操作数,不过另一个操作数必须是寄存器操作数或是存储器操作数(不能是DIV 某一具体值)如果是被除数是16位,除数是8位,则被除数必须在AX中(还是通过MOV语句实现),做完运算后,商放在AL中,余数放在AH中,例如:

MOV AX,5678H

MOV,BL,28H

DIV BL

如果是被除数是32位数,除数是16位,则被除数必须在DX与AX中存储(其中DX中存储的是高16位,AX中存储的是低16位),做完运算后,商在AX中,余数在DX中

(如果被除数与除数是相同的位数呢?DIV指令不允许被除数与除数位数相同,如果真的要做位数相同的除法,得用拓展指令拓展,例如要67H/33H,则要把67H拓展为0067H才能再用DIV指令,关于拓展指令稍后再将)

IDIV指令:

基本上与DIV指令相同,不过有一点要注意:余数的符号和被除数的符号相同

微机原理学习心得

微机原理学习心得 本学期的微机原理课程即将要结束,以下是关于微机这门课程的心得体会: 初学《微机原理》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。“麻雀虽小,五脏俱全”可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理》课程有许多的新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的有很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很接近,为了更好的掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部

分,它与微型计算机、微型计算机系统是完全不同的概念。 在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要。在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。比如,最近闹得沸沸扬扬的珊瑚虫一案,其软件制作的核心人物就是使用汇编语言来创造闻名遐迩的QQ查IP软件-----珊瑚虫,并成立了有名的珊瑚虫工作室,其威力可见一斑。 然而,事物就是有两面性,有优点自然缺点也不少。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较复杂的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单的基础开始的。那么学习高级语言也当然应当从汇编开始。学习汇编语言实际上是培养了学习计算机语言的能力和素养。个人认为,学习汇编语言对学习其他语言很有促进作用。 汇编语言在本学期微机学习中有核心地位。本学期微机原理课程内容繁多,我认为在学习中要考虑到“学以致用”,不能过分强调课程的系统性和基本理论的完整性,而应该侧重于基本方法和应用实例。从微机应用系统的应用环境和特点来看,微机系统如何与千变万化的外部设备、外部世界相连,如何与它们交换信息,是微机系统应用中的关键所在,培养一定的微机应用系统的分析能力和初步设计能

微机原理期末复习总结

一、基本知识 1、微机的三总线是什么? 答:它们是地址总线、数据总线、控制总线。 2、8086 CPU启动时对RESET要求?8086/8088 CPU复位时有何操作? 答:复位信号维高电平有效。8086/8088 要求复位信号至少维持 4 个时钟周期的高电平才有效。复位信号来到后,CPU 便结束当前操作,并对处理器标志寄存器,IP,DS,SS,ES 及指令队列清零,而将cs 设置为FFFFH, 当复位信号变成地电平时,CPU 从FFFF0H 开始执行程序 3、中断向量是是什么?堆栈指针的作用是是什么?什么是堆栈? 答:中断向量是中断处理子程序的入口地址,每个中断类型对应一个中断向量。堆栈指针的作用是指示栈顶指针的地址,堆栈指以先进后出方式工作的一块存储区域,用于保存断点地址、PSW 等重要信息。 4、累加器暂时的是什么?ALU 能完成什么运算? 答:累加器的同容是ALU 每次运行结果的暂存储器。在CPU 中起着存放中间结果的作用。ALU 称为算术逻辑部件,它能完成算术运算的加减法及逻辑运算的“与”、“或”、“比较”等运算功能。 5、8086 CPU EU、BIU的功能是什么? 答:EU(执行部件)的功能是负责指令的执行,将指令译码并利用内部的寄存器和ALU对数据进行所需的处理BIU(总线接口部件)的功能是负责与存储器、I/O 端口传送数据。 6、CPU响应可屏蔽中断的条件? 答:CPU 承认INTR 中断请求,必须满足以下 4 个条件: 1 )一条指令执行结束。CPU 在一条指令执行的最后一个时钟周期对请求进行检测, 当满足我们要叙述的4 个条件时,本指令结束,即可响应。 2 )CPU 处于开中断状态。只有在CPU 的IF=1 ,即处于开中断时,CPU 才有可能响应可屏蔽中断请求。 3 )没有发生复位(RESET ),保持(HOLD )和非屏蔽中断请求(NMI )。在复 位或保持时,CPU 不工作,不可能响应中断请求;而NMI 的优先级比INTR 高,CPU 响应NMI 而不响应INTR 。 4 )开中断指令(STI )、中断返回指令(IRET )执行完,还需要执行一条指令才 能响应INTR 请求。另外,一些前缀指令,如LOCK、REP 等,将它们后面的指令看作一个总体,直到这种指令执行完,方可响应INTR 请求。 7、8086 CPU的地址加法器的作用是什么? 答:8086 可用20 位地址寻址1M 字节的内存空间,但8086 内部所有的寄存器都是16 位的,所以需要由一个附加的机构来根据16 位寄存器提供的信息计算出20 位的物理地址,这个机构就是20 位的地址加法器。 8、如何选择8253、 8255A 控制字? 答:将地址总线中的A1、A0都置1 9、DAC精度是什么? 答:分辨率指最小输出电压(对应的输入数字量只有最低有效位为“1 ”)与最大输出电压(对应的输入数字量所有有效位全为“1 ”)之比。如N 位D/A 转换器,其分辨率为1/ (2--N —1 )。在实际使用中,表示分辨率大小的方法也用输入数字量的位数来表示。 10、DAC0830双缓冲方式是什么?

微机实验心得体会

微机实验心得体会 【篇一:微机原理实验报告】 一、实验目的 1.掌握qtspim的调试技术 2.了解mips汇编语言与机器语言之间的对应关系 3.掌握mips汇编程序设计 4.了解c语言语句与汇编指令之间的关系 5.熟悉常见的mips汇编指令 6.掌握程序的内存映像 二、实验任务 用汇编程序实现以下伪代码:要求采用移位指令实现乘除法运算。 int main() { int k, y ; int z[50] ; y = 56; for(k=0;k50;k++) z[k] = y - 16 * ( k / 4 + 210) ; } 三、实验要求 1.完成汇编语言程序设计、调试、测试全过程 2.指出用户程序的内存映像,包括代码段和数据段 3.完成软件实验报告 四、实验过程 程序源代码: .data #定义用户数据段 z:.space 200 .text main: la $s0,z #$s0=addrz li $t0,0 #$s1=k=0 li $t1,56 #$s2=y=56 loop: slti $t2,$t0,50 #判断k是否小于50 beq $t2,$0,done #当k大于等于50时跳转 srl $t3,$t0,2 #k/4 addi $t3,$t3,210 #k/4+210

sll $t3,$t3,4 #16*(k/4+210) sub $t3,$t1,$t3 #y-16*(k/4+210) sw $t3,0($s0) #写进z[k] addi $s0,$s0,4 #地址移一位 addi $t0,$t0,1 #k加1 j loop #循环 done: li $v0 10 syscall 五、实验总结 通过这次实验,加深了我对理论学习的代码书写规范的理解,练习 了qtspim软件的使用,对以后的学习有很大的帮助。这次实验的内 容相对比较简单,原理容易理解,编译的过程中遇到了一点困难, 不过在同学的帮助下顺利解决了。 【篇二:微机原理与接口技术实验总结】 微机原理与接口技术实验总结 11107108徐寒黎 一、实验内容以及设计思路 1、①试编写一程序,比较两个字符串string1、 string2 所含字符 是否相同,若相同输出“match”,若不相同输出“no match”。 设计思路:定义一个数据段,在数据段中定义两个字符串作为 string1、 string2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。关键步骤以及少量语句:第一步将string1和string2都实现用键盘输入,方法是 mov dx,offset string2 mov ah,0ah 并且显示在显示器上,显示方法将0ah改成09h,语句与上面类似。然后进行比较第一个单元, mov al,[string1+1] cmp al,[string2+1] jnz nomatch 若字符串长度不等,则直接跳转,输出输出“no match”; 若长度相等再逐个比较 lea si,[string1+2] lea di,[string2+2] mov cl,[string1+1]

第五章微机原理课后习题参考答案

习题五 一. 思考题 ⒈半导体存储器主要分为哪几类?简述它们的用途和区别。 答:按照存取方式分,半导体存储器主要分为随机存取存储器RAM(包括静态RAM和动态RAM)和只读存储器ROM(包括掩膜只读存储器,可编程只读存储器,可擦除只读存储器和电可擦除只读存储器)。 RAM在程序执行过程中,能够通过指令随机地对其中每个存储单元进行读\写操作。一般来说,RAM中存储的信息在断电后会丢失,是一种易失性存储器;但目前也有一些RAM 芯片,由于内部带有电池,断电后信息不会丢失,具有非易失性。RAM的用途主要是用来存放原始数据,中间结果或程序,与CPU或外部设备交换信息。 而ROM在微机系统运行过程中,只能对其进行读操作,不能随机地进行写操作。断电后ROM中的信息不会消失,具有非易失性。ROM通常用来存放相对固定不变的程序、汉字字型库、字符及图形符号等。 根据制造工艺的不同,随机读写存储器RAM主要有双极型和MOS型两类。双极型存储器具有存取速度快、集成度较低、功耗较大、成本较高等特点,适用于对速度要求较高的高速缓冲存储器;MOS型存储器具有集成度高、功耗低、价格便宜等特点,适用于内存储器。 ⒉存储芯片结构由哪几部分组成?简述各部分的主要功能。 答:存储芯片通常由存储体、地址寄存器、地址译码器、数据寄存器、读\写驱动电路及控制电路等部分组成。 存储体是存储器芯片的核心,它由多个基本存储单元组成,每个基本存储单元可存储一位二进制信息,具有0和1两种状态。每个存储单元有一个唯一的地址,供CPU访问。 地址寄存器用来存放CPU访问的存储单元地址,该地址经地址译码器译码后选中芯片内某个指定的存储单元。通常在微机中,访问地址由地址锁存器提供,存储单元地址由地址锁存器输出后,经地址总线送到存储器芯片内直接进行译码。 地址译码器的作用就是用来接收CPU送来的地址信号并对它进行存储芯片内部的“译码”,选择与此地址相对应的存储单元,以便对该单元进行读\写操作。 读\写控制电路产生并提供片选和读\写控制逻辑信号,用来完成对被选中单元中各数据位的读\写操作。

微机原理与接口技术 期末复习总结

《微机原理与接口技术》复习参考资料 复习资料说明: 1、标有红色星号“ ”的容为重点容 3、本资料末尾附有“《微机原理与接口技术》综合练习题与答案错误修正”和“《微机原理与接口技术》综合练习题与答案中不作要求的部分”,请注意查看。 第一章概述 一、计算机中的数制 1、无符号数的表示方法: (1)十进制计数的表示法 特点:以十为底,逢十进一; 共有0-9十个数字符号。 (2)二进制计数表示方法: 特点:以2为底,逢2进位; 只有0和1两个符号。 (3)十六进制数的表示法: 特点:以16为底,逢16进位; 有0--9及A—F(表示10~15)共16个数字符号。 2、各种数制之间的转换 (1)非十进制数到十进制数的转换 按相应进位计数制的权表达式展开,再按十进制求和。 (2)十进制数制转换为二进制数制 十进制→二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。 十进制→十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。 以小数点为起点求得整数和小数的各个位。 (3)二进制与十六进制数之间的转换 用4位二进制数表示1位十六进制数 (4)二进制与八进制之间的转换 八进制→二进制:一位八进制数用三位二进制数表示。 二进制→八进制:从小数点开始,分别向左右两边把三位二进制数码划为一组,最 左和最右一组不足三位用0补充,然后每组用一个八进制数码代 替。 3、无符号数二进制的运算 无符号数:机器中全部有效位均用来表示数的大小,例如N=1001,表示无符号数9 带符号数:机器中,最高位作为符号位(数的符号用0,1表示),其余位为数值位 机器数:一个二进制连同符号位在作为一个数,也就是机器数是机器中数的表示形式 真值:机器数所代表的实际数值,一般写成十进制的形式

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

微机原理第五章课后习题答案

第5章 控制系统的李雅普诺夫稳定性分析习题与解答 5.3 试用李雅普诺夫稳定性定理判断下列系统在平衡状态的稳定性。 1123-??=??-?? x x 解 由于题中未限定利用哪一种方法,且系统为线性定常系统,所以利用李雅普 诺夫第一方法比较合适。经计算知矩阵1123-?? ??-?? 的特征根为20-。由于第一 方法关于线性系统稳定性的结果是的全局性的,所以系统在原点是大范围渐近稳定的。 5.11 利用李雅普诺夫第二方法判断下列系统是否为大范围渐近稳定: 1123-??=??-?? x x 解 令矩阵 11 1212 22p p p p ?? =???? P 则由T +=-A P PA I 得 11 1211 1212 221222121110132301p p p p p p p p ---?????????? +=??????????---??? ??????? 解上述矩阵方程,有 1111121112222212 22127 42413420 826158p p p p p p p p p p ?=-+=-?? ??-+=?=???? -=-?=?? 即得 11 1212 227 54 85388p p p p ??????==???????? P 因为

11121112 22757 17480 det det 05346488p p P p p ?? ????= >==>?????? ?? 可知P 是正定的。因此系统在原点处是大范围渐近稳定的。系统的李雅普诺夫函数及 其沿轨迹的导数分别为 T 221122T T 22121 ()(14103)0 8()()0 V x x x x V x x ==++>=-=-=-+x []12122122 1222 2 22()()(ii) ()22(1)2(1)x V x V x V x x x x x x x x x x x ???? ??=? ??????? ???? =??--+??=-+x 容易看出,除了两种情况: (a )1x 任意,20x ≡ (b )1x 任意,21x ≡- 时()0V =x 以外,均有()0V

微机原理实验报告

汇编语言程序设计实验 一、实验内容 1.学习并掌握IDE86集成开发环境的使用,包括编辑、编译、链接、 调试与运行等步骤。 2.参考书例4-8,P165 (第3版161页)以单步形式观察程序的 执行过程。 3.修改该程序,求出10个数中的最大值和最小值。以单步形式观 察,如何求出最大值、最小值。 4.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态。 二、实验目的 1.学习并掌握IDE86集成开发环境的使用 2.熟悉汇编语言的基本算法,并实际操作 3.学会利用IDE86进行debug的步骤 三、实验方法 1.求出10个数中的最大值和最小值 (1)设计思路:利用冒泡法,先对数据段的10个数字的前2个比 较,把二者中大的交换放后面。在对第二个和第三个数比较,把 二者中较大的交换放后面,依此类推直到第十个数字。这样第十 位数就是10个数里面最大的。然后选出剩下9个数字里面最大 的,还是从头开始这么做,直到第九个数字。以此类推直到第一 个数字。

(2)流程图 2.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态

(1)设计思路:结果存放在sum里面,加数是i(初始为1),进行 100次循环,sum=sum+I,每次循环对i加1. (2)流程图: 四、 1.求出10个数中的最大值和最小值

DSEG SEGMENT NUM DB -1,-4,0,1,-2,5,-6,10,4,0 ;待比较数字 DSEG ENDS CODE SEGMENT ASSUME DS:DSEG,CS:CODE START:MOV AX,DSEG MOV DS,AX LEA SI,NUM MOV DX,SI MOV CL,9 ;大循环计数寄存器初始化 NEXT1:MOV BL,CL ;大循环开始,小循环计数器初始化MOV SI,DX NEXT2:MOV AL,[SI+1] CMP [SI],AL ;比较 JGGONE ;如果后面大于前面跳到小循环末尾CHANGE:MOV AH,[SI] ;交换 MOV [SI+1],AH MOV [SI],AL JMP GONE GONE:add SI,1 DEC BL JNZ NEXT2

微机原理知识点总结

微机原理复习总结 第1章基础知识 ?计算机中的数制 ?BCD码 与二进制数11001011B等值的压缩型BCD码是11001011B。 F 第2章微型计算机概论 ?计算机硬件体系的基本结构 计算机硬件体系结构基本上还是经典的冯·诺依曼结构,由运算器、控制器、存储器、输入设备和输出设备5个基本部分组成。 ?计算机工作原理 1.计算机由运算器、控制器、存储器、输入设备和输出设备5个基本部分组成。 2.数据和指令以二进制代码形式不加区分地存放在存储器重,地址码也以二进制形式;计算机自动区 分指令和数据。 3.编号程序事先存入存储器。 ?微型计算机系统 是以微型计算机为核心,再配以相应的外围设备、电源、辅助电路和控制微型计算机工作的软件而构成的完整的计算机系统。 ?微型计算机总线系统 数据总线 DB(双向)、控制总线CB(双向)、地址总线AB(单向); ?8086CPU结构 包括总线接口部分BIU和执行部分EU BIU负责CPU与存储器,,输入/输出设备之间的数据传送,包括取指令、存储器读写、和I/O读写等操作。 EU部分负责指令的执行。 ?存储器的物理地址和逻辑地址 物理地址=段地址后加4个0(B)+偏移地址=段地址×10(十六进制)+偏移地址 逻辑段: 1). 可开始于任何地方只要满足最低位为0H即可 2). 非物理划分 3). 两段可以覆盖 1、8086为16位CPU,说明(A ) A. 8086 CPU内有16条数据线 B. 8086 CPU内有16个寄存器 C. 8086 CPU内有16条地址线 D. 8086 CPU内有16条控制线 解析:8086有16根数据线,20根地址线; 2、指令指针寄存器IP的作用是(A ) A. 保存将要执行的下一条指令所在的位置 B. 保存CPU要访问的内存单元地址 C. 保存运算器运算结果内容 D. 保存正在执行的一条指令 3、8086 CPU中,由逻辑地址形成存储器物理地址的方法是(B ) A. 段基址+偏移地址 B. 段基址左移4位+偏移地址 C. 段基址*16H+偏移地址 D. 段基址*10+偏移地址 4、8086系统中,若某存储器单元的物理地址为2ABCDH,且该存储单元所在的段基址为2A12H,则该

学微机原理课程设计心得体会范文

学微机原理课程设计心得体会范文 "微机原理与系统设计"作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点。接下来就跟着小编的脚步一起去看一下关于吧。 篇1 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。 其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。 通过这次课程设计使我懂得了理论与实际相结合是很

重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在赵老师的辛勤指导下,终于游逆而解。同时,在赵老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 篇2 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。 我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就

微机原理第5章 习题答案

第4章习题参考答案 1. 按存储器在计算机中的作用,存储器可分为哪几类?简述其特点。 答: 存储器根据其在计算机系统中的作用分主存储器(内存)、辅助存储器(外存)和高速缓冲存储器。 主存储器用来存CPU可直接访问的程序和数据,其特点是速度高容量较少、每位价格高。 外存储器用于存放当前不活跃的程序和数据,其速度慢、容量大、每位价格低。 高速缓冲存储器主要用于在两个不同工作速度的的部件之间起缓冲作用,如CPU和内存间,其存取速度要比内存高,当然容量较小。 2. 什么是RAM和ROM?RAM和ROM各有什么特点? 答: RAM是随机存储器,指计算机可以随机地、个别地对各个存储单元进行访问(读写),访问所需时间基本固定,同时其一般具有信息易失性,即当失去电源后,存储在RAM中的信息全部丢失。 ROM是只读存储器,对其内容只能读,不能写入。它的内容一般是预先写入后不再随着计算机程序的运行而改变。ROM通常用来存放固定不变的程序、汉字字型库及图形符号等,由于它和读写存储器分享存储器的同一个地址空间,故人属于主存储器的一部分。与RAM相比,其信息具有非易失性,即掉电后ROM中的信息仍会保留。 3. 什么是多层次存储结构?它有什么作用? 答: 存储器的性能是计算机性能的最主要指标之一,其目标是大容量、高速度和低成本。因此,应该在系统结构的设计上扬长避短,采用多层存储结构构成一个较为合理的存储系统。多层存储结构是一个金字塔的结构,距塔尖最近的(即与CPU越近)速度越快,容量越小,单位价格也较贵;距塔尖最远的容量较大,而速度较慢,单位价格也较便宜。其作用是获得最佳性价比。 5.主存储器的主要技术指标有哪些? 答: 主存储器的主要技术指标有主存容量、存储器存取时间、存储周期和可靠性。

微机原理知识点总结

第一章概述 1.IP核分为3类,软核、硬核、固核。特点对比 p12 第二章计算机系统的结构组成与工作原理 1. 计算机体系结构、计算机组成、计算机实现的概念与区别。P31 2. 冯·诺依曼体系结构: p32 硬件组成五大部分 运算器、存储器、控制器、输入设备、输出设备,以存储器为中心 信息表示:二进制计算机内部的控制信息和数据信息均采用二进制表示,并存放在同一个存储器中。 工作原理:存储程序/指令(控制)驱动编制好的程序(包括指令和数据)预先经由输入设备输入并保存在存储器中 3.接口电路的意义 p34 第二段 接口一方面应该负责接收、转换、解释并执行总线主设备发来的命令,另一方面应能将总线从设备的状态或数据传送给总线主设备,从而完成数据交换。 4.CPU组成:运算器、控制器、寄存器。P34 运算器的组成:算术逻辑单元、累加器、标志寄存器、暂存器 5.寄存器阵列p35 程序计数器PC,也称为指令指针寄存器。存放下一条要执行指令的存放地址。 堆栈的操作原理应用场合:中断处理和子程序调用 p35最后一段 6. 计算机的本质就是执行程序的过程p36 7. 汇编语言源程序——汇编——>机器语言程序 p36 8. 指令包含操作码、操作数两部分。执行指令基本过程:取指令、分析指令、执行指令。简答题(简述各部分流程)p37 9. 数字硬件逻辑角度,CPU分为控制器与数据通路。P38 数据通路又包括寄存器阵列、ALU、片上总线。 10. 冯·诺依曼计算机的串行特点p38 串行性是冯·诺依曼计算机的本质特点。表现在指令执行的串行性和存储器读取的串行性。也是性能瓶颈的主要原因。 单指令单数据 11. CISC与RISC的概念、原则、特点。对比着看 p39、40

微机原理课程设计心得体会3篇

微机原理课程设计心得体会3篇课程设计是对课程的各个方面做出规划和安排,是连接课程基本理念和课程实践活动的桥梁。下面是为大家带来的微机原理课程设计心得体会,希望可以帮助大家。 微机原理课程设计心得体会范文1: 计算机网络的设计是一个要求动手能力很强的一门实践课程,在课程设计期间我努力将自己以前所学的理论知识向实践方面转化,尽量做到理论与实践相结合,在课程设计期间能够遵守纪律规章,不迟到、早退,认真完成老师布置的任务,同时也发现了自己的许多不足之处。 在课程设计过程中,我一共完成了11个实验,分别是1.制作直通电缆和交叉UTP、2.交换机Console口和Telnet配置、3.交换机端口和常规配置、4.虚拟局域网VLAN配置、5.路由器Console口Telnet 配置方法和接口配置、6.路由器静态路由配置、7单臂路由配置、8.动态路由协议配置、9.PPP协议配置、10路由器访问控制表(ACL)、11.网络地址转换(NAT)。 在制作直通电缆和交换UTP的实验中,我起初不能完全按照要求来剪切电缆,导致连接不通,后来在同学的帮助下,终于将实验完成。 在做到单臂路由配置和动态路由协议配置的实验,由于自身的基础知识掌握不牢,忘掉了一些理论知识,在重新翻阅课本和老师的指导之下,也成功的完成了试验。

从抽象的理论回到了丰富的实践创造,细致的了解了计算机网络连接的的全过程,认真学习了各种配置方法,并掌握了利用虚拟环境配置的方法,我利用此次难得的机会,努力完成实验,严格要求自己,认真学习计算机网络的基础理论,学习网络电缆的制作等知识,利用空余时间认真学习一些课本内容以外的相关知识,掌握了一些基本的实践技能。 课程设计是培养我们综合运用所学知识,发现、提出、分析、解决问题的一个过程,是对我们所学知识及综合能力的一次考察。随着科学技术日新月异的不断发展,计算机网络也在不断的变化发展当中,这就要求我们用相应的知识来武装自己,夯实基础,为将来走向工作岗位,贡献社会做好充分的准备。 微机原理课程设计心得体会范文2: "微机原理与系统设计" 作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点,围绕微型计算机原理和应用主题,以Intelx86CPU为主线,系统介绍微型计算机的基本知识,基本组成,体系结构和工作模式,从而使学生能较清楚地了解微机的结构与工作流程,建立起系统的概念。 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必

微机原理与单片机实验报告

北京联合大学信息学院实验报告 课程名称:微型计算机原理学号: 姓名: 2012 年 6 月 9 日

目录 实验1 EMU8086模拟器的使用 (3) 实验2 数据传送指令的使用 (5) 实验3 多位十六进制加法运算实验 (9) 实验5 循环程序实验 (11) 实验6 由1 到100 求和实验 (13) 实验7 求表中正数_负数_0 的个数实验 (14) 实验8 数据排列实验(冒泡排序) (16) 实验9 系统功能调用(大小写转换) (18) 实验10 阶乘(递归运算) (20) 实验11 ProteusIO工程文件的建立 (21) 实验12 IO口读写实验(245、373) (22) 实验13 8255 接口实验 (24) 实验14 声光报警 (25) 实验总结 (28)

实验1 EMU8086模拟器的使用 一实验要求 利用EMU8086模拟器环境,完成创建源程序文件,运行调试,实验结果的查看二实验目的: 熟悉EMU8086实验环境 三EMU8086环境: 1 模拟器编辑窗口 2 模拟器调试窗口

四实验内容 实验内容1:新建文件。 运行emu8086 1. 新建文件:单击“新建”按钮,选择COM模板,在模拟器编辑窗口中输入如下程序代码: MOV AX, 1020H MOV BX, 2030H MOV AX, BX ADD AX, BX MOV [BX], AX MOV [2032H], AX HLT 2. 编译:单击“编译”按钮,对程序段进行编译; 3. 保存:编译通过,单击“完成”按钮,将其以文件名“EXP1”保存在本地磁盘上。 4. 仿真:单击“仿真”按钮,打开模拟器调试窗口和源文件窗口。 5.在模拟器调试窗口中的寄存器组区,查看数据寄存器AX,BX,CX,DX;段寄存器CS,ES,SS,DS;指令指针寄存器IP;指针寄存器SP,BP;变址寄存器SI,DI;标志寄存器的值。 6.单击“单步前”按钮,单步执行程序,并观察每次单步执行后,相关寄存器值的变化。 7.单击“重载”按钮,将程序重载,并调整指令运行步进时延为400毫秒,单击“全速”按钮,运行程序, 8.程序运行之后,在程序调试窗口中,选择[view]/[memory],查看模拟器环境中,内存单元0700:0100开始的连续10个单元的内容 9.将“存储器”中的地址改为0700:2030,查看开始的四个字节的内容,并思考其内容与程序

微机原理复习知识点总结资料

微机原理复习知识点 总结

1.所谓的接口其实就是两个部件或两个系统之间的交接部分(位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路)。 2.为了能够进行数据的可靠传输,接口应具备以下功能:数据缓冲及转换功能、设备选择和寻址功能、联络功能、接收解释并执行CPU命令、中断管理功能、可编程功能、(错误检测功能)。 3.接口的基本任务是控制输入和输出。 4.接口中的信息通常有以下三种:数据信息、状态信息和控制信息。5.接口中的设备选择功能是指: 6.接口中的数据缓冲功能是指:将传输的数据进行缓冲,从而对高速工作的CPU与慢速工作的外设起协调和缓冲作用,实现数据传送的同步。 7.接口中的可编程功能是指:接口芯片可有多种工作方式,通过软件编程设置接口工作方式。 8.计算机与外设之间的数据传送有以下几种基本方式:无条件传送方式(同步传送)、程序查询传送(异步传送)、中断传送方式(异步传送)、DMA传送方式(异步传送)。 9.根据不同的数据传输模块和设备,总线的数据传输方式可分为无条件传输、程序查询传送方式、中断传送方式、DMA方式。 10.总线根据其在计算机中的位置,可以分为以下类型:片内总线、内部总线、系统总线、局部总线、外部总线。 11.总线根据其用途和应用场合,可以分为以下类型:片内总线、片间总线、内总线、外总线。ISA总线属于内总线。 12.面向处理器的总线的优点是:可以根据处理器和外设的特点设计出最适合的总线系统从而达到最佳的效果。 13. SCSI总线的中文名为小型计算机系统接口(Small Computer System Interface),它是 芯的信号线,最多可连接 7 个外设。 14. USB总线的中文名为通用串行接口,它是4芯的信号线,最多可连接127个外设。 15. I/O端口的编码方式有统一编址和端口独立编址。访问端口的方式有直接寻址和间接寻址。PC机的地址由16位构成,实际使用中其地址范围为000~3FFH。 16.在计算机中主要有两种寻址方式:端口独立编址和统一编址方式。在端口独立编址方式中,处理器使用专门的I/O指令。 17. 74LS688的主要功能是:8位数字比较器,把输入的8位数据P0-P7和预设的8位数据Q0-Q7进行比较。如果相等输d出0,不等输出1。 主要功能:把输入的8位数据P0-P7和预设的8位数据Q0-Q7进行比较,比较的结果有三种:大于、等于、小于。通过比较器进行地址译码时,只需把某一地址范围和预设的地址进行比较,如果两者相等,说明该地址即为接口地址,可以开始相应的操作。 18. 8086的内部结构从功能上分成总线接口单元BIU和执行单元EU两个单元。 19. 8086有20地址线,寻址空间1M,80286有24根地址线,寻址空间为 16M。 20. 8086/8088有两种工作模式,即最大模式、最小模式,它是由MNMX 决定的。

微机原理与接口技术试验学习总结

微机原理与接口技术试验学习总结 本学期微机原理的实验课程即将结束,关于微机原理课程实验的心得体会颇多。 初学《微机原理》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。“麻雀虽小,五脏俱全”,可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念。 在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。然而,事物总有两面性,有优点自然缺点也不少。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇编语言实际上是培养了学习计算机语言的能力和素养。个人认为,学习汇编语言对学习其他语言很有促进作用。 汇编语言在本学期微机学习中有核心地位。本学期微机原理课程内容繁多,还学习了可编程的计数/定时的8253,可编程的外围接口芯片8255A等。学的都是芯片逻辑器件,而在名字前都标有“可编程”,其核心作用不可低估。 我想微机原理课程试验不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特之处,那就是让我们进入一个神奇的世界,那就是编程。对我们来说汇编真的很新奇,很有趣,也使我有更多的兴趣学习微机原理和其

微机原理知识点总结

1、计算机硬件的五大组成部分:运算器、控制器、存储 器、输入设备、输出设备。 2、 和协调着整个计算机系统的工作。 微型计算机:主机,包括微处理器,存储器,总线、输入输出接口电路。 +外部设备+软件 3、微处理器工作原理:程序存储和程序控制 4、微机系统的内存分类:RAM ROM 5、8086两个独立部件: 执行部件EU:负责指令的执行;组成:8个通用寄存器,一个标志寄存器,运算器,EU控制电路。 总线接口部件BIU:负责CPU与存储器和I/O设备间的数据传送。组成:地址加法器、段寄存器、指令指针寄存器、总线控制电路、内部暂存器、指令队列。6、8个通用寄存器:累加器AX,基址寄存器BX, 计数寄存器CX, 数据寄存器DX,堆栈指针寄存器SP,基址指针寄存器BP,源变址寄存器SI,目标变址寄存器DI 4个段寄存器:代码段CS:存放指令代码;数据段DS:存放操作数;附加段ES:存放操作数;堆栈段SS:指示堆栈区域的位置。 7、指令指针IP的功能:控制CPU指令执行的顺序,指

向下一条要执行指令的偏移地址。 8、标志寄存器:状态标志位,控制标志位 9、8086有20根地址线。16根数据线 10、 第三章 11、指令的7种寻址方式:立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、基址变址相对寻址。 12、指令:数据传送指令MOV、压栈指令PUSH、出栈指令POP、交换指令XCHG、取偏移地址指令LEA、输入指令IN、输出指令OUT、加法运算指令ADD、加一指令INC、减法指令SUB、减一指令DEC、求补指令NEG、比较指令CMP、与指令AND、或指令OR、异或指令XOR、测试指令TEST、非循环逻辑左移指令SHL、非循环逻辑右移指令SHR、无条件转移指令JMP、

大工微机原理复习总结

第一章计算机基础知识 本章的主要内容为不同进位计数制计数方法、不同进位制数之间相互转换的方法、数和字符在计算机中的表示方法、简单的算术运算以及计算机系统的组成。下边将本章的知识点作了归类,图1为本章的知识要点图,图1.2为计算机系统组成的示意图。

1. 微机基本结构是什么?微处理器、微型计算机、微型计算机系统有何区别?微处理器主要指CPU;微型计算机包括主机和外设,其中主机包括微处理器,主要针对硬件部分;微型计算机系统包括微型计算机和软件系统,能够独立运行。 2. 用二进制补码表示-41、+74、-112? -41 = (11010111)2 +74 = (01001010)2 -112 = ( 10010000 )2 3. 数值转换:11 4.175= ( ) 2=( )16 11001.101B= ( )16= ( )10 数值转换:114.175= ( 0111 0010. 0011 ) 2=( 72.3 )16 (近似值)11001.101B= ( 19.A )16= ( 25.625 )10 第二章8086微处理器 本章要从应用角度上理解8086CPU的内部组成、编程结构、引脚信号功能、最小工作模式的系统配置、8086的存储器组织、基本时序等概念。下面这一章 执行单元EU(AX、BX、CX、DX、SP、BP、SI、DI、标志寄存器)

内部组成 总线接口单元BIU(CS、DS、SS、ES、IP) 选择题 1. 通用寄存器是 B 部件 A.在CPU之外存储指令的;B. 在CPU之内暂存数据及地址的; C.在CPU之外存储数据及地址的;D. 在CPU之内存储指令的; 2. 无论8086CPU还是目前更高档的微处理器其内部原理结构中共同具有的基本部件是 D 。 A.算术逻辑运算单元(ALU);B. 指令指针寄存器和标志寄存器; C.通用寄存器组和总线接口单元;D. 以上都对; 3. 在8086/8088系统下,对当前用户程序的堆栈进行访问,其逻辑地址是由 B 提供的。 A. SS与BX; B. SS与SP;C.CS与SP;D. DS与BP; 4. IP寄存器的用途是 C 。 A.指向下一个存储单元;B. 指向下一个要读写的数据; C.指向下一条要执行的指令;D. 指向下一个堆栈; 5. 在8086/8088系统中,如果一个程序开始执行前CS=3A70H,IP=1400H,那么该程序第一个字节的物理地址是 A 。 A.3BB00H;B. 3A701400H;C.4E70H;D. 3A724H; 6. 一个4字节信息135790ABH存放在存储器中(如图所示),该信息在存储器中

相关文档
最新文档