【发布时间】:2017-06-19 12:11:51
【问题描述】:
我无法理解以下汇编行的作用:
0x401810: repz cmps BYTE PTR ds:[rsi],BYTE PTR es:[rdi]
0x401812: seta dl
0x401815: setb al
我了解调试后,第一条指令逐字节比较寄存器rsi和rdi中的字节。
然后根据该指令设置rdx和rax的低字节。
我的困惑是,当我在网上查找这条指令时,它说seta 如果它高于某个值,则将低字节设置为 0x01,否则设置为 0x00。与 setb 类似,如果字节低于某个值,则将字节设置为 0x01。
我的问题是什么值,和上面的指令有什么关系?
【问题讨论】:
-
setCC咨询标志位,它不关心它们是如何设置的。cmps设置标志位。这就是联系。