ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:46.65KB ,
资源ID:19496896      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19496896.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(8086微机原理总结Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

8086微机原理总结Word文档下载推荐.docx

1、执行单元EU、总线接口单元BIU内部包括:运算器,寄存器组,控制逻辑,指令队列,20位加法器。(二)执行单元 EU 运算器 16位内部数据总线 数据寄存器AX、BX、CX、DX 地址指针寄存器SP、 变址寄存器SI 标志寄存器FR总线接口BIU20位地址加法器段寄存器:代码段寄存器CS、堆栈段寄存器SS、数据段寄存器DS、附加 段寄存器ES指针寄存器:IP指令队列(三)8086/8088异同相同:均为16位数据总线,均可处理8位、16位数据。外部存储器寻址范围1M空间,I/O寻址范围64K。不同:8088内部数据总线16位,外部数据总线8位。8086内部指令队列6字节,2字节是空时BIU取指令

2、,8088内部指令队列4字节,1字节为空时取指令28管脚8086为M/IO非是对存储器或者对I/O操作控制线8088为IO/M非34管脚8086为BHE非,是高八位数据有效信号线,8088是SS0,是确定当前总线周期的读写操作线。(四)1时钟周期两个时候总脉冲的间隔,T表示。主频为8MHz时,一个T为125ns2总线周期完成一个基本操作所用的时间。由T1、T2、T3、T4组成。3指令周期执行一条指令需要的周期。一个指令周期可以由一个或者多个总线周期组成。(五)读总线周期M/IO非高电平为存储器读总线周期,反之为IO读总线周期。T1根据指令给出M/IO非状态;地址数据总线AD15-AD0提供地址

3、,A19/S6-A16/S3提供高4位地址星系,对IO读为高阻。地址锁存信号ALE置1,地址信息稳定到ALE变0.如果对高8位操作,BHE非给出低电平有效状态。DT/R非为低电平表示执行读操作。T2 A19/S6-A16/S3提供状态信息,持续到T4,AD15-AD0高阻。RD非变为有效。T3 T4 外部数据将数据送上总线,报纸稳定。出出气或者接口比CPU慢则T3不能提供稳定数据,那么有硬件产生T3、T4之间的几个Tw等待状态写总线周期T1同读周期,只是DT/R非为高电平,T2-T4地址状态线提供状态信息。写信号WR非有效。T4状态结束,所有信号恢复到周期前。 第五章(六)1对存储器分段管理模

4、式所有数据以字节形式存储在存储单元,每个单元均有唯一20位地址,称为物理地址。每个存储单元一定处在某个段中,距离该段其实单位有一个偏移量,指令中描述为段基址:逻辑地址。存储类型寄存器Cache内存储器硬盘存储光盘存储移动存储访问速度Ns级几十nsUs级Us级 容量几十小于几十MB小于1G几百GB几百MB几十K-几十G存储芯片容量=单元数*数据位数(七)半导体存储器基本组成(1)存储体 内个基本存储电路存储一位二进制。8个作为一个整体(2)地址寄存/译码器。CPU把地址码通过地址总线送至地址寄存器,由地址译码器对地址译码,即可确定存储单元。地址线根数决定译出的编码个数。单译码:线性译码,是全部地

5、址通过逻辑电路进行编码构成译码电路。随着译码线根数增加,电路复杂程度指数增加,只适用容量较小存储器。双译码:复合译码,两个译码器分别译码。X译码器为行译码,Y译码器为列译码。输出线用来选择存储矩阵中一列所有的存储单元,行和列交叉点处X和Y为一个状态,只有X向和Y向选择先同时选中存储器才能读写操作。减少了输出线。(3)数据寄存器是存储信息流动的通道。读写操作作为从存储单元读出的信息,写操作作为把要存的信息写入存储单元。芯片未被选中为高阻。可以实现协调CPU和存储器之间的速度差异。(4)控制电路控制整个芯片是否被宣统和控制存储信息流动的方向。只有当信号CS非,CE非有效存储器才能与外界交换信息。(

6、八)(1)位扩充:存储器有1、4、6、16、32位,容量也各不相同。例如1K*1的芯片组成1K*8的存储器需要8片,用1K*4位芯片需要两片。(2)字扩充:用容量较小存储器组成容量较大存储器,采用串联方法。若干芯片串联构成需要的存储器。高位地址输入到译码器,经过译码器输出对每个芯片片选。各个芯片数据线控制线低位地址并联。(九)地址译码1逻辑电路实现译码 译码器实现译码2方案全译码:将全部片选地址参加片选译码,可以对全部存储空间寻址,每个存储单元地址唯一。部分译码:地址总线中片选某些参与译码,产生信号作为存储芯片片选。线译码:直接用某根片选地址作为选择存储芯片片选线。区别:全译码不浪费地址空间,

7、各芯片之间地址连续不重叠。便于系统扩展。部分译码电路简单,每个存储单元地址不唯一。线译码不能充分利用存储空间,只适用于存储芯片少的情况。(十)存储器CPU连接1地址线连接片选地址:地址由地址译码电路译码后接到存储芯片片选地址上片内地址:直接接到存储芯片地址线上;遇到地址线数据线复用的CPU,用锁存器将地址线分离。2数据线连接当存储器芯片数据线是双向三态,则可以直接与CPU数据线DB连接;当存储芯片数据线的输入线与输入线分开时,则需要外加三态门,才能与CPU连接。3控制线连接CPU对芯片进行读写操作,要先给出地址总线给出地址信息,然后需要发出相应的存储器读写控制信号,最后才能在数据线上进行数据交

8、换。接口设计步骤1存储芯片的选择2地址分配3地址译码4CPU与存储器信号连接(十一)将硬件作为辅助存储器,在存储器管理部件和操作系统中的存储器管理软件的共同支持下,使得编程具有比实际主存储器容量大的空间。速度比主存储器慢,和主存储器没有区别。管理方式:段式管理,页式管理,段页式管理。段式管理:分配管理是以分段为基础页式管理:划分成大小的块,来划分虚拟存储空间,主存储空间,辅助存储空间。 第三部分 第三章(一)指令是处理器完成各种动作的命令,一个微处理器的全部指令构成该处理器的指令系统。结构:操作码+操作数操作码:指明操作动作和操作数存放位置的描述方法。处理器每一个操作均有操作码对应。(1字节)

9、操作数:提供指令要处理的操作数据或者操作数所在位置的信息。(长度不同)分为:无操作指令,单操作指令,双操作指令。(二)指令的演化操作码+来源地址码+处理结果存放地址码+后续指令操作码+目的操作数+源操作数(5字节)操作码+源操作数(3字节)操作码+源操作数+操作数据来源地址码2 (1-2字节) 结果地址码(三)寻址方式1隐含寻址方式:指令中隐含规定操作数的位置 如MUL BL中规定一个乘数在AL2数据型寻址立即数寻址操作数在指令中寄存器寻址操作数在寄存器R直接寻址寄存器间寻址基地址寻址,变址寻址基址变址寻址串操作寻址I/o端口寻址操作数在I/O中目标地址寻址相对程序寻址间接寻址(四)操作数在指

10、令中(立即数寻址)例 MOV BL,472操作数在寄存器中16位操作数AX BX CX DX SI DI SP BP 8位操作数AL AH BL BH CL CH DL DH例 MOV AL,BL ;复制BL到AL中3操作数在存储器16位操作数使用寄存器 AX,BX,CX,DX,SI DI SP,BP8位操作数使用寄存器AL,AH BL BH CL CH DL DH注意 1不允许段寄存器直接传输2不允许混合尺寸3不允许代码段寄存器作为目标操作数3操作数在存储器中(1)直接寻址 指令直接给出操作数的有效地址 例如MOV AX,200H MOV BX,DS:VAR(2)寄存器间接寻址 操作数的有效

11、地址直接从BX BP SI DI 中获得注意 使用BP时,默认段寄存器为SS,不使用BP时,默认为DS例如 MOV AX,BX DS,BX寻址的存储单元的字内容复制到AX中(五)操作数在I/O中端口寻址范围65536(64K)数据只能由AX, AL通过数据总线传。8位时直接寻址,16位时间接寻址,并且只能用DX,另个操作数一定在AX,AL中例如 IN AL,N8 OUT N8,AL(六)指令系统 (133条)3.3.1传送类指令1传送 MOV 传输方向,通用寄存器 立即数 内存 立即数 通用寄存器之间,通用寄存器段寄存器之间 不允许:内存之间传送,立即数传给段寄存器,段寄存器之间,CS做目标操

12、作数,FR参加MOV操作 MOV不影响FR2交换XCHG 可以通用寄存器之间,也可以通用寄存器和段寄存器之间 不允许存储器之间,立即数和存储器或寄存器,段寄存器CS,IP,FR作为操作数 不影响FR例如: XCHG AL,BP 将SS:BP AL交换内容。3换码指令XLAT 将内存表中数据传到AL 可以作为查表技术 DS为表内段基值。BX内存内存首地址和有效地址,AL为待查数据在表中位置(位移量)表首地址DS:BX,换码指令是将AL指明位置的数据取出,并且赋值给AL。 指令中隐含使用了DS,BX,AL 如果使用其他段寄存器,则不能省略4栈 (PUSH POP)PUSHSP-2后将源操作数压入栈

13、,即SP SP-2,SS:SP SS:SP+1 srcPOP 将栈中SS,SP指定位置一个字的数据弹到目标操作数。SP+2Dest SS:SP+1, SP=SP+2注意 没有POP CS,有PUSH CS。进栈操作SP-2,出栈操作SP+2堆栈操作不影响FR5标志位传送(LAHF,SAHF,PUSHF,POPF)1) 取标志位LAHF 把标志位寄存器低八位给AH即,把SF,ZF,AF,PF,CF标志位分别传送到AH的76430位。2) 存储标志寄存器指令SAHF 把AH的76420位送入SF ZFAF PF CF并且SF ZFAF PF CF不受影响。3) 标志位进栈 PUSHF 首先SP-2

