问题描述
我试图根据组装注册表中的现有值找出一个难题。
我一直在这行遇到麻烦
cmp %sil,0x12(%rdi)
jne ...
当我在调试器中检查%rdi
和%sil
的第12个偏移量时,它们确实包含相同的值,但是由于认为值不相等,程序仍会跳转。
我唯一能想到的是,以前的比较使用的是cmpb
而不是cmp
,而%sil
是%rsi
的1字节版本与8字节的值进行比较。
有人可以告诉我我是否在考虑正确吗?如果是这样,则解决方案的输入为字符串,那么如何更改输入以适应此要求?
解决方法
0x12(%rdi)
是小数的十六进制表示,而不是偏移量本身