diff --git a/Ghidra/Processors/x86/data/languages/ia.sinc b/Ghidra/Processors/x86/data/languages/ia.sinc index 096a4e3033..c5d7236c70 100644 --- a/Ghidra/Processors/x86/data/languages/ia.sinc +++ b/Ghidra/Processors/x86/data/languages/ia.sinc @@ -3426,6 +3426,8 @@ define pcodeop smm_restore_state; PF = (AH & 0x04) != 0; CF = (AH & 0x01) != 0; } +:SALC is vexMode=0 & bit64=0 & byte=0xd6 { AL = CF * 0xff; } + :SAR rm8,n1 is vexMode=0 & byte=0xD0; rm8 & n1 & reg_opcode=7 ... { CF = rm8 & 1; OF = 0; rm8 = rm8 s>> 1; resultflags(rm8); } :SAR rm8,CL is vexMode=0 & byte=0xD2; CL & rm8 & reg_opcode=7 ... { local count = CL & 0x1f; local tmp = rm8; rm8 = rm8 s>> count; sarflags(tmp, rm8,count); shiftresultflags(rm8,count); }