From 19191876e28fea791ae153a9457dc461813b542f Mon Sep 17 00:00:00 2001 From: Lab 313 Date: Fri, 22 Apr 2016 02:37:22 +0300 Subject: [PATCH] Update libdis.h Fixed negative address getting. --- 3rd_party/libdisasm/libdis.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/3rd_party/libdisasm/libdis.h b/3rd_party/libdisasm/libdis.h index 6d3fc98..2d5ad3f 100644 --- a/3rd_party/libdisasm/libdis.h +++ b/3rd_party/libdisasm/libdis.h @@ -317,7 +317,10 @@ struct x86_op_t{ case op_offset: return data.offset; case op_relative_far: - return (int32_t) data.relative_far; + if (data.relative_far & 0x8000) + return (data.relative_far & 0xFFFF) | 0xFFFF0000; + else + return (int32_t)data.relative_far; default: assert(false); break;