10微机原理复习文档格式.docx
《10微机原理复习文档格式.docx》由会员分享,可在线阅读,更多相关《10微机原理复习文档格式.docx(15页珍藏版)》请在冰点文库上搜索。
基址指针寄存器BP
堆栈指针寄存器SP
源变址寄存器SI
目的变址寄存器DI
4)EU执行控制部分
2.总线周期:
BIU通过系统总线对存储器或I/O端口进行一次读/写操作的过程称为一个总线周期.
3.8086CPU指令列队的作用:
存储预取指令
地址加法器的作用:
计算20位的物理地址
4.在总线周期的T1~T4状态,CPU分别执行什么操作?
在CPU的读/写总线周期中,数据在哪个状态出现在数据总线上?
T1状态:
发送地址信息
T2状态:
低16位置为高阻抗状态,为传输数据作准备。
高4位传送状态信息
T3状态:
CPU在总线的高4位传送状态,低16位传送数据
T4状态:
总线周期结束。
数据在T3状态出现在数据总线上。
5.8086/8088常见引脚的功能
最大工作模式和最小工作模式的区别:
最小工作模式是只有一个CPU微处理器.最大工作模式是系统中包含两个或两个以上的微处理器,期中一个为主处理器,其他为协处理器.
1)AD15~AD0-地址/数据总线(分时复用)
2)A19/S6~A16/S3-地址/状态线(分时复用)状态线:
输出状态信息S6~S3。
这里S6始终为0;
S5=IF;
而S4和S3表示正在使用哪个段寄存器。
3)BHE低/S7(输出)
4)RD低(输出):
表示CPU正从存储器或I/O端口读取信息。
5)WR低(输出),表示CPU正将信息写入存储器或I/O端口。
6)M/(IO低)(Memory/IO)(输出)。
用于区分当前操作是访问存储器还是访问I/O端口。
7)MN/(MX低)(Minimum/Maximum)(输入):
1:
最小方式,0:
最大方式。
8)INTA低(InterruptAcknowledge)(输出),当8086响应来自INTR引脚的可屏蔽中断请求时,在中断响应周期,输出低电平。
9)ALE(AddressLatchEnable)(输出),表示地址线上的地址信息有效。
ALE常用作地址锁存器的锁存控制信号。
10)DT/(R低)(DataTransmit/Receive)(输出)。
用于指示数据传送的方向。
11)DEN(DataEnable)(输出),表示CPU准备接收/发送数据。
通常作为数据缓冲器的选通信号。
6.寄存器结构:
14个16位寄存器AX传送字CX计数器BX,DX
7.8086/8088CPU系统的存储器组成:
物理地址与逻辑地址的关系:
由逻辑地址求物理地址
8086存储器的分体结构:
奇地址存储器和偶地址存储器
字的存放方式读的时候从偶地址开始存放
第三章指令系统
1.MOVDST(目的操作数),SRC(源操作数)
2.会判断源,目的操作数的寻址方式.内存单元操作数均放在内存单元中.
3.寻址方式:
1)立即寻址:
(源操作数紧跟在操作吗后面)直接给出8位或16位的操作数(立即数)。
例MOVAX,3578H;
2)寄存器寻址:
指令给出存放操作数的寄存器名称。
例2MOVAX,BX
3)直接寻址:
直接给出内存单元,例MOVAX,[3000H];
4)寄存器间接寻址:
偏移地址放在寄存器中给出,例MOVAX,[3000H];
5)变址寻址:
既有寄存器又有常数,例MOVAX,4000H[BP]或MOVAX,[BP+4000H]
6)基址加变址寻址:
两个寄存器,一个基址寄存器,一个变址寄存器,例MOVAX,[BX][DI]或MOVAX,[BX+DI]
4.指令系统:
A系统传送类指令
1)1)传送-MOV(Move)
格式:
MOVDST,SRC
;
DST≡{R,M};
SRC≡{R,M,Imm}
功能:
DSTSRC(8/16)
2)入栈-PUSH
PUSHSRC;
SRC≡{R,M}字
SPSP-2;
(SP,SP+1)SRC
3)出栈-POP
POPDST;
DST≡{R,M}字
DST(SP,SP+1);
SPSP+2;
4)换码-XLAT(TranslateBytetoAL)
XLAT;
隐含操作数BX,AL
AL[BX+AL]
5)取有效地址-LEA(LoadEAtoRegister)
LEAREG,SRC;
SRC≡{M}
将SRC的偏移地址传送寄存器REG
例LEAAX,DAT1等效:
MOVAX,OFFSETDAT1
但LEA和OFFSET是有区别的
6)指针送寄存器和LDS(LoadPointertoDS)
LDSREG,SRC;
REGSRC低字(偏移地址);
DSSRC高字(段地址)
例设数据定义VAR1DD20001000H;
LDSAX,VAR1AX=1000H,DS=2000H
7)指针送寄存器和ES-LES(LoadPointertoES)
LESREG,SRC;
ESSRC高字(段地址)
LDS和LES指令常用于串处理指令之前传送源串和目标
串的地址指针
8)输入输出指令IN,OUT8086/8088通过该指令与外部设备进行数据交换。
B算术运算指令
1)加法-ADD(Add)
ADDDST,SRC
DST≡{R,M};
SRC≡{R,M,imm}
DSTSRC+DST且影响FLAGS
注意:
不能同时为M
例设DS=2000H,BX=1200H,(2225AH)=44H,(2225BH)=33H
ADD[BX+105AH],1322H;
1322H+3344H=4666H
OF=0;
SF=0;
ZF=0;
AF=0;
PF=1;
CF=0;
2)带进位加法-ADC(AddwithCarry)
ADCDST,SRC;
DSTSRC+DST+CF
用途:
实现多字节(多字)的加法。
例实现两个双字数的加法,DX,AX+CX,BX
DX=0002H,AX=0F365H,CX=0005H,BX=0F024H
ADDAX,BX;
SF=1;
PF=0;
CF=1;
ADCDX,CX;
3)加1-INC(Increment)
INCDST;
DST≡{R,M}
DSTDST+1
INC不影响CF
例已知DS=1200H,BX=0500H,DI=0004H,(12504H)=0FFH,
(12505H)=0FFH
INCWORDPTR[BX+DI]
PA=12000H+0500H+0004H=12504H
0FFFFH+1=0000H,(12504H)=00H,(12505H)=00H
4)减法-SUB(Subtract)
SUBDST,SRC
DSTDST-SRC
5)带借位减法-SBB(SubtractwithBorrow)
SBBDST,SRC
DSTDST-SRC-CF
实现多字节(或多字)的减法。
6)减1-DEC(Decrement)
DECDST;
DST≡{R,M}
DSTDST-1
不改变CF标志
7)比较-CMP(Compare)
CMPDST,SRC
DST-SRC将结果的标志送Flags。
比较数的大小,影响标志位,但不回送结果。
例已知DS=3000H,DI=0530H,AX=1FB8H,(30530H)=B8H,
(30531H)=1FH
CMPAX,[DI]
1FB8H-1FB8HCF=0;
PF=1;
ZF=1;
AF=0;
SF=0
C逻辑运算/移位指令
1)逻辑与指令-AND(And)
ANDDST,SRC
SRC≡{R,M,Imm}
DSTDSTANDSRC
保留有用位,去掉无用位。
例将AL中的ASCII码转为BCD数
ANDAL,0FH
2)测试指令-TEST(AndFunctiontoFlagsNoResult)
TESTDST,SRC;
DSTANDSRC;
不回送结果,但将结果的特征送FR
在不改变原有操作数的情况下,测试DST中某
些位的状态
例测试AL中的D0位
TESTAL,01H;
若ZF=1,则D0=0;
若ZF=0,则D0=1
D串操作指令
1)串传送指令-MOVS(MoveByte/Word)
①MOVS;
目标串,源串,MOVS不能单独用
②MOVSB;
字节串传送
③MOVSW;
字串传送
从源串中取一个字节/字送目标串,自动修改SI和DI。
若加上REP前缀,则每传送完一个元素,CX减量,直到CX=0为止。
将整注解
个源串送目标串,允许两个串的长度不等。
例DSEGSEGMENT
SRCSTRDB'
1234567890'
DSTSTRDB8dup(0)
DSEGENDS
MOVAX,DSEG
MOVDS,AX
MOVES,AX
LEASI,BUF1
LEADI,BUF2
CLD
MOVCX,10
REPMOVSB
2)串比较指令-CMPS(CompareByte/Word)
①CMPS;
目标串,源串
②CMPSB;
字节串比较
③CMPSW;
字串比较
将源串的一个元素和目标串中相对应的一个元素进行比较,根
据结果特征置标志位,并修改SI和DI,使之指向下一元素。
通常在CMPS指令前加重复前缀REPE/REPZ,用来寻找两个串中的第一个不
相同数据。
例串比较
BUF1DB'
AbcdE'
BUF2DB'
AbcdF'
MOVCX,COUNT;
串长度
REPECMPSB;
串比较,直到ZF=0或CX=0
ANDCX,0FFH
有该指令本比较结果会认为两个串是相同的,CMPSB根
据结果修改ZF,AND也影响ZF,因此不能用该指令
JZAGAIN
DECSI
MOVBX,SI;
取第一个不相同字符偏移地址
MOVAL,[SI];
取第一个不相同字符
JMPSTOP
AGAIN:
MOVBX,0;
两串完全相同
3)串扫描指令-SCAS(ScanByte/Word)
①SCAS;
目标串
②SCASB;
字节串扫描
③SCASW;
字串扫描
从目标串中查找事先置在AX或AL中的关键字。
SCAS指令将AX/AL中的关键字和DI所指向的目标串中一个元素相比较,
不传送结果,只根据结果置标志位,修改DI指向下一个元素。
通常在SCAS指令之前加重复前缀REPNE/REPNZ,用来从目标串中寻找关键
字,操作一直进行到ZF=1或CX=0为止。
E程序控制指令
1)JMP无条件转移指令
JMPOPRD;
OPRD是转移的目的地址
2)条件转移指令
JXXOPR;
OPR≡{标号}
操作:
当条件XX满足时则转移到OPR执行(IPIP+D8),
否则顺序执行。
第四章汇编语言程序设计
1.段结构:
必有代码段,其他段可有可无。
2.语句类型:
执行性语句和说明性语句
3.常用伪指令:
A.段定义伪指令
段名SEGMENT[定位类型][组合类型][类别]
逻辑段内容
段名ENDS
段名是该逻辑段的标识符,不可以缺省,由它来确定该逻辑段在存储器中的首地址;
SEGMENT和ENDS是伪指令名,为关键字,不可以缺省,而且必须成对出现,必须具有相同的段名;
B.段寻址伪指令
ASSUME段寄存器:
段名[,段寄存器:
段名,…]
C.汇编语言结束伪指令
END表达式
D.等值伪指令EQU
符号名EQU表达式
等号伪指令=
符号名=表达式
E.数据定义伪指令
DB—定义字节,每个数据占一个字节
DW—定义字,每个数据占一个字(2个字节)低字节放在低地址
DD—定义双字,每个数据占2个字,低字节在低地址,高字节在高地址。
F.定位伪指令
ORG数值表达式
将汇编地址计数器设置成数值表达式的值。
该值为0~65535之间的非负整数。
4.运算符
MOD(取余)
1)SEG运算符
SEG变量或标号;
计算段地址
2)OFFSET运算符
OFFSET变量或标号;
计算偏移地址。
MOVAX,SEGNPMOVAX,OFFSETNP
3)TYPE运算符
TYPE变量或标号;
计算变量或标号的类型值。
4)LENGTH运算符
LENGTH变量
对于使用DUP单独定义的变量,计算分配给该变量的单元数,其他变量的LENGTH值为1。
5)SIZE运算符
SIZE变量
对于使用DUP单独定义的变量,计算分配给该
变量的字节数,其他变量的SIZE值为1
5.基本程序结构设计
1)基本构架
第五章微型计算机系统总线
1.系统总线分为
地址总线AB单向
数据总线DB双
控制总线CB双
2.系统总线的主要性能指标
1)总线宽度
2)总线时钟频率
3)总线带宽
关系:
总线带宽=总线宽度*总线时钟频率/8
3.总线仲裁
总线握手
总线主设备
总线从设备
第六章半导体存储器
1.存储器的分类:
A.安制造工艺1)双极型2)金属氧化物半导体
B.按存取方式1)随机存取存储器RAM。
2)只读存储器ROM
2.半导体存储器的组成1)存储体2)译码驱动电路3)地址寄存器MAR,4)读写驱动电路5)数据寄存器MDR,6)控制逻辑
3.存储器系统的组织
三种片选方法:
①全译码法:
低位地址线作为存储器芯片的片内寻址,剩下的高位地址线作为存储器芯片的片间寻址
②部分译码法:
CPU的高位地址线中只有一部分用于存储器芯片的片间寻址
③线选法:
高位地址线作为存储器芯片的片选信号
第七章微型计算机和外部设备间的数据传输
1、I/O口交换信息分类
数据信息;
状态信息;
控制信息
2、I/O口功能
设备选择功能;
数据缓冲功能;
信号转换功能;
可编程功能;
中断管理功能;
数据宽度变换功能
3.CPU外设之间数据传送方式
1)无条件传送方式
2)查询传送方式
3)终端传送方式
4)DMA方式
第八章中断系统
1.中断:
是指CPU执行程序过程中,由于某种事件发生,迫使CPU暂时终止正在执行的程序(主程序),转去执行该事件的处理程序(中断服务程序),待处理完毕后,又返回到原程序的断点处,继续往下执行的过程
2.中断的分类:
1)外部中断(硬中断)①不可屏蔽中断NMI②可屏蔽中断INTR
2)内部中断(软中断)①除法错误②单步中断③溢出中断④指令中断⑤断点中断
3.8086/8088可以处理256个不同类型的中断源。
中断向量表的位置0-3FFH
4.、中断向量表
中断向量地址=4×
中断类型码