计组,PC寄存器接受的rst输入是什么,pc端游戏

文章 3年前 (2021) admin
0

Q1:RStack出栈为什么要乘2给PC寄存器

为什么我们要给注册一个直接的地址?为什么我们要给注册一个直接的地址?计算机软件09-09-26匿名提问并公布回答时间。该投票冲浪了。| 2009-09-26 2:17336044.0人觉得这个答案不错。| 0人认为这个回答没有帮助。寄存器是中央处理器不可分割的一部分。寄存器是存储容量有限的高速存储组件,可用于临时存储指令、数据和地址。在中央处理器的控制单元中,包括的寄存器是指令寄存器和程序计数器。在中央处理器的算术和逻辑单元中,包括的寄存器是累加器(ACC)。它是内存层次结构的顶部,也是系统获取操作数据的最快方式。寄存器通常用它们能容纳的位数来衡量,例如“8位寄存器”或“32位寄存器”。寄存器现在被实现为寄存器文件,但是它们也可以在几台机器上使用单独的触发器、高速核心存储器、薄膜存储器和其他方法来实现。寄存器通常用于表示可以通过指令的输出或输入直接索引的寄存器组。更恰当地说,它们被称为“架构寄存器”。例如,定义了x86指令和一组8个32位寄存器,但是实现x86指令集的CPU可以包含8个以上的寄存器。寄存器是CPU的内部组件,寄存器具有非常高的读写速度,因此寄存器之间的数据传输非常快。[编辑本段]注册目的1。可以对寄存器中的数据进行算术和逻辑运算;2.寄存器中存储的地址可以用来指向存储器中的某个位置,即寻址;3.可用于向计算机读写数据的外围设备。【编辑本段】数据寄存器8086有14个16位寄存器,根据用途可以分为四类:(1)通用寄存器,(2)指令指针,(3)标志寄存器,(4)段寄存器。(1)共有8个通用寄存器,可分为2组,一组是数据寄存器(4),另一组是指针寄存器和索引寄存器(4)。数据寄存器分为: AHAL==AX(累加器):累加寄存器,常用于运算;此外,所有输入/输出指令都使用该寄存器来传输数据。外部设备的BHBL。==BX(base):基址寄存器,常用于地址索引;CHCL;==CX(计数):一种计数寄存器,常用于计数;通常用于保存计算值,例如用作隐式计数器。DHDL中的移位指令、循环和字符串处理指令;==DX(数据):数据寄存器,常用于数据传输。它们的特点是这四个16位寄存器可以分为高8位: AH、BH、CH、DH和DH,低8位:al、bl、cl和dl。这两组8位寄存器可以单独寻址和独立使用。另一组是指针寄存器和索引寄存器,包括:SP(Stack Pointer):堆栈指针,可以和SS一起使用,指向当前的堆栈位置;BP(Base Pointer):基址指针寄存器,可以作为ss的相对基址位置;SI(源索引):源索引寄存器可以用来存储相对于DS段的源索引指针;目的地索引:目的地索引寄存器,可用于存储相对于ES段的目的地索引指针。这四个16位寄存器只能被16位访问,主要用于构成操作数的地址,以及计算堆栈运算和索引运算中操作数的有效地址。(2)指令指针IP(Instruction Pointer)指令指针IP是一个16位的特殊寄存器,指向当前需要取出的指令字节。当BIU从内存中取出一个指令字时,IP会自动加1指向下一个指令字节。请注意,IP指的是指令地址的段内地址偏移量,也称为偏移量地址或有效地址(EA)。(3)标志寄存器FR(Flag Register) 8086具有18位标志寄存器FR,其中有9个有意义的位,其中6位是状态位,3位是控制位。OF:溢出标志位OF用于反映有符号数的加减结果是否溢出。
如果运算结果超出当前运算数字所能表示的范围,称为溢出,取值为1;否则,值为0。DF:方向标志DF位用于确定执行字符串操作指令时指针寄存器的调整方向。IF:中断允许标志的IF位用于确定中央处理器是否响应中央处理器外部屏蔽中断发出的中断请求。然而,不管该标志的值如何,中央处理器必须响应由中央处理器外部的未屏蔽中断发出的中断请求和中央处理器内部产生的中断请求。具体规定如下:(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? 寄存器(测试寄存器)用于某些条件测试。

Q2:三菱plc rst状态寄存器 s 和rst y有什么区别?

Y是PLC输出,RST的话PLC输出实体有变化,如果接着指示灯复位就灭了;而状态寄存器S只是PLC内部中间寄存器。

Q3:松下PLC寄存器和继电器是怎么定义的?例如:-R200 ;F0 MV ,K100,DT2000;这个300,100和2000代表什么

流汗!R200是相当于三菱和西门子的M的线圈。RST表示复位,对应于设置设置。F0 MV是16位传输指令。DT是一个数据寄存器。k代表十进制常数,意思是把常数100写入DT2000。

Q4:计组里4M字与4MB? 有些题目中说,存储容量4M字,通用寄存器32位,那我就知道了一个字等于4字

1M=1024KB

Q5:计组课程设计 题目:将以K为地址的内存单元的内容X与指令中所带数据Y执行X·Y加非X的运算,结果存入寄存器

不懂不懂!嘻嘻!我还想去学习!以后再告诉你!

Q6:{TITLE6}

{ANSWER6}

版权声明:admin 发表于 2021年10月23日 下午3:08。
转载请注明:计组,PC寄存器接受的rst输入是什么,pc端游戏 | 热豆腐网址之家

相关文章