3
A
回答
4
测试标志有两条主要指令:Jcc
指令和SETcc
指令。看两张表格会给你一些检查这两个标志的说明。
使用SETcc
指令将是一个例子:
seto al ; Set byte to 1 if overflow (OF=1)
sets ah ; Set byte to 1 if sign (SF=1)
现在EAX
将包含十六进制值
0101 if both flags have been set
0100 if sign has been set
0001 if overflow has been set
0000 if both flags have been cleared
现在你可以比较AL
(溢)至AH
(符号)与cmp al, ah
。 jl
指令检查差异(SF≠OF),所以在cmp
与原始jl
具有相同的效果之后,jne
(不等于/零)。
最后整个代码仿效jl
是:
seto al
sets ah
cmp al, ah
jne lesser
相关问题
- 1. x86汇编:浮点比较
- 2. x86汇编比较参数
- 3. 用于比较和重置内存的Intel x86汇编
- 4. 用于设置,清除OF和TF标志的汇编指令
- 5. x86汇编CMP不设置零标志正确
- 6. x86汇编,增加和子
- 7. POPF x86汇编
- 8. gcc汇编标志
- 9. gcc汇编标志
- 10. 使用x86汇编语言
- 11. 汇编符号比较
- 12. 汇编比较指令
- 13. 如何修改用于条件跳转的x86汇编标志?
- 14. x86汇编错误
- 15. x86汇编语言
- 16. x86-64 GNU汇编
- 17. x86汇编代码
- 18. 功率x86汇编
- 19. x86汇编添加
- 20. .NET - NGEN编译x86汇编
- 21. x86汇编转换基数
- 22. 在汇编中比较比特
- 23. 解密x86汇编函数
- 24. intel x86汇编到C
- 25. 管理对x86汇编浮标阵
- 26. 由x86汇编语法
- 27. Python和R词汇比较
- 28. x86比较命令目标语法
- 29. C#枚举标志比较
- 30. 标志的图像比较
我注意到,有一个更优雅的方式与''setl''指令要做到这一点(设置字节,如果以下(SF≠OF)) 。 – user091sof
如果你准备使用'SETL',那么你为什么要'_JI'指令? – Fifoernik