summaryrefslogtreecommitdiff
path: root/src/arch/immediate.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2016-02-09 14:03:11 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2016-02-09 14:03:11 (GMT)
commit76f44a20a5b277d7cbc441c4e71943d4e5507a9d (patch)
treebeb0d9427677aba523c2ae17c6b33b0c32c280a9 /src/arch/immediate.c
parent5fb8fb821698f43e9e2306841ff1f5a77876aed8 (diff)
Set the initial display value and avoided to pad octal and decimal values.
Diffstat (limited to 'src/arch/immediate.c')
-rw-r--r--src/arch/immediate.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/arch/immediate.c b/src/arch/immediate.c
index cd36de2..40533ae 100644
--- a/src/arch/immediate.c
+++ b/src/arch/immediate.c
@@ -172,6 +172,8 @@ static void g_imm_operand_class_init(GImmOperandClass *klass)
static void g_imm_operand_init(GImmOperand *operand)
{
operand->zpad = false;
+
+ operand->def_display = IOD_HEX;
operand->display = IOD_HEX;
}
@@ -741,6 +743,8 @@ size_t g_imm_operand_to_string(const GImmOperand *operand, AsmSyntax syntax, cha
{
case IOD_BIN:
case IOD_CHAR:
+ case IOD_OCT:
+ case IOD_DEC:
zpad = "";
break;
default:
@@ -883,6 +887,33 @@ static void g_imm_operand_print(const GImmOperand *operand, GBufferLine *line, A
/******************************************************************************
* *
* Paramètres : operand = opérande à traiter. *
+* pos = valeur résultante. [OUT] *
+* *
+* Description : Convertit une valeur immédiate en position de type phys_t. *
+* *
+* Retour : Bilan de l'opération. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+bool g_imm_operand_to_phys_t(const GImmOperand *operand, phys_t *pos)
+{
+ bool result; /* Bilan à renvoyer */
+
+ result = !MDS_IS_SIGNED(operand->size);
+
+ if (result)
+ *pos = operand->raw;
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : operand = opérande à traiter. *
* addr = valeur résultante. [OUT] *
* *
* Description : Convertit une valeur immédiate en adresse de type virt_t. *