当前位置:文档之家› 微机原理与单片机(部分知识点)

微机原理与单片机(部分知识点)

1.8086CPU 是16位微处理器,具有16根数据线和20根地址线可以和浮点计算器,I/O 处理器或其他处理器组成多处理系统。

2.总线接口单元的功能是负责完成CPU 与储存器或I/O 设备之间的数据传送。

总线接口单元内有4个16位段寄存器:代码段寄存器CS 、数据段寄存器DS 、堆栈段寄存器SS 、附加数据段寄存器ES,一个16位的指令指针寄存器IP ,一个20位地址加法器,6字节指令队列缓冲器,一个与EU 通信的内部寄存器以及总线控制电路等。

3.代码段寄存器(CS )用来存储程序当前使用的代码段和段地址。

下一条要读取得指令在代码段中的偏移地址由指令指针寄存器IP 提供。

数据段寄存器DS 用来存放程序当前使用的数据段地址。

4.每个源程序必须至少有一个代码段,而数据段,堆栈段和附加数据段则根据程序的需要决定是否设置。

5.由CS 和IP 的内容决定了程序的执行顺序。

6.段内偏移地址段地址物理地址+⨯=H 10。

7.执行单元EU 不与系统外部直接相连,功能:只是负责执行指令。

执行的指令从BIU 的指令队列缓冲器中直接得到,执行指令时若需要从存储器或I/O 端口读取操作数,则由EU 向BIU 发出请求,再由BIU 对存储器或I/O 端口进行直接访问。

8.EU 组成:1)16位算数逻辑单元(ALU ),2)16位标志寄存器FLAGS ,3)数据暂存寄存器,4)通用寄存器,5)EU 控制电路9.8086和8088的差异:1)外部数据总线不同,8086是16位,8088是8位,2)指令队列缓冲器大小不同,8086可容纳6个字节,8088只能容纳4个字节,3)部分引脚的功能定义有所区别8086/8088CPU 中可供编程使用的有14个16位寄存器,按其用途可分为3类:通用寄存器、段寄存器、控制寄存器。

10.通用寄存器(累加器AX 、基址寄存器BX 、计数器CX 、数据寄存器DX )高8位AH 、BH 、CH 、DH ;底8位AL 、BL 、CL 、DL作控制标志。

状态标志CF :进位标志,ZF :零标志位,SF :符号标志位,IF :中断允许标志位 12.8084A 位时钟发生器,8282为8位地址锁存器,8086为具有三态输出的8位数据总线收发器13.INTA 引脚24,中断响应信号,作为输出;ALE 引脚25,地址锁存允许信号,作为输出;14.8088与8086引脚不同:1)AD15—A8的定位不同;2)引脚34的定义不同;引脚28的有效电平高低定义不同15.8086/8088CPU 有20条地址线,可直接对1M 个存储单元进行访问。

每个存储单元放一个字节(8位)数据,一个“字”占两个字节即16位,每个存储单元都有一个20位的地址,这1M 个存储单元对应的地址为00000H —FFFFFH (0—1220 )16.堆栈操作(1)存放指令操作数(2)保护断点和现场;每进行一次进站操作,SP 值减2,每进行一次出栈操作,SP 加2;栈底(先存),栈顶(先取) 17.存储器/IO 读时序:1)T1,IO /M 信号:从存储器读还是从I/O 设备中读数据;ALE :地址锁存信号,以使地址/数据线分开。

2)T2状态,RD 由高电平变为低电平,开始进行读数据操作。

18..8086/8088有20条地址线,可直接对1 M 个存储单元进行访问。

每个存储单元存放一个字节型数据(8位),一个字占两个字节即16位,存放在两个相邻的存储单元中,高字节存放在高地址单元,低字节存放在低地址单元。

且每个存储单元都有一个20位的地址,这1 M 个存储单元对应的地址为00000H~FFFFFH19.保护断点和现场。

此为堆栈的主要功能。

…(a) 堆栈空(b) 执行PUSH AXPUSH BXPUSH CX 指令后(c) 执行 POP BXPOP CX 指令后A19总线读周期的时序存储器I/O 写周期的时序ALE 地址锁存信号。

20. CPU 中BIU 单元的地址加法器根据指令中给出的段地址和段内偏移地址,通过将段地址乘以10H(16),即左移4位,再与段内偏移量相加得到一个20位的物理地址,该20位的物理地址加载到20位的地址总线上,即可实现对8086/8088系统1 M 个存储单元的访问。

21.数据传送指令MOV 。

指令格式及操作: MOV dst ,src ;(dst)←(src)指令格式中的dst 表示目的操作数,src 表示源操作数 进栈指令PUSH 。

指令格式及操作:PUSH src ;(SP)←(SP)−2,((SP)+1:(SP))←(src) 出栈指令POP 。

指令格式及操作: POP dest ;(dest)←((SP)+1:(SP)),(SP)←(SP)+2ADD 加法,ADC 带进位位加,SUB 减,SBB 带进位位减,CMP 数据比较22.过程调用指令CALL(Call a procedure)(1) 段内直接调用。

指令格式及操作:CALL near_proc ;(SP)←(SP)-2,((SP)+1:(SP))←(IP) ;(IP)←(IP)+disp相对位移量disp 的范围为-32 768~+32 767,占2个字节,段内直接调用指令为3字节指令(2)段内间接调用。

