首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jg指令在传统的英特尔处理器上做什么?

问jg指令在传统的英特尔处理器上做什么?
EN

Stack Overflow用户
提问于 2011-09-26 08:03:01
回答 1查看 4.1K关注 0票数 2

对于代码:

代码语言:javascript
复制
cmp $5, %eax
jg 804940f

这通过执行%eax - $5进行比较,然后设置一个标志(S),如果它大于、等于或为负,对吗?如果标志指示%eax大于$5,那么jg将继续到该地址?

EN

回答 1

Stack Overflow用户

发布于 2011-09-26 08:08:08

它确实做了一个减法,但它不会保持结果。然后,它相应地设置标志。你对第二行的判断也是正确的,如果它大于则跳转,如果不大于则跳过跳转并继续执行下一行。

编辑:如果你是汇编新手,你可能会发现访问标志寄存器的内容也很有帮助。在Intel汇编中有几种方法可以做到这一点,如果你需要低8位,那么你可以做lahf,它会将它们加载到啊。如果您想要寄存器的全部内容,那么可以使用pushf和popf。我希望这能帮到你。

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

https://stackoverflow.com/questions/7549471

复制
相关文章

相似问题

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