14、,将FR全部内容压入SP只想的栈顶字单元FR不受影响4) 标志寄存器出栈POPF 把堆栈顶部一个字的内容弹到标志寄存器FR,SP+26地址传送(LEA,LDS,LES)1. 装入LEA 将某单元有效地址装入指定寄存器 注意:传送的不是操作数,而是偏移量,目的操作数必须是通用寄存器,源操作必须是内存操作数2. 装入 LDS 指定内存连续4个字节内容低16位送到通用寄存器,高16位送到DS LES 连续四个字节低16位送到指定通用寄存器,高16为送入ES7 输入输出 IN OUT功能:实现CPU到I/O之间数据传送。注意 IN指令的目标操作OUT指令的源操作必须是AL或者AX IN和OUT中对I/

15、O允许直接寻址和寄存器寻址 当端口地址为16位时,对端口寻址只能用寄存器间接寻址,即I/O端口地址寄存器在DX中,而且只能是DX。如果是8位口地址,则高八位清零。3.3.2算术预算指令1加法指令(1)ADD ADC 目标和源操作相加,其和存放到目标操作数。源操作数内容不变。注意 源操作和目的操作可以来自通用存储器,或存储器,源操作还可以为立即数。 不允许存储器相加 影响标志位FR中的CF PF AF ZF SF OF(2)加一指令INC操作数可以是通用寄存器,存储器,不能是立即数。影响标志寄存器FR SF ZF AF PF 但不影响CF2减法指令 (1)SUB SBB用目标操作数减去源操作数,

