导图社区 微机原理
微机原理主要内容包括微型计算机体系结构、8086微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。本思维导图着重解释8086指令系统,包括:1.基本数据类型;2.寻址方式;3.6个通用指令三大板块知识,赶快收藏学起来吧!
编辑于2018-11-29 07:48:138086
中断技术
中断分类
p
优先级
p
除法出错(类型0)
into溢出(类型4)
int n系统功能调用
单步、断点运行(类型1)
不可屏蔽中断
非屏蔽中断 nmi引入 硬件故障:电源失电,内存出错 类型号为二
中断号概念
中断号x4→中断向量指针→中断向量表
中断向量的装入和取出
代码
规范装入
MOV AX,SEG INTP MOV DS,AX MOV DX,OFFSET INTP ;将中断向量送DS:DX MOV AL,80H ;将中断类型号送AL MOV AH,25H ;25号功能 INT 21H
非规范装入
非规范装入 PUSH DS MOV AX,0 MOV DS,AX MOV BX,80H*4 MOV [BX],OFFSET INTP MOV [BX+2],SEG INTP POP DS
取出
p
实际运行
p
装入顺序
偏移地址在前,段基址在后 低位在前 高位在后 例如 1234H:5678H在内存中如下: 78H 56H 34H 12H
装入图解
p
8259的初始化
ICW1 13H
p
ICW2 80H
p
ICW3 级联时设置
p
ICW4 01H
全嵌套 非缓冲 普通EOI 8086/8088配置
图示
p
OCW1 0FEh
屏蔽谁谁是1
OCW2 20H 中断子程序中写入
p
代码
MOV DX,9000H ;icw1 MOV AL,13H OUT DX,AL MOV DX,9002H ;icw2 MOV AL,80H OUT DX,AL MOV DX,9002H ;icw4 MOV AL,1 OUT DX,AL MOV DX,9002H MOV AL,0FEH ;ocw1 OUT DX,AL INTP PROC NEAR MOV DX,9000H ;ocw2 MOV AL,20H OUT DX,AL IRET INTP ENDP
必做
PROTEUS两点必做
ASSUME后 START前加入
ORG 0000H JMP INTP ;(中断子程序名字) ORG 0400H
数据段要放在代码段后面
CODE SEGMENT . . . CODE ENDS DATA SEGMENT . . DATA ENDS END START
初始化四点必做
装入中断向量
ICW1\ICW2\ICW4
OCW1(IMRK=开放对应位)
STI
中断服务子程序两点必做
发中断结束命令20H
IRET
其他
级联
级联最多扩展64中断源 两片15 三片22
中断响应周期
中断响应周期 inta两个低电平 第一个通知8259准备类型号 第二个读取中断类型号
可编程接口芯片8255
内部结构及引脚信号
p
方式选择控制字
p
方式0
A输入B输出 90H A输出B输入 82H
8086微处理器概述
编程结构
EU/BIU
寄存器
通用寄存器
AX累加器 BX基址寄存器 CX计数器 DX数据寄存器 SP堆栈指针寄存器 BP堆栈基址指针寄存器 SI源变址寄存器 DI目的变址寄存器
控制寄存器
FLAG状态标志寄存器 IP指令指针寄存器
段寄存器
CS代码段寄存器 DS数据段寄存器 SS堆栈段寄存器 ES附加段寄存器
存储器
物理地址和内容
物理地址:CPU将所管理的存储器空间按顺序编排的地址;8086的物理地址用20位二进制无符号数表示; 内容:存储单元中有效的信息; 每个地址单元存放一个字节; 一个字存入存储器占用连续的两个单元,低字节存入低地址,高字节存入高地址; 字单元的地址用它的低地址来表示。
存储器分段结构
分段原则
分段原则: (1)每个段最长64K字节,段内地址是连续的,段与段之间可以是连续的,也可以是分开的或重叠的。 (2)每段首地址的低四位必须为0,高十六位为段基址。
逻辑地址和物理地址
任一逻辑地址可唯一的对应一个物理地址;任一个物理地址不一定对应一个逻辑地址。
存储器分体
将字的高位存放在奇地址的存放叫字对准存放; 将字的高位存放在偶地址的存放叫字不对准存放。
周期
时钟周期
时钟周期T:计算机中最基本的时间单元,由计算机主频决定。例:8086主频5M,则时钟周期为1/5M=200ns
总线周期
总线周期:CPU对内存或I/O接口进行一次读/写的操作称做执行一个总线周期,最基本的总线周期包括四个时钟周期。
指令周期
指令周期:CPU执行一条指令所需的时间,一个指令周期包含若干个总线周期。
图例理解
读操作
写操作
最小模式引脚信号
最小模式:只有一个CPU,所有的总线控制信号都直接由这个CPU产生。MN/MX接+5V。
引脚复用技术
ALE控地址 DEN控数据
AD0-AD16地址数据复用线,双向
A19~A16/ S6~S3 地址/状态复用线,输出
BHE/S7 数据高8位允许/状态,输出
组合A0 低有效
ALE 地址锁存允许,输出引脚,为地址锁存器提供控制信号
T1:ALE=1 表明AD总线上是地址信号。
DEN 数据允许信号,输出引脚,为数据收发器提供控制信号
T2~T3:DEN=0 表明CPU当前准备发送或接收数据。
DT/R 数据发送/接收控制信号,输出引脚,控制收发器数据传送方向
DT/R=1 发送 (= 0接收)
M/IO 存储器/IO设备控制信号,输出引脚
M/IO=1,访问存储器;=0,访问I/O设备。
RD 读信号,输出引脚
WR 写信号,输出引脚
READY 准备就绪信号,输入引脚
INTR 中断请求信号,输入引脚
INTA 中断响应信号,输出引脚
NMI 不可屏蔽中断请求信号,输入引脚
HOLD 总线请求信号,输入引脚
HLDA 总线响应信号,输出引脚
RESET 复位信号,输入引脚
RESET至少要维持4个T的高电平才有效。
CPU复位操作为:对FR、IP、DS、ES、SS及指令队列清零, CS=FFFFH。
其他
17. TEST 测试信号,输入引脚。 当CPU执行WAIT指令时, 每隔5个时钟周期, 对TEST进行一次测试, 若TEST为高电平, 则CPU处于踏步等待状态, 直到TEST为低电平, CPU才继续执行下一条指令。 18. MN/ MX 工作模式选择信号,输入引脚。 MN/MX=1:最小模式(=0 最大模式) 19. GND,VCC 地和电源。 20. CLK 时钟信号,输入引脚。
8086指令系统
寻址
立即寻址 寄存器寻址 直接寻址 mov al,【2000H】 寄存器间接寻址 寄存器相对寻址 基址变址寻址 基址变址相对寻址
位扩展
在计算EA时,位移量若为8位,则应将其扩展为16位方能相加,且结果取低16位有效 ; 扩展方法为: 正数——高8位扩展为00H 负数——高8位扩展为FFH
数据传送指令
MOV
操作数类型要匹配 不允许向段寄存器传送立即数 段寄存器间不能互相传送 存储器之间不能直接传送数据 不改变标志位
堆栈操作PUSH POP
字操作 立即数不能位操作数 先入先出
数据交换XCHG
不能同时为存储器 不能同时为段寄存器 不能是立即数 不影响标志位
换码/查表指令XLAT
表头偏移地址给BX AL放位移量 p
输入/输出指令
0FFH以上放DX 寻址范围64k(IO)
地址传送指令
LEA
16位 等价于MOV AX,OFFSET NAME
LDS
p
标志压栈PUSHF
算术运算指令
ADD dst,src ;dst←dst+src ADC dst,src ;dst←dst+src+CF INC opr ;opr←opr+1 不影响CF SUB dst,src ;dst←dst – src SBB dst,src ;dst←dst – src – CF DEC opr ;opr←opr – 1 不影响CF NEG opr ;opr←0 – opr CMP opr1,opr2 ;opr1-opr2 存储器位数注释ptr 压缩加法daa 非压缩加法aaa 压缩减法das 非压缩减法aas
逻辑运算指令
清零某位AND
判断正负零OR
某位取反/清零XOR
NOT
TEST
移位指令
串操作指令
p CLD
跳转
查表
ASCII
‘A’~’Z’的ASCII码是41H-5AH ; 小写字母‘a’~’z’的ASCII码是61H-7AH ; 数字’0’-‘9’的ASCII码是30H-39H; 回车ASCII码是0DH; 换行ASCII码是0AH
标志寄存器FR