微机原理笔记强烈推荐.docx
- 文档编号:7668887
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:12
- 大小:20.98KB
微机原理笔记强烈推荐.docx
《微机原理笔记强烈推荐.docx》由会员分享,可在线阅读,更多相关《微机原理笔记强烈推荐.docx(12页珍藏版)》请在冰豆网上搜索。
微机原理笔记强烈推荐
微机原理笔记
(一)--绪论
第一章绪论
1-2计算机的结构
总线:
信息传输的通道AB、DB、CB
常用术语:
位(bit):
字节(byte):
8为二进制数构成一个字节(char)
字:
16位二进制数构成一个字,两个字节(int)
双字:
32位二进制数构成一个字,两个字(long)
指令:
让CPU执行基本操作的命令
指令的构成:
操作数、操作码
CPU执行一条指令的过程:
取指令代码->译码->执行
指令系统:
CPU可执行所有指令的集合
程序:
指令的有机结合
1-3进位计数制
计算符号:
D10个、B2个、H16个
权:
D10的幂、B2的幂、H16的幂
基:
D10、B2、H16
十进制(D)->二进制(B)
整数部分:
除以二取余,逆序排列
小数部分:
乘以2取整,顺序排列
任意进制
整数部分,除以基取余,逆序排列
小数部分,乘以基取整,顺序排列
符号数的表示:
数的符号:
用一位(最高位)二进制数表示0(正数)1(负数)
原码:
最高位为符号数,符号位之后为该数的绝对值
反码:
最高位为符号位
正数的反码表示:
与该数原码相同
负数的反码表示:
在其正数反码表示基础上按位求反
补码:
正数的部门与原码相同
负数的部门在正数的补码表示,按位求反,在最低位加1
注:
1、补码不等于负数
2、求补不等于补码,求补是求其相反数的操作
二进制编码
1、BCD码
压缩的BCD码:
一个字节表示2位BCD码
非压缩的BCD码:
一个自己表示1位BCD码
2、ASCⅡ码:
七位二进制数表示一个符号高位为0
微机原理笔记
(二)--8086结构
一、8086CPU内部结构
算数逻辑单元(ALU):
运算器的重要部件,完成算术运算(加、减、乘、除、求补、与、或、异或、求反、移位、循环移位)
程序状态字(psw):
又称标志寄存器,记录运算结果的特征
控制器:
指令译码、发出控制信号、协调各部件工作
段寄存器:
CS、DS、SS、ES、IP(指令指针,存放下一条直线指令在存储单元内的地址,每取一个字节的指令代码会自动加1)
二、8086寄存器结构
AX:
16位寄存器,分为2个8位AH、AL
作用:
1、通用寄存器,数据的存取
2、与DX一起构成双字作为低16位,在乘法和除法指令中使用
3、作为累加器
BX:
16位寄存器,分为2个8位BH、BL
作用:
1、通用寄存器
2、作为访问存储器的地址指针
CX:
16位寄存器,分为2个8位CH、CL
作用:
1、通用寄存器
2、在循环指令中作为循环计数器、循环指令。
在串操作指令中传送计数器。
DX:
16位寄存器,分为2个8位DH、DL
作用:
1、通用寄存器
2、与AX一起构成双字作为高16位,在乘法、除法指令中使用
3、作为输入、输出地址,不可有作为存储器地址
BP:
16位寄存器
作用:
1、通用寄存器
2、访问存储器的地址指针
SP:
16位堆栈指针,只想堆栈的栈顶,可作为访问存储器地址
SI、DI:
16位寄存器
作用:
1、通用寄存器
2、可以作为访问存储器的地址
3、在变址寻址时作为变址寄存器
4、在串操作时,SI作为源指针,DI作为目的指针
psw:
程序状态字,16位寄存器,又称FL、FR
状态位:
CF、PF、AF、ZF、SF、OF(6位,操作结果的特征)
控制位:
TF、IF、DF
CF:
进位标志位。
运算结果最高位产生进位或借位,该位置为1,否则为0
PF:
奇偶标志位。
运算结果的低8位,有偶数个1,该位置1,有奇数个1,该位置0
AF:
辅助进位标志位。
运算结果的低4位产生进位或借位该位置1,否则置0
ZF:
全零标志位。
运算结果为0时,该位置1,否则置0
SF:
符号标志位(负数标志位)。
运算结果是负数,该位置1,否则置0
OF:
溢出标志位。
运算结果超出表示的范围,该位置1,否则置0
注:
符号数运算溢出,根据OF判断,不带符号数运算产生溢出根据CF判断
次高位产生进位a,最高位产生进位b,OF=a异或b
TF:
单步标志位。
若TF=1,执行一条指令后,产生一个中断,单步执行
IF:
中断标志位。
若IF=1,允许CPU响应可屏蔽中断
DF:
方向标志位。
串操作时使用。
DF=0,地址指针式增量+1或+2;DF=1,地址指针是减量-1或-2
三、8086CPU引脚介绍
电源(40),接地(1,20),时钟信号(19),重置(21)--输入引脚高电平有效
AD0~AD15:
地址/数据线,分时复用,地址A0~A15,数据D0~D15。
线传送地址,然后传送数据,双向输入/输出,三态(0,1,高阻)
A19/S6~A16/S3:
地址/状态线,分时复用,三态,输出,8086中S6不用,S5表示IF状态
BHE:
总线高位有效,输出,三态,低电平有效(8086没有)
BHE=0,表示CPU正在使用D8~D15进行数据传送
A0=0,表示CPU正在使用D0~D7进行数据传送
偶地址由D0~D7数据传数(A0=0)
奇地址由D8~D15数据传数(A0=1即bhe=0)
MN/MX:
最小/最大工作模式选择输入
最小模式:
MN/MX=1单CPU系统
最大模式:
MN/MX=0多CPU系统
ALE:
地址锁存允许信号,输出,高电平有效
开始传送地址时,ALE由0变成1,经过一定时间,ALE由1变成0锁存地址
M/IO:
存储器/IO,输出,三态(8088与其相反)
M/IO=1,访问存储器;M/IO=0,访问I/O
RD:
读、取数,输出,低电平有效,三态
RD=0,CPU从数据线上获取数据
WR:
写、输出、低电平有效、三态
DEN:
数据缓冲器控制(驱动器控制),输出,低电平有效
DT/R:
数据传送方向
DT/R=1,由CPU到存储器/IO;DT/R=0,由存储器/IO到CPU
READY:
准备就绪信号,输入,高电平有效
INIR:
可屏蔽中断请求,输入,高电平有效,与IF对应
INTA:
中断响应信号,输出。
等于0时,CPU响应屏蔽中断
NMI:
非屏蔽中断请求,不受IF控制,输入,上升沿有效
TEST:
输入,低电平有效,外部事件与CPU同步
HOLD:
总线请求信号,输入,高电平有效
HLDA:
总线响应信号
BX、BP、SI、DI、SP、IP、CS、DS、ES、SS可访问存储器的地址
8086存储空间1MB
四、8086存储器的组织结构
每段<=64KB记录段起始地址
偏移地址EA(有效地址)16位
BX、BP、SI、DI、SP、IP直接地址
限制:
段棋手地址的低四位必须为0
物理地址=段基址×16+EA(有效地址)
物理地址<-->存储单元
0300H:
0100H
PA=0300H*16+0100H=03000H+0100H=03100H
时序:
时钟周期:
1个CLOCK周期
总线周期:
4个时钟周期构成
控制信号:
变为有效->无效
指令周期:
一到几个总线周期构成
M/IO RD WR AO BHE 操作
1 0 1 0 1 D0~D7读M
0 1 1 0 D8~D15读M
0 1 0 0 D0~D15读M读16位
0 1 1 0 D8~D15读低位
0 1 0 1 D0~D7读高位
微机原理笔记(三)--寻址方式
寻址方式
得到操作数或操作数的地址的方法
1、立即寻址
指令中直接给出了参加操作的操作数
MOVAX,3680(80放入AL,36放入AH)
ADDBL,30H
用BL的内容加上30H的结果送入BL
立即数相当于C语言中的常量
2、寄存器寻址
操作数在CPU内部的某一个寄存器
ADDALAH//(AL)+(AH)->AL
SUBAHBL//(AH)-(BL)->AH
CF=1,PF=1,AF=0
ZF=0,SF=1,OF=0
3、直接寻址
指令中直接给出了操作数的有效地址EA(16位)
MOVAX[200H]
段寄存器缺省DS
MOVAXes:
[2000H]
ADDAL[2380H]
4、寄存器间接寻址
操作数的地址在BX、BP、SI、DI、SP
段基址:
BX(缺省)、SI、DI、DS、BP、SP
5、相对寄存器寻址
EA=(BX,BP,SI,DI)+指令给出的8位或16位位移量
MOVAX[BX+5]=MOVAX5[BX]
6、基址变址寻址方式
EA=(BX,BP)+(SI,DI)
BX缺省DS,BP缺省SS
7、相对基址变址寻址方式
EA=(BX,BP)+(SI,DI)+8位或16位位移量
注:
计算EA,结果一定是16位
计算PA,结果一定是20位
微机原理笔记(四)--数据传送指令
一、MOV
MOV目的,源
将源的内容送到目的中
MOV[AX],0//8位传送或16位传送
MOVbyteptr[BX],0//8位传送
MOVwordptr[BX],0//16位传送
通用寄存器、存储器<-->数寄存器[CS不可作为目的]
通用寄存器<-->存储器
通用寄存器<-->通用存储器
注:
1、CS、IP和立即数不能作为目的操作数
2、操作数的尺寸必须一致
3、两个操作数不能同时位存储器操作数(串操作除外)
二、堆栈操作指令
堆栈:
记寻返回地址,按照后进先出的原则组织,保存地址或数据的布局
硬件堆栈:
专门的布局,一般在CPU内部,速度快,容量小;
在存储器中开发一块区域作为堆栈使用,速度慢
8086堆栈生成方式
向下生成:
从地址高的地方向地址低的地方使用
向上生成:
从地址低的地方向地址高的地方使用
操作方式:
按字节(8051)
按字(8086)
按双字:
堆栈指针SP(16位)
指向栈顶(最后一个入栈数据存放单元)
入栈:
PUSH源
出栈:
POP目的
三、交换指令
XGHGop1,op2
op1,op2不可同时为存储器操作数,任何一个都不能为段寄存器操作数
四、换码指令
XLAT(表名)
五、地址传送指令
1、LEA目的,源
将源的有效地址(EA)送到目的中
2、LDS寄存器名,存储器
从源操作数指定的存储单元中取出4字节的连续地址,前2个字节送入目的寄存器,后两个字节送入DS中
六、标志传送
1、LAHF将psw中低8位送入AH中
2、SAHF将AH内容存入psw中低8位
3、pushF将psw送入栈中
4、popF标志出栈
七、输入输出指令
IN/OUT
微机原理笔记(五)--算数运算指令
一、加法指令:
(一)ADD:
不带进位位的二进制加法指令
ADD目的,源//两者均不能为段寄存器,目的不能为立即数
功能:
目的+源-->目的
将CF清零ADDAL,0
(二)ADC:
带进位的二进制加法指令
ADC目的,源//影响psw
功能:
目的+源+CF-->目的
(三)INC:
加1指令
INC目的(源)//影响psw,不影响CF
功能:
目的+1-->目的
(四)BCD加法调整指令
1、DAA:
组合的BCD码加法调整指令
功能:
AL的低四位>9或AF=1,AL+06H-->AL;否则什么都不做
AL的高四位>9或CF=1,AL+06H-->AL;否则不动作
注:
DAA只能调整AL,不能调整AH。
2、AAA:
非压缩的加法调整指令
功能:
根据当前标志,对AL内容进行调整
AL的低四位<=9且AF=0,只将AL的高四位清零
AL的低四位>9或AF=1(不会同时产生),AL+06H-->AL,AH+1-->AH
二、减法指令
(一)SUB:
不带进位的二进制减法指令
SUB目的,源
功能:
目的-源-->目的
(二)SBB:
带进位的二进制减法指令
SBB目的,源//影响psw
功能:
目的-源-CF-->目的
(三)DEC:
减1指令
DEC目的//影响psw,不影响CF
功能:
目的-1-->目的
(四)NEG:
求补指令
NEG目的//影响psw
功能:
0-目的-->目的
(五)CMP:
比较指令
CMPop1,op2//op1-op2,影响psw(同SUB)
用途:
比较两数是否相等:
ZF=1,op1=op2;ZF=0,op1!
=op2
比较两个无符号数大小:
CF=1,op1=op2;CF=0&ZF=0,op1>op2;
比较两个带符号数大小:
OF⊕SF=0,op1>=op2;
OF⊕SF=1,op1 (OF⊕SF=0)&ZF=0,op1>op2 (六)DAS: 压缩BCD码调整 (七)AAS: 非压缩BCD码调整 三、乘法指令 (一)MUL: 无符号数乘法指令 MUL源//源不能为立即数,可以是8位二进制数,16位二进制数 功能: 若源为8位,AL*源-->AX; 若源为16位,AL*源-->DX,AX 若运算结果高半部分为0,则OF=0,否则为1 (二)IMUL: 无符号数乘法指令 IMUL源 注: 若乘积高半部分为低半部分的符号扩展,择CF=0&OF=0,否则为1 (三)AAM: 乘法的ASCII调整指令 四、除法指令: (一)DIV: 无符号数除法指令 DIV源 功能: 如果源是8位,AX/源-->AL(高),AH(余) 如果源是16位,DX,AX/源-->AX(高),DX(余) 注: 此指令会产生除法溢出,即16位除以8位,结果必须是8位,32位除以16位结果必须为16位。 (二)IDIV: 符号数除法指令 IDIV源 功能: 如果源为8位,AX/源-->AL(高),AH(低) 如果源为16位,DX,AX/源-->AX(高),DX(低) 注: 除法溢出同DIV (三)CBW 功能: 把AL中字节的符号位扩充到AH的所有位,这时AH被称为AL的符号扩充 注: 不影响psw (四)CWD (五)AAD: 除法的ASCII调整指令 功能: 在做除法前,把BCD码转换成二进制数 注: 影响SF,ZF,PF,对OF,CF,AF无定义 微机原理笔记(六)--逻辑运算和移位指令 一、逻辑运算和移位指令 (一)NOT: 取反指令 格式: NOT目的 功能: 目的<--目的取反 注: 对标志位无影响 (二)AND: 逻辑与指令 格式: AND目的,源 功能: 目的<--目的与源 注: 主要用于操作数某些保留(“与1”),和某些位清除(“与0”) (三)OR: 逻辑或指令 格式: OR目的,源 功能: 目的<--目的或源 注: “0或”保留,“1或”置1 (四)XOR异或指令 格式: XOR目的,源 功能: 目的<--目的异或源 注: “0异或”保留,“1异或”取反 (五)TEST 格式: TEST目的,源 功能: 目的与源,仅修改FR 二、算术逻辑和移位指令 (一)SAL/SHL: ShiftArithmeticLeft 格式: SAL目的,计数值 功能: CF<--MSB<--LSB<--0 注: 1、左移动一次,相当于目的操作数乘2 2、只需移动一次,直接将计数值置1 大于一次,利用CL 3、符号位改变: 一次移位,OF置1;多次移位,OF不定 符号位不变: 一次移位,OF清0;多次移位,OF不定 CF=最后移出地值,SF,ZF根据操作数状态,PF当操作数在AL有效,AF不定 (二)SHR: ShiftLogicRight 格式: SHR目的,计数值 功能: 0-->MSB-->LSB-->CF 注: 右移除2,但余数丢掉(无符号数) (三)SAR: ShiftArithmeticRight 格式: SAR目的,计数值 功能: MSB->LSB-->CFMSB-->MSB 注: 高位保持不变(有符号数) (四)循环移位指令: Rotate ROL: RotateLeft ROR: RotateRight RCL: RotatethroughCarryLeft RCL: RotateThroughCarryRight
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 笔记 强烈推荐