Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
X86 8086/8088中指令指针溢出的标志_X86_X86 16 - Fatal编程技术网

X86 8086/8088中指令指针溢出的标志

X86 8086/8088中指令指针溢出的标志,x86,x86-16,X86,X86 16,嘿,伙计们,我是8086体系结构的新手,在谷歌上找不到与以下内容相关的内容: 在i8086或i8088(即16位分段寻址)上,如果指令指针(程序计数器)位于0xFFFF时发生指令提取,会发生什么情况?我假设CPU增加IP,它溢出并变为0x0,而CS寄存器保持不变 但是,如果发生这种情况,是否设置了任何标志(如标志寄存器的溢出位?) 谢谢,我不确定它应该对标志有什么特殊效果,但它应该会触发重置。IP将增加到0000:并且CS将保持为FFFF,我会将CS:IP重置为FFFF:0000,这应该是引导加

嘿,伙计们,我是8086体系结构的新手,在谷歌上找不到与以下内容相关的内容:

在i8086或i8088(即16位分段寻址)上,如果指令指针(程序计数器)位于0xFFFF时发生指令提取,会发生什么情况?我假设CPU增加IP,它溢出并变为0x0,而CS寄存器保持不变

但是,如果发生这种情况,是否设置了任何标志(如标志寄存器的溢出位?)


谢谢,

我不确定它应该对标志有什么特殊效果,但它应该会触发重置。IP将增加到0000:并且CS将保持为FFFF,我会将CS:IP重置为FFFF:0000,这应该是引导加载程序的开始指令。

我不确定它应该对标志有任何特殊影响,但它应该触发重置。IP将增加到0000:并且CS将保持为FFFF,我会将CS:IP重置为FFFF:0000,这应该是引导加载程序的开始指令。

架构标志仅在指令执行时更改,而不是作为提取的结果更改。如您所述的溢出将导致概括,但这不会反映在除当前IP之外的任何地方。

架构标志仅在指令执行时更改,而不会作为提取的结果更改。如您所述的溢出将导致环绕,但这不会反映在除当前IP之外的任何地方。

如果CS不是FFFF(因此环绕指令不是重置向量),是否会触发重置?或者你的意思是,在这种特定情况下(CS=FFFFh,ip=0),它将有效地重置。感谢没有重置或任何其他事件。它甚至不会像您预期的那样重置IP。如果您位于0xffff,并且尝试获取5个字节,则在下一条指令中会将其环绕到0x4。如果CS不是FFFF(因此环绕指令不是重置向量),是否会触发重置?或者你的意思是,在这种特定情况下(CS=FFFFh,ip=0),它将有效地重置。感谢没有重置或任何其他事件。它甚至不会像您预期的那样重置IP。如果您在0xffff,并且试图获取5个字节,那么在下一条指令中,您将封装到0x4。感谢您的响应,因此基本上CPU将在CS:0x0处意外地继续执行?因此,为了澄清这个答案,IP将简单地封装,不会发生其他事件。谢谢。@Steve,没错。我本想回答你的评论,但却回答了马克的。。。在我太累的时候回答的危险:-)感谢您的响应,所以基本上CPU会在CS:0x0的情况下继续不知不觉地执行?因此,为了澄清这个答案,IP将简单地环绕,不会发生其他事件。谢谢。@Steve,没错。我本想回答你的评论,但却回答了马克的。。。当我太累时回答的危险:-)