diff options
author | Oxore <oxore@protonmail.com> | 2022-09-03 14:54:34 +0300 |
---|---|---|
committer | Oxore <oxore@protonmail.com> | 2022-09-03 15:12:58 +0300 |
commit | 9037b017d6519fed435eea20c3553d40d871d379 (patch) | |
tree | edd55ac4880c980f772f7a466f00edf5837fd38b /utils.hpp | |
parent | f1573848a8ced69f45192b07bab9785e900d34a0 (diff) |
Impl writing memory via GDB
Diffstat (limited to 'utils.hpp')
-rw-r--r-- | utils.hpp | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -10,3 +10,25 @@ #else # define UNREACHABLE #endif + +#include <stdint.h> + +namespace Utils { + +static inline uint8_t ParseByteFromHexChars(uint8_t first, uint8_t second) +{ + // Assume, that given bytes are valid hex digits in ASCII + first = ((first & 0x40) ? (first + 9) : first) & 0x0f; + second = ((second & 0x40) ? (second + 9) : second) & 0x0f; + return ((first << 4) | second) & 0xff; +} + +static inline void ConvertByteToHex(uint8_t byte, char* out) +{ + const uint8_t c1 = (byte >> 4) & 0x0f; + const uint8_t c2 = byte& 0x0f; + out[0] = static_cast<char>(c1 < 0xa ? c1 + '0' : c1 + ('a' - 0xa)); + out[1] = static_cast<char>(c2 < 0xa ? c2 + '0' : c2 + ('a' - 0xa)); +} + +} |