16、差存入目标操作数。源操作数原有内容不变。注意 存储器不能相减,目标操作数也不能是立即数。 SUB和SBB指令影响SF,ZF,CF,AF,PF,OF(2)减一指令DEC操作数可以是通用寄存器或者存储器,但不能是立即数(3)求补 NEG用零减去目标操作数,并送回目标操作数。也就是实现无符号求补(4)比较 CMPCMP和SUB一样执行减法操作,只是不保存差值,操作影响FR,后面跟着条件转移,根据比较结果选择不能程序分支。3 乘法无符号MUL,有符号IMUL一个乘数一定来自AL,AX,另一个乘数为src积一定在AX或DX和AX中。两个八位相乘得16位,存放在AX。两个16位相乘得到32位,DX存在高位

17、,AX存放在低位。注意 对CF,OF有影响,对PF,AF,SF,ZF为不确定4除法类(1)除法指令DIV,IDIV无符号DIV,有符号IDIV执行除法运算,除数必须为被除数一半字长。即只能16位除以8位,或者32位除以16位。32位被除数一定放在DX和AX中,DX放高16,AX放低16.商在AX中,余数在DX中。注意:有符号和无符号数除法操作相同,SRC为通用寄存器或者存储器,不能是立即数。 对有符号数,被除数与除数符号相同。商的符号为正。被除数与除数符号不同,商为负。余数符号和被除数一致。(2)转换指令CBW CWDCBW将AL中的符号位扩展到AH,使得8位有符号数转换成16为有符号数CWD

