会有跳跃的这种情况下,如果是如何? [英] would there be such case of jumping, if yes how?

查看:165
本文介绍了会有跳跃的这种情况下,如果是如何?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在头脑的问题,而且是自跳转指令加入签署偏移量(如果我没有在这里犯了一个错误)改变EIP寄存器,在IA-32架构将如何向上从内存中去定位为0x7FFFFFFF(以签订逻辑最大的正数)来为0x80000000(以签订逻辑至少负数)是可能的?或者不应该有这样的跳跃由于签署逻辑的本质是什么?

I have an issue in the mind and that is since the jump instruction changes EIP register by adding signed offsets to it(if I'm not making a mistake here), on IA-32 architecture how would going upward in memory from location 0x7FFFFFFF(biggest positive number in signed logic) to 0x80000000(least negative number in signed logic) be possible? or maybe there shouldn't be such jump due to the nature of signed logic?

推荐答案

符号和无符号是相互$ P $的pting相同的位模式,就像两种方式。这间pretation不改如何进行补充。 7FFFFFFF + 1总是8000,但是这可能是除preTED无论是作为符号(负号)或无符号(一个正数)。

Signed and unsigned are just two ways of interpreting the same bit pattern. This interpretation doesn't change how addition is performed. 7FFFFFFF + 1 is always 80000000, but this could be interpreted either as signed (a negative number) or unsigned (a positive number).

指令指针总是PTED为跨$ P $符号(显然负地址没有任何意义),这样回答你的问题。

The instruction pointer is always interpreted as unsigned (obviously negative addresses have no meaning), so that answers your question.

这篇关于会有跳跃的这种情况下,如果是如何?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