首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Win32程序集条件跳转

Win32程序集条件跳转
EN

Stack Overflow用户
提问于 2016-10-28 05:13:25
回答 1查看 305关注 0票数 1

关于以下操作代码参考:http://ref.x86asm.net/coder32.html

我试着多了解一些关于条件跳跃的内容。您将在上面引用的链接中看到,“跳短如果为零/等于(ZF=0)”的操作码是74。因此,如果我们(在调试器中)二进制插入字节74 04,并将ZF标志设置为0,我们将看到4字节的短期前跳:

代码语言:javascript
复制
0207FF9F        74 04        JE SHORT 0207FFA5

那里没问题。

稍后在同一引用中,将使用操作码85引用一个类似的条件短跳,但是,如果您弹出该代码的条件跳转的字节长度类似,则会得到以下内容:

代码语言:javascript
复制
0207FFA5        850441        TEST DWORD PTR DS:[ECX+EAX*2],EAX

我很明显不明白,有人能解释一下吗?条件短距离跳转是否基于仅限于操作码70通过7F的标志值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-28 05:25:43

您找到的第二个85位于2字节操作码表中,其中每个条目都以0F作为前缀。

“近”(rel32) 0F 85。(哎呀,HTMLExtract会截断编码列表,只得到几个0F .. rel32版本。或者实际上已经破坏了其余的非表格式。见英特尔的PDF原件。

这些操作码表不是指令集参考手册。不过,如果你需要一个快速的参考资料,它们是很方便的。如果您曾经感到困惑,请在完整的手册中查找说明( x86标记wiki中的链接)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40298440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档