微机原理自己总结

8253初始化程序段

8253的a1a2的连接方式来确定子端口位址

根据题目的要求写出相应的初始化程序段,那你就要看连接图,根据题目所提出的工作方式

或者根据题目所提出的哪一个波形的状况来确定初始化控制字的格式

以及初始值然后像填空一样的把初始化程序写出来

1.8253的四个端口地址   段地址的确定

2. 写出响应的初始化程序段     计数初始值的控制方式

3.8253外接某一个外部设备

那么事实上根据题目的要求,确定子计数器的方式以及他的初始化初值

如果说8253通过某一个通道产生的分频无法得到我们所希望产生的输出波形那是他的混频不够,那我们可以用其中的一个通道进行一次分频以后再把它输出端out作为另一个通道的调整lock输入端进行二次分频使得它的输出能够得到题目所要求的一个周期信号

8259给出一个初始化程序段,让你回答这个8259的中断接收方式是什么

问你某一个引脚,中断请求输入端的引脚所对应的中断类型号是什么

根据程序让你回答哪个引脚的中断是能够产生响应的,哪个中断引脚是不能产生响应的

中断结束方式是看OCW2,中断类型号看ICW,中断是否能够引起看OCW1及RMI中断屏蔽寄存器

程序阅、

1.  程序中有个循环,循环是干什么的,怎么执行循环,在循环体之外一般都有一些初值的设置,根据初值的设置结合循环体所做的事情来判断整个程序段的功能是什么。一定要首先读懂循环体所做的工作的是什么,然后根据循环体前面的初值设置来判定整个程序段的基本功能是什么,当我们在这个程序当中需要加相应的注释,注释语句的相加并不是每一条指令都要注释,可能要知道这一小段程序的主要功能是什么

2.学生的学籍管理, 程序阅读题当中可能与学生的学习成绩管理某一个功能相关

统计不及格及格人数, 当然这个程序也要给出是给多少人进行统计的,怎么统计的

简答题

1.  子程序和宏指令异同点 (P144)

同:一段相对独立完成某种功能的可调用的程序模块定义后可多次调用。

异:1、在源程序中,通过书写宏名来引用宏,而子程序是通过CALL指令来调用;

         2、宏调用是通过宏扩展来实现的,宏引用多少次,就相应扩展多少次,所以,引用宏不会缩短目标程序;而子程序代码在目标程序中只出现一次,调用子程序是执行同一程序段,因此,目标程序也得到相应的简化

2.   8255是如何产生中断请求的(8255在方式1下面A口和B口是如何产生中断请求的,8255的A口在方式2下面是如何产生中断请求)(P190)

8255A在检测到S(——)T(——)B(——)A(——)变为高电平,IBFA+=1和INTEA=1同是有效时INTRA,向CPU申请中断。

3.   8086寄存器为什么要分段管理,如何进行分段的 (P19)

8086寄存器是一个16位的结构,采用分段管理办法可形成超过16位元的内存物理位址,扩大对内存的寻址范围

(寄存器仅16位无法寻址20位分2段,16位一段另4位偏移地址,达到寻址1MB)

4.  中断向量表的作用是什么?(P152)

中断向量表的作用就是用来存放中断向量,为各种不同的中断提供了程序的入口地址

5.  子程序和主程序之间参数传递的三种方式

传值调用,传址调用,引用调用

6. 指令和伪指令的相同点和不同点(P125)

指令是在执行阶段发挥作用的,由CPU(Intel、AMD等)来执行每条指令对应CPU特定操作,伪指令是在编译阶段发挥作用的,由汇编器(MASM、TASM等)来解释。汇编后每条指令产生对应目标代码,伪指令在汇编时使用结束。

7.   EQU和等号的异同点是什么(P127)

不同点: 1.使用EQU伪指令定义的符号名不能与其它符号名重名,符号名必须唯一,且不能被重新定义;而使用等号伪指令"="定义的符号名可以重名,可以被重新定义,可被重新赋值;

2.使用EQU伪指令定义的符号名不仅可以代表某个常数或常数表达式,还可以代表字符串、关键词、指令码、一串符号(如:WORD PTR),等等;而使用等号伪指令"="定义的符号名仅仅用于代表数值表达式

