asm movbe 指令

MOVBE 目标操作数,源操作数

复制源操作数的数据,交换字节后,移动数据

假如:

movbe eax,(float)1000.0
eax == 0x00007A44

movbe eax,0x00007A44
// mov eax,0x447A0000 交换字节,移动数据
eax == (float)1000.0

用其他指令拆movbe

push eax
push edx
push ecx

mov eax,0      ; 目标
mov edx,0x7A44 ; 源
mov ecx,3

mov al,dl      ; 0x00000005
shl eax,0x8    ; 左移八位
shr edx,0x8    ; 右移八位
loop 0x00000005

// eax == 0x447A0000

pop ecx
pop edx
pop eax

lua

local s = '00007A44'
local be = ''

print(s)
for word in string.gmatch(s, "([0-9a-fA-F][0-9a-fA-F])") do
  be =word..be
end
print(be)
posted @ 2020-06-24 12:25  Ajanuw  阅读(698)  评论(0编辑  收藏  举报