summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}