From e16cafa94235fe0fd0b27f3ffcab0cf82a57bdad Mon Sep 17 00:00:00 2001 From: Emmanuel AYME Date: Sat, 10 Jan 2026 10:42:57 +0100 Subject: [PATCH] Add function to get memory address from opcode --- Memory/Memory.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Memory/Memory.cpp b/Memory/Memory.cpp index a1c9830..518c282 100644 --- a/Memory/Memory.cpp +++ b/Memory/Memory.cpp @@ -28,6 +28,13 @@ uint8_t* Memory::GetOffsetFromOpcode(uint8_t* opcode, int extraOffset) return opcode + 4 + disp + extraOffset; // +4 car disp32 fait 4 octets } +uint8_t* Memory::GetAddressFromOpcode(uint8_t* opcode, uint32_t dispOffset, uint32_t instructionLen) +{ + int32_t disp = 0; + std::memcpy(&disp, opcode + dispOffset, sizeof(disp)); // lit le disp32 de manière safe + return opcode + instructionLen + disp; // gère automatiquement disp négatif +} + const char* Memory::Float32ToHexBytes(float value) { static char bytes[4]; // buffer persistant (évite les problèmes de scope) std::memcpy(bytes, &value, sizeof(float));