1 ; CPUID Fn0000_0001_ECX[MOVBE] = 1
2 calminstruction movbe? dest*,src*
3 asmcmd =x86.=parse_operand =@dest,dest
4 asmcmd =x86.=parse_operand =@src,src
8 check @dest.size <> 0 & @src.size <> 0 & @dest.size <> @src.size
9 jyes operand_sizes_do_not_match
11 compute size, @dest.size or @src.size
13 jno invalid_operand_size
16 check @dest.type = 'reg' & @src.type = 'mem'
18 check @dest.type = 'mem' & @src.type = 'reg'
21 invalid_combination_of_operands:
22 asmcmd =err 'invalid combination of operands'
26 asmcmd =x86.=select_operand_prefix =@src,size
27 asmcmd =x86.=store_instruction <0Fh,38h,0F0h>,=@src,=@dest.=rm
31 asmcmd =x86.=select_operand_prefix =@dest,size
32 asmcmd =x86.=store_instruction <0Fh,38h,0F1h>,=@dest,=@src.=rm
36 asmcmd err 'invalid operand size'
40 operand_sizes_do_not_match:
41 asmcmd err 'operand sizes do not match'