18、将AX的符号位扩展到DX,使得16位有符号数转换成32位有符号数5十进制调整(1)加法十进制调整 AAA对非压缩性BCD码进行BCD码调整DAA 对压缩性BCD码加法操作进行BCD码调整。注意 AAA,DAA一般跟在ADD或者ADC后面使用AAA要求入口AL AF 出口AH AL AF CFDAA要求指令入口 AL AF CF 出口 AL AF CF(2)减法十进制调整AAS DASAAS对非压缩性BCD码进行BCD码调整DAS 对压缩性BCD码减法操作进行BCD码调整。(3)乘法十进制调整AAM 对AL调整,结果存在AH,AL中本指令跟在两个一位非压缩BCD相乘操作后面,将存在AL中乘积调整

19、,存在AX中(4)除法十进制调整 AAD功能,AAD将AX中非压缩性BCD码调整成二进制,存入AL3.3.3逻辑运算指令1逻辑与 AND源操作与目标操作,有零为零,全1为1,结果存入目标操作数2逻辑或 OR有1为1,全0为0.结果存入目标操作数3逻辑非 NOT各位是0为1,是1为04逻辑异或 XOR异或是将源操作数和目标操作数对应异或,若对应位相同,结果为0,不同为15测试指令 TEST同AND操作,不存结果,只ing想FR,与CMP和SUB相似。3.3.4位移指令逻辑左移 SHL dest,1 SHL dest,CL算术左移 SAL dest,1 SAL dest,CL逻辑右移 SAR de

20、st,1 SAR dest,CL循环左移 ROL dest,1 ROL dest,CL循环右移 ROR dest,1 ROR dest,CL带CF循环左移 RCL dest,1 RCL dest,CL带CF循环右移 RCR dest,1 RCR dest,CL3.3.5转移类指令将给出的目标地址放入CS IP 使得程序发生转移1 无条件转移指令 (JMP)2条件转移 JXX XX为条件 当条件成立,转移到制定目标地址处,否则顺序执行程序。这个条件以FR中一个或几个状态位的状态为依据。3循环指令(LOOP)两字节指令,dest通常为目标地址偏移量或者目标地址标号。这类指令隐含CX循环次数计数器。

21、进入循环前先设好循环次数。执行循环指令时会使cx-1同时判断CX是否0,若CX=0,停止循环。4调用指令。CALL dest说明:段内调用CS不变,调用时自动保护断电,将断电IP压栈。5返回指令RET6中断指令(1)中断指令INT n其中n为中断类型码。即可以到0000h段中4*n开始的四个单元中找到该程序入口地址。(2)溢出中断 INTO 检测OF 如果OF=1,启动中断过程(INT n;其中n=4)OF=0时无操作。(3)中断返回(IRET)当执行中断返回指令时,会自动完成断点出栈(CS出栈,IP出栈)和FR出栈3.3.6串操作类指令串传送MOVS dest,src;ES:【DI】 DS:

