summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2020-03-01 11:04:16 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2020-03-01 11:04:16 (GMT)
commiteb68c77804d9b85bc9b3c5a87ba3f64dd83afce1 (patch)
tree0696efcb3cf33e73657c5b5c7ed1a45e3967fad0
parente26ba6f0429e079785bfc96e0ea55c814537e76f (diff)
Cleaned the instruction flags when requested.
-rw-r--r--src/arch/instruction.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/arch/instruction.c b/src/arch/instruction.c
index a274569..b2f1137 100644
--- a/src/arch/instruction.c
+++ b/src/arch/instruction.c
@@ -393,6 +393,18 @@ ArchInstrFlag g_arch_instruction_get_flags(const GArchInstruction *instr)
g_bit_unlock(&extra->lock, HOLE_LOCK_BIT);
+ /**
+ * La pose du verrou a entraîné la mise à 1 du bit de poids fort de la zone
+ * couverte par le champ "extra".
+ *
+ * Même si les fanions ne couvrent pas cet emplacement, leur stockage s'étend
+ * sur 16 bits, et contient donc le fameux bit de verrouillage.
+ *
+ * On efface ce marqueur après-coup ici.
+ */
+
+ result &= ((AIF_HIGH_USER << 1) - 1);
+
return result;
}