欢迎来到天天文库
浏览记录
ID:39642494
大小:208.60 KB
页数:35页
时间:2019-07-08
《《的内部结构》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、8086的内部组成在微型计算机中的运算器、控制器都由CPU完成,在8086内部根据具体的功能可以分为三个模块:执行单元EU,(中)控制单元CU,(左)总线接口单元BIU(右)8086的内部组成(图)CPU内部结构EU:执行部件,包括ALU、通用寄存器、数据暂存器等CU:控制部件,有指令队列、指令译码器等BIU:总线接口部件,∑加法器段值、偏移地址寄存器等EU、BIU可以并行执行,都由CU控制8086CPU的执行部件执行部件(EU):8个通用寄存器(数据AX、BX、CX、DX;专用BP、SP、SI、DI)ALU,数据寄存器,标志寄存器FL
2、AG背景知识--寄存器(Register)寄存器是CPU内部的一些高速存储单元他们为处理器提供各种操作所需要的数据汇编语言程序中将采用他们各自的符号名例如,在Intel8086/8088中,主要是:AXBXCXDXSIDIBPSP8086的寄存器组8086的寄存器(如图)都为16位,分为:EU:8个通用寄存器CU:1个指令指针寄存器EU:1个标志寄存器BIU:4个段寄存器掌握通用寄存器的作用熟悉各个标志的含义切实理解存储器组织和存储空间分段的概念8086的寄存器组EU--通用寄存器8086的16位通用寄存器是:AXBXCXDXSIDIB
3、PSP其中前4个数据寄存器都还可以分成高8位和低8位两个独立的寄存器。对其中某8位的操作,并不影响另外对应8位的数据。8086的8位通用寄存器是:AHBHCHDHALBLCLDLEU--数据寄存器数据寄存器用来存放计算的结果和操作数每个寄存器又有它们各自的专用目的:AX--累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等;BX--基址寄存器,常用做存放存储器地址;CX--计数器,作为循环和串操作等指令中的隐含计数器;DX--数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址。EU--变址寄存器变址寄存器常用于存储
4、器寻址时提供地址SI是源变址寄存器DI是目的变址寄存器串操作类指令中,SI和DI具有特别的功能EU--指针寄存器指针寄存器用于寻址内存堆栈内的数据SP为堆栈指针寄存器,指示栈顶的偏移地址SP不能再用于其他目的,具有专用目的BP为基址指针寄存器,表示数据在堆栈段中的基地址SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址详见堆栈操作指令EU--标志寄存器(FLAG)标志(Flag)用于反映指令执行结果或控制指令执行形式。8086处理器中各种常用的标志形成了一个16位的标志寄存器FLAGS(也称程序状态字PSW寄存器)。OF
5、111512DF10IF9TF8SF7ZF65AF43PF21CF0FLAG--标志的作用指令的执行与标志有很大关系。标志分成两类:状态标志--用来记录程序运行结果的状态信息,许多指令的执行都将相应地设置它。CFZFSFPFOFAF控制标志--可由程序根据需要用指令设置,用于控制处理器执行指令的方式。DFIFTFFLAG--进位标志CF(CarryFlag)当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF=1;否则CF=0。例如:3AH+7CH=B6H,没有进位:CF=0AAH+7CH=(1)26H,有进位:C
6、F=1FLAG--零标志ZF(ZeroFlag)若运算结果为0,则ZF=1,否则ZF=0。例如:3AH+7CH=B6H,结果不是零:ZF=086H+7CH=(1)00H,结果是零:ZF=1注意:ZF为1表示的结果是0FLAG--符号标志SF(SignFlag)运算结果最高位为1,则SF=1;否则SF=0。例如:3AH+7CH=B6H,最高位D7=1:SF=186H+7CH=(1)00H,最高位D7=0:SF=0有符号数据利用最高有效位表示数据的符号。所以,最高有效位就是符号标志的状态。FLAG--奇偶标志PF(ParityFlag)当运
7、算结果最低字节中“1”的个数为零或偶数时,PF=1;否则PF=0。例如:3AH+7CH=B6H=10110110B,结果中有5个1,是奇数:PF=0注意:PF标志仅反映最低8位中“1”的个数是偶或奇,即使是进行16位字操作。FLAG--溢出标志OF(OverflowFlag)若算术运算的结果有溢出,则OF=1;否则OF=0。例如:3AH+7CH=B6H,产生溢出:OF=1AAH+7CH=(1)26H,没有溢出:OF=0问题:什么是溢出?如何判断是否溢出?FLAG--辅助进位标志AF(AuxiliaryCarryFlag)运算时D3位(低
8、半字节)有进位或借位时,AF=1;否则AF=0。例如:3AH+7CH=B6H,D3有进位:AF=1这个标志主要由处理器内部使用,用于十进制算术运算指令中,用户一般不必关心。FLAG--方向标志DF(Dire
此文档下载收益归作者所有