|
|
1
2
寄存器RDI包含数组内存中某个位置的地址。上面这行将RAX寄存器的内容复制到数组的第一个元素中。由于x64中的指针是0x8字节,因此以下两行:
将RDX和RCX寄存器的内容分别复制到数组的第二个和第三个元素中。现在我们需要开始比较这些值,看看需要在哪里交换。
cmp将比较RDX的值和RAX的值(基本上是数组[1]和数组[0])。如果RDX小于或等于RAX,那么这将直接将程序执行跳转到第400a33行。您可以将其视为(array[1]>array[0])。所以它继续比较这些值。
|
|
|
2
4
|
|
3
4
它有助于用专有名称替换寄存器名称以跟踪数据流,并为控制流添加分支标签。
|