指令格式及操作:A 19CALL reg16/mem16;(SP)←(SP)-2,((SP)+1:(SP))←(IP);(IP)←(reg16)/(mem16)指令的操作数是一个16位的寄存器或存储器,其中的内容是一个近过程的入口地址。

(3) 段间直接调用。

指令格式及操作:CALL far_proc;(SP)←(SP)-2, ((SP)+1:(SP))←(CS);(CS)←SEG far_proc;(SP)←(SP)-2, ((SP)+1:(SP))←(IP);(IP)←OFFSET far_proc(4) 段间间接调用。

指令格式及操作:CALL mem32 ;(SP)←(SP)-2, ((SP)+1:(SP))←(CS);(CS)←(mem32+2);(SP)←(SP)-2, ((SP)+1:(SP))←(IP);(IP)←(mem32)23.过程返回指令RET指令格式及操作:1)从近过程返回:RET ;(IP)←((SP)+1:(SP)), (SP)←(SP)+2RET pop_value ;(IP)←((SP)+1:(SP)), (SP)←(SP)+2;(SP)←(SP)+pop_value2)从远过程返回:RET ;(IP)←((SP)+1:(SP)), (SP)←(SP)+2;(CS)←((SP)+1:(SP)), (SP)←(SP)+2RET pop_value;(IP)←((SP)+1:(SP)), (SP)←(SP)+2;(CS)←((SP)+1:(SP)), (SP)←(SP)+2;(SP)←(SP)+pop_valueRET指令还允许带一个弹出值(pop_value),这是一个范围为0~64 K的立即数,通24.DB字节型,每个元素占一个存储单元DW字型,每个元素占两个存储单元25.段定义伪指令段名 SEGMENT..段名 ENDS功能:定义一个逻辑段ASSUME 段寄存器名:段名, 功能:明确段与段寄存器的关系26.随机存取存储器RAM。

只读存储器ROM。

I/O接口的基本结构27.中断源1)中断向量,向量地址=向量表的首地址+中断类型码×4对于8086CPU,中断类型号有256,中断向量表占用256×4=1KB(1)外部硬件中断外部硬件中断是指中断源是外部硬电路,通过CPU的NMI引脚或INTR引脚向CPU 提出中断请求可屏蔽中断INTR,受CPU内标志寄存器中IF位的屏蔽。

非屏蔽中断 NMI,不受IF位的屏蔽,CPU必须响应。

CPU每执行完一条指令,就会检测NMI和INTR引脚上有无中断请求。

(2)内部异常中断内部异常中断是指CPU内部正在执行的过程中发生异常情况,如除法操作时结果太大。

(3)中断优先顺序①除法出错中断,溢出中断,INT n,···②NMI③INTR④单步中断(4)中断类型码中断类型码为8位二进制数,它是连接中断源和中断处理程序的唯一桥梁。

80X86可处理256级中断,中断类型码为0~255,一部分由系统占用,一部分由用户支配,比如除法错误(n=0)、调试异常(n=1)、NMI中断(n=2)、断点中断(n=3)28.中断处理过程中断请求、中断响应和处理、保护现场、恢复现场、开启中断。

29.8259A的编程初始化命令字①ICW1主要用于设置工作方式对A0=0的端口写入一个D4=1的数据,表示初始化编程开始。

D4:特征位,必须为1;D3:LTIM位,设置中断请求信号的触发方式,0为边沿触发,1为高电平触发。

D1:SGNL位,是否工作在单片方式,0为多片级联,1为单片。

D0:IC4 位,是否有ICW4,0表示后面不需设置命令字ICW4,1表示后面还需要设置ICW4。

D2和D7 D5这4位在仅对8080/8085系统有意义,8086/8088系统中这4位不用,通常置为0。

②ICW2用于设置中断类型号,写入A0=1的端口A0:A0=1时表示ICW2必须写入奇地址D7~D3:由用户根据中断向量在中断向量表中的位置确定D2~D0:中断源的IR端号③ICW3用于设置级联,写入A0=1的端口主片A0: A0=1时表示ICW3必须写入奇地址D7~D0:用于说明对应的IR 端上有从片(对应位为1)或无从片(对应位为0) 从片A0: A0=1时表示ICW3必须写入奇地址 D7~D3:不使用时默认为0D2~D0:为从片的识别码,中断源的IR 端号④ICW4用于设置8259A 的工作方式,写入A0=1的端口。

ICW1的IC4位为1时,才写入ICW4。

D4:SFNM 位,设置中断的嵌套方式,0为一般嵌套方式,1为特殊的全嵌套方式。

D3:BUF 位,若该位为1,则8259A 工作于缓冲方式,8259A 通过数据总线收发器和总线相连,SP/EN 引脚为输出;该位为0,8259A 工作于非缓冲方式,SP/EN 引脚为输入,用做主片、从片选择端。

D2:M/S 位,当D3即BUF 位为1时,该位才有效,用于主片/从片选择,0表示本片8259A 为从片,1表示本片8259A 为主片;当BUF 位为0时,该位无效,可设为任意值。

D1:AEOI 位,设置结束中断方式。

0表示中断正常结束,靠中断结束指令清除ISR 相应位;1表示自动结束中断,即CPU 响应中断后,立即自动清除ISR 相应位。

D0:μPM 位,设置微处理器类型。

0表示系统采用8080/8085微处理器;1表示系统采用8086/8088微处理器。

相关主题