chore: show raw pointer value in disasm

This commit is contained in:
2025-05-25 10:27:32 +09:00
parent 90fb88aec6
commit 6762195378
2 changed files with 18 additions and 2 deletions

View File

@@ -1,7 +1,9 @@
//! The main dissembling logic.
use crate::aout::Aout;
use crate::operands::{Displacement, IByte, IWord, MemoryIndex, ModRmTarget, Operand, Pointer};
use crate::operands::{
DWord, Displacement, IByte, IWord, MemoryIndex, ModRmTarget, Operand, Pointer,
};
use crate::register::{Register, RegisterId, SegmentRegister};
use crate::{
Args,
@@ -541,6 +543,12 @@ impl Disassembler {
0x99 => Mnemonic::CWD,
0x9A => Mnemonic::CALL_p(Pointer {
raw: DWord::from_le_bytes([
self.text[self.offset],
self.text[self.offset + 1],
self.text[self.offset + 2],
self.text[self.offset + 3],
]),
segment: self.parse_word(),
offset: self.parse_word(),
}),
@@ -657,6 +665,12 @@ impl Disassembler {
0xE9 => Mnemonic::JMP_v(self.parse_j_word()),
0xEA => Mnemonic::JMP_p(Pointer {
raw: DWord::from_le_bytes([
self.text[self.offset],
self.text[self.offset + 1],
self.text[self.offset + 2],
self.text[self.offset + 3],
]),
segment: self.parse_word(),
offset: self.parse_word(),
}),