From 222b42a76bdcbf0aa989e2bc9dd37e9cebd2e65f Mon Sep 17 00:00:00 2001 From: ghidorahrex Date: Tue, 11 Feb 2020 11:41:27 -0500 Subject: [PATCH] GT-3534: Removed AF flag setting in add/sub flags when not being set elsewhere --- Ghidra/Processors/x86/data/languages/ia.sinc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Ghidra/Processors/x86/data/languages/ia.sinc b/Ghidra/Processors/x86/data/languages/ia.sinc index fa877fab43..0d8c2c289c 100644 --- a/Ghidra/Processors/x86/data/languages/ia.sinc +++ b/Ghidra/Processors/x86/data/languages/ia.sinc @@ -1229,12 +1229,11 @@ macro addCarryFlags ( op1, op2 ) { local CFcopy = zext(CF); CF = carry( op1, op2 ); OF = scarry( op1, op2 ); - local AFmask = -1 >> 4; - AF = (((op1 & AFmask) + (op2 & AFmask) + CFcopy) & (AFmask + 1)) != 0; local result = op1 + op2; CF = CF || carry( result, CFcopy ); OF = OF ^^ scarry( result, CFcopy ); op1 = result + CFcopy; + # AF not implemented } @@ -1242,12 +1241,11 @@ macro subCarryFlags ( op1, op2 ) { local CFcopy = zext(CF); CF = op1 < op2; OF = sborrow( op1, op2 ); - local AFmask = -1 >> 4; - AF = (((op1 & AFmask) - (op2 & AFmask) - CFcopy) & (AFmask + 1)) != 0; local result = op1 - op2; CF = CF || (result < CFcopy); OF = OF ^^ sborrow( result, CFcopy ); op1 = result - CFcopy; + # AF not implemented } macro resultflags(result) {