assembly - jng 在汇编中如何工作?

标签 assembly

如果 bl>7fh
,我需要制作一个sub 我使用的代码是:

cmp bl,7fh
jng  here
sub bl,bl
here:

我知道 bl>7fh,因为 bl=92 且 jng如果 bl 不大于 7fh 则跳转
在这种情况下 bl 大于 7fh 那么为什么它会跳跃?!

最佳答案

jng 的条件是有符号不大于。根据您的意思是 92 还是 92h,当解释为有符号字节时,它会是 92 或 -110。无论如何,它都小于 127 (7Fh),这意味着 jng 应该跳转。

您想要的是一个无符号不大于(其名称为“不高于”或“低于或等于”)。即

jna here   ; or jbe here

关于assembly - jng 在汇编中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35033671/

相关文章:

assembly - 在CR0中设置PE标志如何启用保护模式?

assembly - `uint64_t`有什么难处? (来自 `float`的转换程序集)

assembly - 8086 assembly 相关问题

c++ - 手动反编译引用

c - 从 gcc 获取混合 C 和内联汇编

assembly - 从中断返回(RTI)和从子程序返回(RTS)之间的区别

C++ double representation asm 收藏

assembly - 组装处理器架构

c - ARM指令译码

c - x86 汇编中的序言和推送被调用者保存寄存器