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

  • 格式:docx
  • 大小:63.03 KB
  • 文档页数:12

下载文档原格式

  / 12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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~FFFFFH

19.保护断点和现场。此为堆栈的主要功能。

(a) 堆栈空(b) 执行PUSH AX

PUSH BX

PUSH CX 指令后

(c) 执行 POP BX

POP CX 指令后

A

19

总线读周期的时序

存储器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)+2

ADD 加法,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 19

CALL 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)+2

RET pop_value ;(IP)←((SP)+1:(SP)), (SP)←(SP)+2

;(SP)←(SP)+pop_value

2)从远过程返回:

RET ;(IP)←((SP)+1:(SP)), (SP)←(SP)+2

;(CS)←((SP)+1:(SP)), (SP)←(SP)+2

RET pop_value;(IP)←((SP)+1:(SP)), (SP)←(SP)+2

;(CS)←((SP)+1:(SP)), (SP)←(SP)+2

;(SP)←(SP)+pop_value

RET指令还允许带一个弹出值(pop_value),这是一个范围为0~64 K的立即数,通