相同点: 使用等价伪指令EQU定义的符号名和使用等号伪指令定义的符号名都不会被系统分配存储空间;

8. 微型计算机和外部I /O接口之间进行数据传输的方式是什么,(P179)传输的是什么信息,是通过什么线进行传输的(P7)

独立编址。控制信息,状态信息,数据信息。数据总线

程序控制方式,中断方式,DMA方式

CPUI/O接口所交换的信息包括数据信息,控制与状态信息,地址信息,他们都通过数据线相连,CPU通过IO接口跟外部设备之间所交换的信息包括以上除了地址信息

填空和简答相关的一些知识点

1  一个系统有N根地址线, 那么这个系统支持的最大地址空间就是2*N个字节单元

2.  对于8086芯片当中的NMR引脚接收外部非屏蔽中断请求的

3  .对于2进制数,8进制数,10进制数,16进制数,相互之间的转换,以及运算(P9)

4.  原码 补码 反码的书写以及特点(P11)

原码:最高位符号位        反码:正数同 负数符号位不变量值位取反    补码:正数同 负数反码加1

5.  堆栈的操作是字操作,入栈的过程是堆栈指针每次减二, 出栈是每次指针加二

6.  对于一个给定的逻辑地址能够写出物理位址 段地址值乘以十六加偏移地址(P20)

物理位址=段地址*10H+段内地址偏移

7  .如果给你一个内存单元的首地址,你要知道从这个地方开始存放多少个字节之后他的最后一个字节的地址单元是什么(P25)

8.  通过中断向量表的描述我们要知道中断类型号如何获取中断向量中断服务子程序的入口地址,也就是说某一个中断类型号它所对应的中断服务子程序的入口地址是放在内存的哪一个逻辑地址单元当中(P153)

0~3B保存0#中断服务程序的入口地址,4~7B保存1#中断服务程序的入口地址,8H~0BHB存放2#补课屏蔽中断NMI中断服务程序入口地址。以此类推....

9.  中断管理控制器8259知道内部结构当中的IMR, IRR以及ISR的功能和特点(P162)

IRR:锁存功能的8位寄存器该寄存器D0~D7位分别对应IR0~IR7引脚中断源的中断请求,初始各位为0,有中断源发出中断请求,寄存相应位置1

ISR:8位寄存器,同样对应IR0~IR7,用以标志当前正在服务和尚未服务完的中断源。初始各位为0,8259A收到CPU发的第一个I(——)N(——)T(——)A(——)信号后,使被响应的中断请求的ISR相应位置位1,IRR相应位置清零,中断嵌套时,可同时多位为1.

ISR:8位寄存器,同样对应IR0~IR7,用于设置中断屏蔽。1表示屏蔽相位中断请求,0表示允许相位中断请求。

10.根据定时或计数的要求我们要正确的确定计数器计数的初值 (P196)                                                

11.对于8255的各个引脚的基本功能要知道  (P187)

例如8255在方式一或方式二 PC0到PC7的基本作用是什么

12.程序的执行过程实际上是由CSIP所决定的(P21)(代码段寄存器,指令指针寄存器)

13.8255的A口具有三种工作方式,方式零方式一方式二(P198)    B口只有两种工作方式,方式零和方式一

14.对于8086ALE引脚的基本功能是地址锁存

15.在8086系统中计算机存储数据的最小单位是,最基本单位是字节

16.在子程序和中断服务子程序当中保护现场或恢复现场当中都是PUSHPOP这样的堆栈操作指令(P28)

17第四章的内存扩展的内容,我们要知道某一条指令的运算速度和其它指令相比较而言谁快谁慢,

18.当DEC指令和INC对标志位的CF状态产生影响,CF是进位标志位,DEC减1和INC加1指令对他不影响,但是对于SF符号以及ZF为零,和溢出标志位OF是产生影响的,对于标识符的正确的书写格式,以及书写规范

