|
@@ -374,7 +374,7 @@ void insn_get_displacement(struct insn *insn)
|
|
if (mod == 3)
|
|
if (mod == 3)
|
|
goto out;
|
|
goto out;
|
|
if (mod == 1) {
|
|
if (mod == 1) {
|
|
- insn->displacement.value = get_next(char, insn);
|
|
|
|
|
|
+ insn->displacement.value = get_next(signed char, insn);
|
|
insn->displacement.nbytes = 1;
|
|
insn->displacement.nbytes = 1;
|
|
} else if (insn->addr_bytes == 2) {
|
|
} else if (insn->addr_bytes == 2) {
|
|
if ((mod == 0 && rm == 6) || mod == 2) {
|
|
if ((mod == 0 && rm == 6) || mod == 2) {
|
|
@@ -532,7 +532,7 @@ void insn_get_immediate(struct insn *insn)
|
|
|
|
|
|
switch (inat_immediate_size(insn->attr)) {
|
|
switch (inat_immediate_size(insn->attr)) {
|
|
case INAT_IMM_BYTE:
|
|
case INAT_IMM_BYTE:
|
|
- insn->immediate.value = get_next(char, insn);
|
|
|
|
|
|
+ insn->immediate.value = get_next(signed char, insn);
|
|
insn->immediate.nbytes = 1;
|
|
insn->immediate.nbytes = 1;
|
|
break;
|
|
break;
|
|
case INAT_IMM_WORD:
|
|
case INAT_IMM_WORD:
|
|
@@ -566,7 +566,7 @@ void insn_get_immediate(struct insn *insn)
|
|
goto err_out;
|
|
goto err_out;
|
|
}
|
|
}
|
|
if (inat_has_second_immediate(insn->attr)) {
|
|
if (inat_has_second_immediate(insn->attr)) {
|
|
- insn->immediate2.value = get_next(char, insn);
|
|
|
|
|
|
+ insn->immediate2.value = get_next(signed char, insn);
|
|
insn->immediate2.nbytes = 1;
|
|
insn->immediate2.nbytes = 1;
|
|
}
|
|
}
|
|
done:
|
|
done:
|