22、【SI】将源串数据传送到目标串串比较CMPS dest,src;DS:【SI】-ES:【DI串搜索 SCAS dest,src; AL ES:【DI】或AX-ES:【DI】影响FR从而判断目标串中是否查找到AL或AX中字节。 串读取 LODS src AL DS:【SI】或AX DS:【SI】将串中字节或字读到AL或AX中 串写入指令 STOS dest ES【DI】 AL或ES:【DI】 AX,将AL或AX传送到目标串3.3.7处理器类指令 标志位操作指令(STC,CLC,CMC,STD,CLD,STI,CLI) 空操作指令(NOP) 暂停指令(HLT) 等待指令(WAIT) 交权指令(ES

23、C) 总线锁定指令(LOCK)1标志位操作指令1) 清CF CLC2) 置CF STC CF=13) 清 DF CLD4) 置DF STD5) 清 IF CLI6) 置 IF STI 7) CF求反 CMC、2空操作指令NOP 执行NOP不影响FR3暂停指令 HLT 当中断返回时将返回到HLT下一条指令处4 等待指令WAIT 5交权指令 ESC将内存中操作数送上数据总线6总线锁定 LOCK迫使嵩县锁定信号LOCK维持低电平,直到执行完下一条指令 第四章4.1.1计算机语言分类 机器语言 高级语言 汇编语言:直接控制硬件,执行速度快,占用内存少。4.1.2汇编语言1宏汇编语言的语句和格式1) 指

24、令语句 【标号】 【前缀】助记符 操作数 【注释】2) 伪指令语句 【名字】 伪指令 【操作数】 【注释】3) 宏指令语句 名字 MACRO . ;宏体 ENDM4.2伪指令定义:为汇编程序服务,例如定义变量、分配存储空间以及实现某些其他程序的处理功能等。分类处理器方式伪指令模式定义伪指令段定义伪指令数据定义伪指令符号定义伪指令类型定义伪指令过程定义伪指令模块定义伪指令宏处理伪指令条件伪指令列表伪指令其他伪指令4.2.1符号表达式的描述规范1标识符汇编中指令语句的标号和伪指令语句的符号名称统称标识符。标号和符号明的区别:标号后面有冒号,符号明后面没有冒号,标号与具体地址联系,可以作为跳转调用指

25、令的目标操作数,符号名用于定义变量,过程名,段名;标号可以任选或者省略,标号明可以强制,任选,省略。2操作数可以是常数,二进制,十进制,十六进制,八进制,实数,字符串常数4.2.3模式定义伪指令.MODEL 存储模式.MODEL SMALL.MODEL MEDIUM.MODEL COMPACT4.2.4段定义伪指令1完整段定义伪指令段名 SEGMET 【定义类型】【组合类型】【字长】【类别】段名 ENDSASSUME:用来同志汇编程序,每个段名代表的段是什么性质的段,处理器访问用哪个寄存器。 ASSUME 段寄存器名,段名,段寄存器名:段名例如ASSUME CS:CODE,DS:DATA2简化

26、的段定义伪指令4.2.5数据定义伪指令变量名 DB 表达式 每个表达式1字节变量名 DW 表达式 每个表达式2字节变量名 DD 表达式 每个表达式4字节变量名 DQ 表达式 每个表达式8字节变量名 DT 表达式 每个表达式10字节?表达式 分配存储空间但不设初值DUP表达式 定义重复数据操作例如 DB 表达式1DUP(表达式2) 定义空间每个1字节,重复表达式1次,内容为表达式24.2.6 符号定义伪指令1等值语句EQU2等号语句3解除语句4.2.7类型定义伪指令1对标号的类型定义2对变量的类型定义4.2.8过程定义伪指令过程名 PROC 【NEAR】 【RET】 RET过程名 ENDP4.2

27、.9计数器与定位伪指令1程序计数器 $2定位伪指令 ORG4.2.10 条件汇编伪指令IFXX【ELSE】ENDIF4.2.11记录与结构伪指令1记录 (1)定义记录格式 (2)建立记录变量 (3)引用记录2结构 (1)定义结构格式 (2)建立结构变量 (3)引用结构4.2.12模块定义伪指令1NAME2END3PUBLIC4EXTRN4.3宏指令4.3.1宏指令定义格式 宏名 MACRO 【形参,形参。】 。4.3.3宏和子程序区别红操作没有缩短目标代码长度,内存空间没有减少。主程序可以多次调用一个子程序,能缩短目标代码长度。宏操作不会增加额外时间开销,而子程序调用需要保护现场和断点,有额外时间开销。4.4BIOS DOS调用重点:INT 21H指令汇编程序设计步骤1分析问题2建立数学模型,确定算法和解决方案3绘制程序流程图4规划内存空间5编制程序静态检查6调试程序7整理文档4.6设计基本方法1顺序结构2分支结构(1)比较

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1