- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
冯诺依曼机原理:结构图与各部分功能
输入:将信息转换成机器能识别的形式
储存器:存放数据和程序
运算器:算术运算逻辑运算
控制器:指挥程序运行
输出:将结果转换成人们熟悉的形式
原理:程序储存+程序控制,以二进制表示程序和指令
8086CPU的内部双单元结构
EU结构与各部分功能
作用:负责指令执行,完成指令的操作。
BIU结构与原理
作用:根据EU的请求,执行CPU对存储器或I/O接口的总线操作
取指令的工作过程:由段寄存器与IP形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。
8086寄存器组:
各寄存器名称作用与特点。
数据寄存器
AX累加器一般用来存放参加运算的数据和结果,在乘、除法运算、I/O操作、BCD数运算中有不可替代的作用。
BX基址寄存器除可作数据寄存器外,还可放内存的逻辑偏移地址,而AX,CX,DX则不能。
CX将它称作计数寄存器,是因为它既可作数据寄存器又可在串指令和移位指令中作计数用。
DX除可作通用数据寄存器外,还在乘、除法运算、带符号数的扩展指令中有特殊用途。
指针寄存器SP,BP:作地址指针,有效地址的偏移量
SP:堆栈指针
BP:存放于堆栈段某数据区基址的偏移地址
变址寄存器SI,DI :当前数据段中数据的偏移地址,使用时自动加1
SI:指向源操作数
DI:指向目的操作数
F寄存器各位功能
SF位:符号位(SF=1 负数;SF=0 正数)
ZF位:零标志位(ZF=1 运算结果为0;ZF=0 运算结果不为0)
CF位:进位标志位(CF=1最高位有进位/借位;CF=0最高位无进位/借位)
AF位:辅助进位(AF=1 有进位;AF=0 无进位;辅助位表示低4位有无进位或借位)
PF位:奇偶标志位(PF=1 运算结果1的个数为偶数;PF=0 运算结果1的个数为奇数)
OF位:溢出位(OF=1 有溢出;OF=0 无溢出)主要对带符号数 运算数值过大,侵占了符号位
三个控制位
DF:方向标志-控制数据串操作指令的步进方向
DF=1 减址方式(STD)DF=0 增址方式(CLD)
IF:中断允许标志-对可屏蔽中断
IF=1 开中断(STI)IF=0 关中断(CLI)
TF:陷阱标志-程序调试
TF=1 单步执行TF=0 连续正常执行
总线周期
8086一个基本的总线周期一般由4个时钟周期组成。
读写周期时序
读周期:T1:输出地址;T2:总线浮空、缓冲;T3- T4:从总线输入数据传送数据
写周期:T1:输出地址;T2- T4:把输出数据送到总线上。
8086存储管理
存储器分段及地址加法器
将整个存储器分为若干个逻辑段,每段内地址16bit,即最多地址空间64KB。
字与字节的保存
字节的存放:在存储器中按顺序排列存放;
字的存放:将字的低位字节存放在低地址中,高位字节存放在高地址中,并以低地址作为该字的地址。
双字的存放:双字通常为地址指针,将偏移量存放于低地址的字单元,段基址存放于高地址的字单元
寻址方式
寻找指令中所需的操作数或操作数地址的方式称为寻址方式
系统设计了多种操作数的来源
直接给出所使用的操作数本身
给出操作数所在的寄存器、存储器或I/O端口的地址
给出操作数所在的寄存器、存储器或I/O端口的地址的计算方法。
立即数寻址
指令中的操作数直接存放在机器代码中,紧跟在操作码之后
立即数可以是8位、16位或32位数值
立即数寻址方式只允许源操作数为立即数,目标操作数必须是寄存器或存储器
不需要访问存储器,执行速度快
Eg:MOV AX, 0102H ; AX←0102H
固定寻址
指令中的操作数是CPU中某个固定寄存器,该寄存器被隐含于操作码中。
不需要访问存储器,执行速度快
寄存器寻址
操作数存放在CPU的内部寄存器reg中:
8位寄存器r8:
AH、AL、BH、BL、CH、CL、DH、DL
16位寄存器r16:
AX、BX、CX、DX、SI、DI、BP、SP
4个段寄存器seg:
CS、DS、SS、ES
无需访问存储器,执行速度快
源操作数和目的操作数可同时使用寄存器寻址
Eg:MOV AX, BX ; AX←BX
储存器寻址
操作数在主存储器中,用主存地址表示
程序设计时,8086采用逻辑地址表示主存地址
段地址在默认的或用段超越前缀指定的段寄存器中
指令中只需给出操作数的偏移地址
8086设计了多种存储器寻址方式
直接寻址方式
直接寻址方式的有效地址在指令中直接给出
默认的段地址在DS段寄存器,可使用段超越前缀改变
用中括号包含有效地址,表示取该存储单元的内容
Eg: MOV AX, [2000H] ; AX←DS:[2000H]
MOV AX, ES:[2000H] ; AX←ES:[2000H]
寄
文档评论(0)