Assembly 使用xchg交换数据
以下措施的效果如何:Assembly 使用xchg交换数据,assembly,swap,Assembly,Swap,以下措施的效果如何: xchgl %eax, %eax xchg用于交换数据,但是如果src和dst相同,那么它基本上没有效果?xchg eax,eax,或者在二进制中,单字节指令0x90,也称为nop。它什么也不做。xchg eax,eax,或者在二进制中,单字节指令0x90,也称为nop。它什么也不做。xchg eax,eax,或者在二进制中,单字节指令0x90,也称为nop。它什么也不做。xchg eax,eax,或者在二进制中,单字节指令0x90,也称为nop。它什么也不做。那条指令的
xchgl %eax, %eax
xchg用于交换数据,但是如果src和dst相同,那么它基本上没有效果?
xchg eax,eax
,或者在二进制中,单字节指令0x90
,也称为nop
。它什么也不做。xchg eax,eax
,或者在二进制中,单字节指令0x90
,也称为nop
。它什么也不做。xchg eax,eax
,或者在二进制中,单字节指令0x90
,也称为nop
。它什么也不做。xchg eax,eax
,或者在二进制中,单字节指令0x90
,也称为nop
。它什么也不做。那条指令的二进制值是多少?我真的不知道,我在for data swapon中看到了一个例子该指令的可能编码是0x90
,也称为NOP
。所以是的,它没有任何效果。请注意,在64位模式下,它确实有一个副作用,即将上面的32位归零(编译器使用这个事实)。@teaLeef:我也不知道。当我的PDF查看器加载英特尔手册时,我通过一个汇编程序运行了该指令,后面跟着objdump
,还有lo!瞧,它说,0:90nop
。@Jester实际上0x90nop
在x86_64中是一个特例,因为它不会像其他指令一样将顶部位归零。“希望90是真正的nop,即使是64位。”该指令的二进制值是多少?我真的不知道,我在for data swapon中看到了一个示例,该指令的可能编码是0x90
,也称为NOP
。所以是的,它没有任何效果。请注意,在64位模式下,它确实有一个副作用,即将上面的32位归零(编译器使用这个事实)。@teaLeef:我也不知道。当我的PDF查看器加载英特尔手册时,我通过一个汇编程序运行了该指令,后面跟着objdump
,还有lo!瞧,它说,0:90nop
。@Jester实际上0x90nop
在x86_64中是一个特例,因为它不会像其他指令一样将顶部位归零。“希望90是真正的nop,即使是64位。”该指令的二进制值是多少?我真的不知道,我在for data swapon中看到了一个示例,该指令的可能编码是0x90
,也称为NOP
。所以是的,它没有任何效果。请注意,在64位模式下,它确实有一个副作用,即将上面的32位归零(编译器使用这个事实)。@teaLeef:我也不知道。当我的PDF查看器加载英特尔手册时,我通过一个汇编程序运行了该指令,后面跟着objdump
,还有lo!瞧,它说,0:90nop
。@Jester实际上0x90nop
在x86_64中是一个特例,因为它不会像其他指令一样将顶部位归零。“希望90是真正的nop,即使是64位。”该指令的二进制值是多少?我真的不知道,我在for data swapon中看到了一个示例,该指令的可能编码是0x90
,也称为NOP
。所以是的,它没有任何效果。请注意,在64位模式下,它确实有一个副作用,即将上面的32位归零(编译器使用这个事实)。@teaLeef:我也不知道。当我的PDF查看器加载英特尔手册时,我通过一个汇编程序运行了该指令,后面跟着objdump
,还有lo!瞧,它说,0:90nop
。@Jester实际上0x90nop
在x86_64中是一个特例,因为它不会像其他指令一样将顶部位归零“希望90是真正的nop,即使是64位。”对于xchg eax还有另一个2字节编码,eax在x86_64上不是nop:87c0
那么这种编码是为了什么?很少有人知道xchg eax,eax相当于nop@teaLeef:nop通常用于浪费一定数量的时钟周期。@carveone:Anop
指令对于建立代码跳转目标对齐、可修补性等非常有用。xchg eax还有另一种2字节编码,eax在x86_64上不是nop:87c0
那么这种编码是为了什么?很少有人知道xchg eax,eax相当于nop@teaLeef:nop通常用于浪费一定数量的时钟周期。@carveone:Anop
指令对于建立代码跳转目标对齐、可修补性等非常有用。xchg eax还有另一种2字节编码,eax在x86_64上不是nop:87c0
那么这种编码是为了什么?很少有人知道xchg eax,eax相当于nop@teaLeef:nop通常用于浪费一定数量的时钟周期。@carveone:Anop
指令对于建立代码跳转目标对齐、可修补性等非常有用。xchg eax还有另一种2字节编码,eax在x86_64上不是nop:87c0
那么这种编码是为了什么?很少有人知道xchg eax,eax相当于nop@teaLeef:nop通常用于浪费一定数量的时钟周期。@carveone:Anop
指令对于建立代码跳转目标对齐、可修补性等非常有用。