19.对于BCD码可分成压缩BCD码和非压缩BCD码。(P99)假如说问你,压缩BCD码35H加上压缩BCD码28H那么他通过DAA调整之后他的结果在AL当中应该是63H,如果是非压缩BCD码那么相加结果是0603H,调整指令只能对AL进行调整而不能对AX进行调整

20.第二章当中CPU的基本结构里面, 指令队列缓冲器的功能是暂时保存预先存取的指令

21.8253定时器和计数器的基本工作性质是都是对外部脉冲进行计数

22.8259当中中断屏蔽器的写入是通过OCW1写入的,他是可以多次写入

23.MIO非   这个8086的引脚高电平是访问内存,低电平是访问IO

DTI非   高电平是发送资料给IO接口或内存,低电平是读取IO或者内存的内容

DMA在进行数据传送的时候不是由CPU去控制的,而是由DMA控制器去控制的

24.根据存储容量的大小以及所给芯片的大小要知道得到这样的存储容量需要多少这样的芯片

25.RAM芯片掉电之后信息丢失, ROM芯片掉电之后信息不丢失

26.对于中断服务器程序的入口地址的确定是由中断向量号所决定的或者中断类型号所决定的

27.对于指令当中的四种寻址方式我们要掌握(P81),指令包含了操作码和操作数两个部分,

操作数决定了数据所存放的位置及访问的方式,

资料只能放在 寄存器当中 内存当中 指令当中 IO界面当中

28.对于符号扩展的概念我们要清晰。如果原来给的是字节换成字,那么上面的高字节是以低字节的最高符号位去填充

29.8086微处理器系统最大的内存访问空间是1MB,最大的IO埠的访问是64KB

30.第四章当中内存的存储结构有寄存器,高速缓存器(CACHE),以及内存和硬盘

我们要掌握这四个内存的特点,访问方式

内存及其特点? RAM可读、可写、断电信息消失。 ? ROM可读、不可写、断电信息不消失。? 高速缓冲内存Cache:可读、可写、读写速度接近CPU。 外存及特点 ? 硬盘存储容量大、读写速度快。 ? 软盘存储容量较小、读写速度较慢。 ? 光盘存储容量大、介质磨损小、光头损坏性小

            ? 高速缓冲存储器Cache:可读、可写、读写速度接近CPU。 外存及特点

? 硬盘存储容量大、读写速度快。

31.在寻址方式当中,通常BP与SS相对应, 其它的都与DS相对应

32.对给的字数据或字节数据如果是负数它的最高位一定为1

32. 36个字母的大小写及阿拉伯数字ASCII码相关分别是 41H  61H  31H开始

33.CPU和IO接口所交换的信息包括 数据信息,控制与状态信息,地址信息,他们都通过数据线相连; CPU通过IO接口跟外部设备之间所交换的信息包括以上除了地址信息

33.8253有四个IO埠,其实有三个是与 通道零 通道一 通道二 相对应的

8255总共有四个端口地址,期中A口 B口 C口各占用一个端口地址

34.给你几片8259,通过级联方式能够实现多少级的可屏蔽中断

没有级联时,8259A的IR0--IR7用来接收外设的中断信号,所以1片最多可以有8级中断多片的8259A级联,可以用IR0--IR7接收从片的中断请求信号。这样,如果2片级联,最多扩展15级中断(IR0--IR7的一条接从片)所以,9片级联就是72-8=64

35.对于DB是定义字节形式,那么后面的表达式所给出的每一个表达式对应的是一个字节,

对于DW对应的是字形,右边的表达式每一个对应的是字,即占两个字节

36.对于8为二进制数或16位二进制数,无符号数所表示的数据范围以及有符号数所表示数据的范围

以八进制为例一个字长为八位的无符号二进制整数能表示十进制数据值的范围是从00000000到11111111,也就是0到255

用八位二进制数表示一个带符号数,它能表示的整数范围是-128到127

37.堆栈的基本原则,是内存当中一块连续的区域,执行的先进后出,或者后进先出的原则

38.ADC0809是一个八位的数字量的输出        DAC0832是一个八位的数模转换器

39.对于8086系统当中我们要养成这样的习惯,小时数数是一到十,现在要改成零到九这种习惯

40.对于第二章当中所说的传送类指令有哪些寄存器是不能够直接访问的

