您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 往来文书 > 微机原理笔记(强烈推荐)
1、微机原理笔记(一)--绪论第一章绪论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、等于负数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位。
3、寄存器,分为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、DFCF:进位标志位。运算结果最高位产生进位或借位,该位置为1,否则为0PF:奇偶标志位。运算结果的低8位,有偶数个1,该位置1,有奇数个1,该位置0AF:辅助进位标志位。运算结果的低4位产生进位或借位该位置1,否则置0ZF:全零标志位。运算结果为0时,该位置1,否则置0SF:符号标志位(负数标志位)。运算结果是负数,该位置1,否则置0OF:溢出标志位。运算结果超出表示的范围,该位置1,否则置0注:符号数运算溢出,根据OF判断,不带符号数运。
4、算产生溢出根据CF判断次高位产生进位a,最高位产生进位b,OF=a异或bTF:单步标志位。若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多。
5、CPU系统ALE:地址锁存允许信号,输出,高电平有效开始传送地址时,ALE由0变成1,经过一定时间,ALE由1变成0锁存地址M/IO:存储器/IO,输出,三态(8088与其相反)M/IO=1,访问存储器;M/IO=0,访问I/ORD:读、取数,输出,低电平有效,三态RD=0,CPU从数据线上获取数据WR:写、输出、低电平有效、三态DEN:数据缓冲器控制(驱动器控制),输出,低电平有效DT/R:数据传送方向DT/R=1,由CPU到存储器/IO;DT/R=0,由存储器/IO到CPUREADY:准备就绪信号,输入,高电平有效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。
6、、DI、SP、IP直接地址限制:段棋手地址的低四位必须为0物理地址=段基址×16+EA(有效地址)物理地址--存储单元0300H:0100HPA=0300H*16+0100H=03000H+0100H=03100H时序:时钟周期:1个CLOCK周期总线周期:4个时钟周期构成控制信号:变为有效-无效指令周期:一到几个总线周期构成M/IORDWRAOBHE操作10101D0~D7读M0110D8~D15读M0100D0~D15读M读16位0110D8~D15读低位0101D0~D7读高位微机原理笔记(三)--寻址方式寻址方式得到操作数或操作数的地址的方法1、立即寻址指令中直接给出了参加操作的操作数MOVAX,3680(80放入AL,36放入AH)ADDBL,30H用BL的内容加上30H的结果送入BL立即数相当于C语言中的常量2、寄存器寻址操作数在CPU内部的某一个寄存器ADDALAH//(AL)+(AH)-ALSUBAHBL//(AH)-(BL)-AHCF=1,PF=1,AF=0ZF=0,SF=1,OF=03、直接寻址指令中直接给出了操作数的有效地址EA(16位)MOVAX[200H]段寄。
7、存器缺省DSMOVAXes:[2000H]ADDAL[2380H]4、寄存器间接寻址操作数的地址在BX、BP、SI、DI、SP段基址:BX(缺省)、SI、DI、DS、BP、SP5、相对寄存器寻址EA=(BX,BP,SI,DI)+指令给出的8位或16位位移量MOVAX[BX+5]=MOVAX5[BX]6、基址变址寻址方式EA=(BX,BP)+(SI,DI)BX缺省DS,BP缺省SS7、相对基址变址寻址方式EA=(BX,BP)+(SI,DI)+8位或16位位移量注:计算EA,结果一定是16位计算PA,结果一定是20位微机原理笔记(四)--数据传送指令一、MOVMOV目的,源将源的内容送到目的中MOV[AX],0//8位传送或16位传送MOVbyteptr[BX],0//8位传送MOVwordptr[BX],0//16位传送通用寄存器、存储器--数寄存器[CS不可作为目的]通用寄存器--存储器通用寄存器--通用存储器注:1、CS、IP和立即数不能作为目的操作数2、操作数的尺寸必须一致3、两个操作数不能同时位存储器操作数(串操作除外)二、堆栈操作指令堆栈:记寻返回地址,按照后进先出的原则组织,。
8、保存地址或数据的布局硬件堆栈:专门的布局,一般在CPU内部,速度快,容量小;在存储器中开发一块区域作为堆栈使用,速度慢8086堆栈生成方式向下生成:从地址高的地方向地址低的地方使用向上生成:从地址低的地方向地址高的地方使用操作方式:按字节(8051)按字(8086)按双字:堆栈指针SP(16位)指向栈顶(最后一个入栈数据存放单元)入栈:PUSH源出栈:POP目的三、交换指令XGHGop1,op2op1,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目的,源//两者均不能为段寄存器,目的不能为立即数功能:目。
9、的+源--目的将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。
10、,op2//op1-op2,影响psw(同SUB)用途:比较两数是否相等:ZF=1,op1=op2;ZF=0,op1!=op2比较两个无符号数大小:CF=1,op1=op2;CF=0&ZF=0,op1op2;比较两个带符号数大小:OF⊕SF=0,op1=op2;OF⊕SF=1,op1OP2;(OF⊕SF=0)&ZF=0,op1op2(六)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(余。
本文标题:微机原理笔记(强烈推荐)
链接地址:https://www.777doc.com/doc-7262826 .html