8086微处理器有哪些寄存器,试说明它们的名称、大小和作用
今天装修百科网给各位分享cee0prt有哪些作用的知识,其中也会对8086微处理器有哪些寄存器,试说明它们的名称、大小和作用(8086/8088微处理器的寄存器分哪几部分)进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在我们开始吧!
8086微处理器有哪些寄存器,试说明它们的名称、大小和作用
寄存器是**处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在**处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在**处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。
寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器通常都是以他们可以保存的位元数量来估量,举例来说,一个 “8 位元寄存器”或 “32 位元寄存器”。寄存器现在都以寄存器档案的方式来实作,但是他们也可能使用单独的正反器、高速的核心内存、薄膜内存以及在数种机器上的其他方式来实作出来。
寄存器通常都用来意指由一个指令之输出或输入可以直接索引到的暂存器群组。更适当的是称他们为 “架构寄存器”。
例如,x86 指令及定义八个 32 位元寄存器的集合,但一个实作 x86 指令集的 CPU 可以包含比八个更多的寄存器。
寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。
[编辑本段]寄存器用途
1.可将寄存器内的数据执行算术及逻辑运算;
2.存于寄存器内的地址可用来指向内存的某个位置,即寻址;
3.可以用来读写数据到电脑的周边设备。
[编辑本段]数据寄存器
8086 有14个16位寄存器,这14个寄存器按其用途可分为(1)通用寄存器、(2)指令指针、(3)标志寄存器和(4)段寄存器等4类。
(1)通用寄存器有8个, 又可以分成2组,一组是数据寄存器(4个),另一组是指针寄存器及变址寄存器(4个).
数据寄存器分为:
AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据.
BH&BL=BX(base):基址寄存器,常用于地址索引;
CH&CL=CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.
DH&DL=DX(data):数据寄存器,常用于数据传递。
他们的特点是,这4个16位的寄存器可以分为高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。这2组8位寄存器可以分别寻址,并单独使用。
另一组是指针寄存器和变址寄存器,包括:
SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置;
BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;
SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;
DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针。
这4个16位寄存器只能按16位进行存取操作,主要用来形成操作数的地址,用于堆栈操作和变址运算中计算操作数的有效地址。
(2) 指令指针IP(Instruction Pointer)
指令指针IP是一个16位专用寄存器,它指向当前需要取出的指令字节,当BIU从内存中取出一个指令字节后,IP就自动加1,指向下一个指令字节。注意,IP指向的是指令地址的段内地址偏移量,又称偏移地址(Offset Address)或有效地址(EA,Effective Address)。
(3)标志寄存器FR(Flag Register)
8086有一个18位的标志寄存器FR,在FR中有意义的有9位,其中6位是状态位,3位是控制位。
OF: 溢出标志位OF用于反映有符号数加减运算所得结果是否溢出。如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。
DF:方向标志DF位用来决定在串操作指令执行时有关指针寄存器发生调整的方向。
IF:中断允许标志IF位用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的中断请求,以及CPU内部产生的中断请求。具体规定如下:
(1)、当IF=1时,CPU可以响应CPU外部的可屏蔽中断发出的中断请求;
(2)、当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。
TF:**标志TF。该标志可用于程序调试。TF标志没有专门的指令来设置或清楚。
(1)如果TF=1,则CPU处于单步执行指令的工作方式,此时每执行完一条指令,就显示CPU内各个寄存器的当前值及CPU将要执行的下一条指令。
(2)如果TF=0,则处于连续工作模式。
SF:符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。在微机系统中,有符号数采用补码表示法,所以,SF也就反映运算结果的正负号。运算结果为正数时,SF的值为0,否则其值为1。
ZF: 零标志ZF用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0。在判断运算结果是否为0时,可使用此标志位。
AF:下列情况下,辅助进位标志AF的值被置为1,否则其值为0:
(1)、在字操作时,发生低字节向高字节进位或借位时;
(2)、在字节操作时,发生低4位向高4位进位或借位时。
PF:奇偶标志PF用于反映运算结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0。
CF:进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。)
4)段寄存器(Segment Register)
为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:
CS(Code Segment):代码段寄存器;
DS(Data Segment):数据段寄存器;
SS(Stack Segment):堆栈段寄存器;
ES(Extra Segment):附加段寄存器。
当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器 CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,程序可以在可寻址空间小于64K的情况下被写成任意大小。 所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。8086以内存做为战场,用寄存器做为军事基地,以加速工作。
以上是8086寄存器的整体概况, 自80386开始,PC进入32bit时代,其寻址方式,寄存器大小,功能等都发生了变化。
=============================以下是80386的寄存器的一些资料======================================
寄存器都是32-bits宽。
A、通用寄存器
下面介绍通用寄存器及其习惯用法。顾名思义,通用寄存器是那些你可以根据自己的意愿使用的寄存器,修改他们的值通常不会对计算机的运行造成很大的影响。通用寄存器最多的用途是计算。
EAX:通用寄存器。相对其他寄存器,在进行运算方面比较常用。在保护模式中,也可以作为内存偏移指针(此时,DS作为段 寄存器或选择器)
EBX:通用寄存器。通常作为内存偏移指针使用(相对于EAX、ECX、EDX),DS是默认的段寄存器或选择器。在保护模式中,同样可以起这个作用。
ECX:通用寄存器。通常用于特定指令的计数。在保护模式中,也可以作为内存偏移指针(此时,DS作为 寄存器或段选择器)。
EDX:通用寄存器。在某些运算中作为EAX的溢出寄存器(例如乘、除)。在保护模式中,也可以作为内存偏移指针(此时,DS作为段 寄存器或选择器)。
同AX分为AH&AL一样,上述寄存器包括对应的16-bit分组和8-bit分组。
B、用作内存指针的特殊寄存器
ESI:通常在内存操作指令中作为“源地址指针”使用。当然,ESI可以被装入任意的数值,但通常没有人把它当作通用寄存器来用。DS是默认段寄存器或选择器。
EDI:通常在内存操作指令中作为“目的地址指针”使用。当然,EDI也可以被装入任意的数值,但通常没有人把它当作通用寄存器来用。DS是默认段寄存器或选择器。
EBP:这也是一个作为指针的寄存器。通常,它被高级语言编译器用以建造‘堆栈帧'来保存函数或过程的局部变量,不过,还是那句话,你可以在其中保存你希望的任何数据。SS是它的默认段寄存器或选择器。
注意,这三个寄存器没有对应的8-bit分组。换言之,你可以通过SI、DI、BP作为别名访问他们的低16位,却没有办法直接访问他们的低8位。
C、段选择器:
实模式下的段寄存器到保护模式下摇身一变就成了选择器。不同的是,实模式下的“段寄存器”是16-bit的,而保护模式下的选择器是32-bit的。
CS 代码段,或代码选择器。同IP寄存器(稍后介绍)一同指向当前正在执行的那个地址。处理器执行时从这个寄存器指向的段(实模式)或内存(保护模式)中获取指令。除了跳转或其他分支指令之外,你无法修改这个寄存器的内容。
DS 数据段,或数据选择器。这个寄存器的低16 bit连同ESI一同指向的指令将要处理的内存。同时,所有的内存操作指令 默认情况下都用它指定操作段(实模式)或内存(作为选择器,在保护模式。这个寄存器可以被装入任意数值,然而在这么做的时候需要小心一些。方法是,首先把数据送给AX,然后再把它从AX传送给DS(当然,也可以通过堆栈来做).
ES 附加段,或附加选择器。这个寄存器的低16 bit连同EDI一同指向的指令将要处理的内存。同样的,这个寄存器可以被装入任意数值,方法和DS类似。
FS F段或F选择器(推测F可能是Free?)。可以用这个寄存器作为默认段寄存器或选择器的一个替代品。它可以被装入任何数值,方法和DS类似。
GS G段或G选择器(G的意义和F一样,没有在Intel的文档中解释)。它和FS几乎完全一样。
SS 堆栈段或堆栈选择器。这个寄存器的低16 bit连同ESP一同指向下一次堆栈操作(push和pop)所要使用的堆栈地址。这个寄存器也可以被装入任意数值,你可以通过入栈和出栈操作来给他赋值,不过由于堆栈对于很多操作有很重要的意义,因此,不正确的修改有可能造成对堆栈的破坏。
* 注意 一定不要在初学汇编的阶段把这些寄存器弄混。他们非常重要,而一旦你掌握了他们,你就可以对他们做任意的操作了。段寄存器,或选择器,在没有指定的情况下都是使用默认的那个。这句话在现在看来可能有点稀里糊涂,不过你很快就会在后面知道如何去做。
指令指针寄存器:
EIP 这个寄存器非常的重要。这是一个32位宽的寄存器 ,同CS一同指向即将执行的那条指令的地址。不能够直接修改这个寄存器的值,修改它的唯一方法是跳转或分支指令。(CS是默认的段或选择器)
上面是最基本的寄存器。下面是一些其他的寄存器,你甚至可能没有听说过它们。(都是32位宽):
CR0, CR2, CR3(控制寄存器)。举一个例子,CR0的作用是切换实模式和保护模式。
还有其他一些寄存器,D0, D1, D2, D3, D6和D7(调试寄存器)。他们可以作为调试器的硬件支持来设置条件断点。
TR3, TR4, TR5, TR6 和 TR? 寄存器(测试寄存器)用于某些条件测试。
笔记本电脑键盘上的各个键的功能
首先应该看一下使用说明,因为不同品牌的笔记本电脑的按键功能是不一样的,一般是按fn加最上面的一排的键实现功能,在下面的一排是按shift加上面数字键实现上面画的符号的功能

0欧姆电阻到底有什么作用
0欧姆电阻在电路中有两种使用情况,一是当过度线使用,一是在线路中起保险丝作用。
Pro/E的用途?
UG主要适合于大型的汽车、飞机厂建立复杂的数模,而PRO/E主要适合于中小企业快速建立较为简单的数模。在建模较为复杂的时候,往往是任何参数都是没有用处的,我一般用PRO/E建立开始较为简单的线框、曲面,然后转到ug里面进行高级曲面的建立、倒角。由于产品反复更改,参数大多数都被删掉了。两种软件各有优点,应该混合建模才能达到最佳效果。零件较大、较复杂的时候,加工一般用ug做好数模,cimatron做粗加工,ug精加工。
比较之二
一个使用者的想法:
本人使用Pro/E已经有几年的时间,最近在学习UG。我一直觉得这两种软件在建模思路上非常接近(事实上总体的确是这样),但可能是UG尚未到家的缘故,总感觉很多地方非常不适应。以下列出几个问题,请高手指点:
1. 关于混合建模。UG的一个最大特点就是混合建模,我理解就是在一个模型中允许存在无相关性的特征。如在建模过程中,可以通过移动、旋转坐标系创建特征构造的基点。这些特征似乎和先前创建的特征没有位置的相关性。因为NAVIGATOR TREE中(类似Pro/E中的模型树)没有坐标系变换的记录。又如创建BASIC CURVE,在NAVIGATOR TREE中也没有作为一个参数化特征的记录,比如我如果想把一条圆弧曲线改成样条曲线就非常困难,而且有时改变并不影响子特征的变化。而在Pro/E中极为强调特征的全相关性,所有特征按照创建的先后顺序及参考有着严格的父子关系。对父特征的修改一定会反映到子特征上。我曾就这个问题在上海问过EDS的UG技术工程师,他们说全相关性可以说是一把**剑,对于经验丰富的设计师,设计修改会非常方便,而对于经验不多的设计者,则非常容易出现修改后无法生成的错误,此时混合建模就比较适用。
2. 关于Datum point,Pro/E中的Datum point是一个非常强大的功能,而且所有的参考点是全相关的,它会随着父特征的变化而变化。而在UG中很多情况下,点是不相关的。比如选取一个长方体的某一条边的中点做参考作另一个特征。当把长方体的边长加大,此时中点的位置并不随着边长的变化而变化,后面所做的特征位置也不会改变,因此无法真实反映设计意图。(也可能是我UG道行太浅,没掌握)
3. 关于curve和Sketch,在Pro/e中所有草绘的截面都是参数化尺寸驱动的,而在UG中只有Sketch草绘的截面才是参数化的,而curve则是非参数化特征。不知道我的理解是否正确?我曾经看一本UG的书(夸克的),上面的曲面造型示例中曲线都是用curve构造,象样条曲线都是通过输入中间控制点来构造,我想通过修改curve来修改模型可能非常困难吧。另外在UG中,允许Sketch中存在欠约束的情况,而在Pro/e中是完全不可以的。
4. 曲面造型方面,很多人说UG的曲面功能非常强大,同Pro/e(2000版)比较后,我觉得的确如此。UG不仅提供的更为丰富的曲面构造工具,而且可以通过一些另外的参数(在Pro/e中相对少一些)来控制曲面的精度、形状。另外,UG的曲面分析工具也极其丰富。
5. 关于界面,Pro/e虽然有一张Windows的“脸面”,但它实际上是从UNIX操作系统移植过来的一个Dos程序,对Windows的文件类型链接不支持,启动Pro/e实际是在执行一个proe2000.bat的批处理文件。而且基于UNIX的安全性,对一个文件的多次存盘会产生同一个文件的多个版本,这是同UG非常大的区别。在Pro/e中,工作路径对于一个装配是非常重要的概念,如果不在config****中作search path的设置,当装配中的零件不在工作路径下就会出错,因为打开装配意味着将装配中所有的子装配及零件调入内存,没有search path的设置则使程序无法找到零件。在UG中似乎不太相同,打开一个装配有时可以采用partially load的方法,这样系统资源会占用的较少。
6. 关于操作,UG中将很多规格化的特征(类似Pro/e中的点放特征)划分的非常细致,如Pocket、Slot等,这相当于将几个Pro/e的特征合并成为一个。而在Pro/e中更多的是草绘特征,或许没有UG建模效率高,但却有更大的柔性。比如,在UG中如果想将一个圆孔改为方孔可能非常困难,因为这是两个不同的特征,而在Pro/e中,却是非常轻而易举的事情。
以上是我对这两个软件的一些比较,可能是因为我对Pro/e更为熟悉的缘故,我个人认为如果所从事的设计没有太多的曲面造型,使用Pro/e会比较有灵活性。当然,如果要作曲面,UG可能会更好一些。
需要说明的是,我对UG的了解实在是不深,上面的一些看法不正确的地方,我也希望和大家交流,谢谢!
比较之三:
1、UG的一个最大特点就是混合建模
2、可以用约束的方式控制相关。 UG18 SKETCH 中有相关的点,是参数化的,点也可以标注尺寸!
3、**版书有误人子弟之嫌,但也说明了建模的另外一种方法。
有一点要清楚,对于CURVE构造的面及实体,修改CURVE一样是可以使实体或面变更的!
4、曲面就不用说了!
5、UG也是工作站移植过来的。 界面算是比较友好。
UG的文件格式只有PRT,可以包含工程图和加工。。。等所有信息!
6、UG中圆孔改成方孔(其他也一样)是很简单的事情,重新定义特征使用的线就可以了!
比较之四:
我本来要说说UG和PRO/E的,但想来想去,论大家在实际中的使用,总的来说是差不多的,只是各有各的使用习惯。本人从九六年就开始接触和使用UG,九八年开始用PRO/E,现在UG和PRO/E在我的工作中占相同的地位,最好两个软件能取长补短。我个人来说,PRO/E偏向于设计,UG能力更强一点,在各个方面都能做到得心应手,对于一些乱糟糟的面啊、线啊,改模啊、改设计啊、UG用起来还是更顺利些,至少可以随时把参数去掉,减少特征树。PRO/E在装配设计方面也有长处,草图功能非UG所能比,所以。。。。看个人习惯吧。
比较之五:
既然大家都说了这么多,那我也来说两句:
1。应该说UG的综合能力是很强大的:从产品设计到模具设计到加工到分析到渲染几乎无所不包;
2。pro强调的是单纯的全相关产品设计,显得有点力单势薄;
3。至于哪个更好,其实要看我们能用到什么程度,对于大部分用户我相信两个软件都能完成我们所要求的功能;
4。如果要求多面手,那当然首选UG,如果单做产品设计都可以不过一定要学精不要单纯的讲哪个软件好关键是你能用它做到多少东西!
5。从初学的角度出发,我个人意见是UG入门及自学能更快上手!
6。GUI的界面,功能可以记图标,一目了然,再加上现在UG的资料也多了!
如有得罪,请赐教!
比较之六:
学模具设计,UG是第一选择,模具标准件都有,一套简单的模具,5分钟模,5分钟装模胚,再装顶针及其它标准件,布水路,30分钟搞定,不过你要有模具设计实际经验才好.
比较之七:
支持用UG,因为PROE的分模确实比不上UG。小弟我用PROE分模两年啦,用UG一年,请多指教。
比较之八:
UG为混合建模,可以局部参数化(当然完全参数化更没问题),对于模型更新有利。
PTC为完全参数化,编辑更新小的设计(家电)可以,大的(飞机,汽车),一更新不死机,其刷新时间会影响到设计师的思路。
比较之九:
Pro/E 很具有市场意识,想当年AutoCAD占领中国CAD市场,在国外还有一个软件IntelliCAD,该软件并不比AutoCAD差,听说很多功能比AutoCAD还强,但因为国内盗版事业的发达,以及AutoDesk公司的先进头脑,从而AutoCAD迅速占领国内市场,这在其他国家是很少看到的,Pro/E也学习了AutoCAD的做法,让盗版占领中国市场,会的人多了,企业也认了,所以逐渐会形成规模效应。
市场上有一条规律最好的不一定是用的最多的,Windows操作系统可不是最好的,但可是最多的,特别是那个破98。为了帮助UG公司能更好的对抗PTC,是不是建议多盗版一些UG?
还与UG公司也老笨,为什么不编写中文的CAST跟Document呢,这样的话对UG市场的扩展会起到一定的作用。
比较之十:
说说格式的转换!UG的核心PARASOLID是一般以上的三维软件都支持的只有PROE坚持最简单的!加工软件用的最多的是MASTERCAM,PROE只能通过原始的IGES或者STEP转吖
比较之十一:
这是ug的曲面与渲染,可以说是很完美!
proe搞这种东西好像,大家说是不是有点腰软!
我还没看到proe出这种渲染质量的图片
如果说应用,在机械行业目前用的相对ug广泛一点.
电脑键盘功能基础知识是什么?
电脑零基础知识-鼠标和电脑键盘功能基础知识
为什么超声刀美容会有那么多的副作用?
你好,NLL这个的影响因素较多,面积比较大的!
数学中,0有什么作用?
1、表示数的某位上没有单位:如305、0.05中的“0” 即表示某位上没有单位。
2、表示起点:如在尺的起点刻度线标个“0”。
3、用于编号:如0068,就会使人知道最大的号码是四位数。
4、表示界限:我们常说某一气温为0摄氏度, 水平面的高度为0米。在这里, 0摄氏度不 是没有温度, 0米也不是没有高度; 0在这里起一个数量界限的作用。
如温度零上和零下的度数以“0”为界;向东、向西以**“0”为界;正负以中性数“0”为界。
5、表示精确度:如0.50表示精确到百分之一。
6、记帐的需要;如3元通常记作3.00元。
扩展资料:
一、数字0的历史起源
0是极为重要的数字,关于0这个数字概念在其它地区很早就有。公元前3000年,巴比伦人就已经懂得使用零来避免混淆。古埃及早在公元前2千年就有人在记帐时用特别符号来记载零。玛雅文明最早发明特别字体的0。玛雅数字中0以贝壳模样的象形符号代表。
标准的0这个数字由古印度人在约公元5世纪时发明。他们最早用黑点“·”表示零,后来逐渐变成了“0”。在东方国家由于数学是以运算为主(西方当时以几何并在开头写了“印度人的9个数字,加上阿拉伯人发明的0符号便可以写出所有数字)。
由于一些原因,在初引入0这个符号到西方时,曾经引起西方人的困惑, 因当时西方认为所有数都是正数,而且0这个数字会使很多算式、逻辑不能成立(如除以0),甚至认为是魔鬼数字,而被禁用。直至约公元15,16世纪0和负数才逐渐给西方人所认同,才使西方数学有快速发展。
二、相关性质
1、0是最小的自然数。
2、0能被任何非零整数整除。
3、0不是奇数,而是偶数(一个非正非负的特殊偶数)。
4、0不是质数,也不是合数
5、0在多位数中起占位作用,如108中的0表示十位上没有,切不可写作18。
6、0不可作为多位数的最高位。不过有些编号中需要前面用0补全位数。
7、0既不是正数也不是负数,而是正数和负数的分界点。当某个数X大于0(即X>0)时,称为正数;反之,当X小于0(即X<0)时,称为负数;而这个数X等于0时,这个数就是0。
参考资料来源:百度百科-0
穿束腰衣的好处和坏处
电脑截图的快捷键是prtsc 但是为什么我按了ctrl后还是没有呢
在按下截图的功能键后需要到 开始-所有程序-附件中找到“画图”工具进行复制才能出现。复制好然后单击保存即可完成截图。