41.对于指令的规范性我们要知道

42.对于8253的最大计数初值和最大计数值。

最大初值是0,0是最大初值,代表65536。取决于CF

43.对于8086系统所有的中断的优先级别哪个是最高的哪个是最低的(P154)

IBM PC机中规定优先级从高到低的次序为:

除法错,INTO,INT n      不可屏蔽中断(NMI)       可屏蔽中断(INTR)     单步中断

44.8086系统当中是分成高位库和低位元库的。无法用一个2MB的内存和CPU当中16位数据进行相连。

   8086系统  16位地址构成2M地址空间用2个1M的好,区分高位库和低位元库

   8088系统  8位地址构成2M地址空间用1个2M的好,

45.RAM是随机内存,掉电丢失数据。ROM是只读存储器,掉电不丢失资料(P55)

46对于指令周期,总线周期,时钟周期哪个长哪个短你要知道[P34]

指令周期:是指执行一条指令所占用的全部时间,一个指令周期通常含1~4个机器周期。
总线周期:通常把CPU通过总线对微处理器外部(存贮器或I/O接口)进行一次访问所需时间称为一个总线周期。
时钟周期:又称状态周期,是震荡周期的两倍,每个时钟的前半周期完成算数逻辑操作,在后半周期,内部寄存器与寄存器间的传输一般在此状态发生。
若将机器周期定为单位1us,则指令周期为1~4us,时钟周期为1/6us,总线周期为
2/3us(一个总线周期一般包含4个时钟周期

47. 8086当中微型计算机与外部IO之间数据交换的方式有程控方式(无条件传送方式,查询传送方式,)中断传送方式,以及DMA方式的特点你要知道(P181)

48.堆栈指针永远指向堆栈的栈顶, IP指针永远指向将要执行的下一条指令的位址

49.微型计算机系统是由哪几部分组成的,微型计算机是由哪几部分构成的(P6)

计算机系统的构成从整体上可以分为硬件系统和软件系统两大部分。硬件系统是指那些看的见的部件的总和,一个完整的硬件系统,必须包含五打功能部件,它们是:运算器、控制器、内存、输入和输出设备。每个功能部件都各司其职、协调工作,缺少了其中任何一个就不成为计算机了。未配备任何软件、仅由逻辑器件组成的的计算机叫做“裸机”,在裸机上只能运行机器语言程序,这样的计算机效率极低,使用十分不方便。
软件系统则是包括计算机正常使用的各种程序以及有关技术文文件数据的总和。通常根据软件用途分为两大类:操作系统软件个应用软件。

微型计算机的基本结构由中央处理器(CPU)、内存(Memory)和输入/输出(Input/Output)三个主要部分组成。

50.8086微处理器的最小工作方式和最大工作方式的主要差距是,最小工作方式是单处理器, 最大工作方式是多处理器

51.8086微型计算机的一个典型的周期需要有四个状态周期

52.根据存储器的结构的四个部分,层次结构的特点(P48)

53.CF标志位和OF标志位在无符号数和有符号数当中是怎么界定的

OF:溢出标志(无论是有符号还是无符号都有)
CF:进位标志(有符号数操作时符号位有进位)
OF、CF在无符号数的操作中含义是一样的,都是溢出

例4:使计数器T0工作于方式4,进行8位二进制计数, 并且只装入低8位计数值。其初始化程序段为:

        MOV  DX,307H               ;命令口

        MOV  AL,00011000B      ;方式字

        OUT  DX,AL

        MOV  DX,304H               ;T0数据口

        MOV  AL,BYTEL            ;低8位计数值

2设计思想A为方式0输出打印数据用口CPC7产生负脉冲选通信号PC2连接打印机的输出信号CPU查询其状态

假设I/O地址为

FFF8H:A

FFFAH:B

FFFCH:C

FFFEH:控制口

;初始化程序段:

MOV   DX,0FFFEH       ;控制口地址

MOV   AL10000001B ;方式控制字

OUT   DXALA方式0,口C上输出,口C下输入(口B任意)

MOV   AL00001111B ;口C的置位/复位控制字

OUT   DXAL        ;使PC7=1,仅在输出数据时,才为负脉冲

 

第二篇:微机原理总结

进制的转换

1.二进制转换为十进制:就是把二进制按照其位权展开即可

如:

(1011.01)B=1*2^3+0*2^2+1*2^1+1*2^0+0*2^(-1)+1*2^(-2)

2.十进制转换为二位制(整数部分)倒取余法,也就是说先用要转换的进制的位权相除,然后倒取其余数 (小数部分):顺乘2取整法

注意:十进制转换为二进制要分整数部分和小数部分

3.二进制转换为八进制(整数部分):每三位为一小组,(小数点为分界线)以左边为准,最高位不足补0;(小数部分):每三位为一小组,以右边为准,最低位不足补0;小数点的位置不动。

如:

001 010 101 101.101 101 000=(1255.550)Q

4.八进制转换为二进制:把八进制中的每一位数字用3位二进制来表示,多余的0去掉。(一位数用三位数来代替)。

如:

(225.14)Q=010 010 101.001 100

最终结果:

(225.14)Q=10 010 101.001 100

注意:

1.把每一种进制按照位权展开即转换为十进制

也就是说二、八、十六进制按位权展开,然后相加就是将其转换为十进制数。(此规则与1相似)

2.将十进制转换为二、八、十六进制时,可能在小数部分不精确,但只要精度足够大就可以了。谨记!

5.二进制转换为十六进制(整数部分):每四位为一小

组,(小数点为分界线)以左边为准,最高位不足补0;(小数部分):每四位为一小组,以右边为准,最低位不足补0;小数点的位置不动。

如:

0010 1010 1101.1011 0100=(2AD.B4)H

6.十六进制转换为二进制:把十六进制中的每一位数字用四位二进制来表示,多余的0去掉。(谨记:一位数用四位数来代替)。

如:

(3987.A1)H=0011 1001 1000 0111.1010 0001 最终结果:

(3987.A1)H=11 1001 1000 0111.1010 0001

7.十进制转换为二进制数(或者八进制、十六进制数)。 整数部分采用“除2(或8、16)逆取余”方法,即第一个余数为最低位,最后一个余数为最高位。

小数部分采用“乘2(或8、16)顺取整”方法,即第一个整数为最高位,最后一个整数为最低位。

注意:1.小数转换不一定能算尽,只能算到一定精度的位数为止,故要产生一些误差。不过汉位数足够多的时,这个误差就很小了。

2.BCD码(Binary coded Decimal用二进制表示的十进制) 也就是“8421码”。

3.二进制不能直接转换为BCD码,只能通过将二进制先转换为十进制,然后将十进制转换为BCD码。 如将十进制转换为BCD码:

例:297.43=0010 1001 0111. 0100 0011 最终结果:297.43=10 1001 0111. 0100 0011

8.机器数就是把符号数码化的二进制数

机器数可分为有符号数与无符号数。

有符号数(都是带符号的数)有三种表示方法:原码、

补码、反码

原码:就是将有符号数用“0正1负”来表示 +105的二进制是:1101001

其原码是:01101001

-0的原码是:10000000

反码:1.正数的反码与其原码相同 +105的反码是:01101001

2.负数的反码 :把正数按位取反 -105的反码是:10010110

-0的反码是:11111111

注意:原码与反码的表示范围相同,都是从+127

补码:微机中采用补码表示法

正数的补码与原码相同

+0的补码是:0000 0000 -127到

负数的补码:如果知道其反码,就只要将其反码加1就变为了其补码。

原则是:连同符号位,按位取反再加1

负数的补码其本质上来说:是先把负数变为原码,再将其原码变为反码,然后再加1变为补码

3.八位二进制补码的取值范围为:-128——+127

微机系统(CPU)

问题:

1. 在微机系统中,什么叫等待状态产生电路?

2. 在微机中,最大系统与最小系统的区别是?

在最大系统中,主CPU要先把信号发给8288,主要是处理好主处理器与从处理器的关系,以及总线的占用时间的关系;而最小系统中,只有一个主处理器来单独进行数据处理。

3.宏汇编语言MASM

相关推荐