register: added simple register description

This commit is contained in:
2017-09-15 15:08:46 +02:00
parent 3650929fa0
commit 20aa78ef9f
3 changed files with 75 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
#include <editline/readline.h>
#include "breakpoint.h"
#include "register.h"
#include "util.h"
typedef struct {

33
src/register.c Normal file
View File

@@ -0,0 +1,33 @@
#include "register.h"
int n_registers = 27;
const reg_descriptor reg_descriptors[27] = {
{ r15, 15, "r15" },
{ r14, 14, "r14" },
{ r13, 13, "r13" },
{ r12, 12, "r12" },
{ rbp, 6, "rbp" },
{ rbx, 3, "rbx" },
{ r11, 11, "r11" },
{ r10, 10, "r10" },
{ r9, 9, "r9" },
{ r8, 8, "r8" },
{ rax, 0, "rax" },
{ rcx, 2, "rcx" },
{ rdx, 1, "rdx" },
{ rsi, 4, "rsi" },
{ rdi, 5, "rdi" },
{ orig_rax, -1, "orig_rax" },
{ rip, -1, "rip" },
{ cs, 51, "cs" },
{ rflags, 49, "eflags" },
{ rsp, 7, "rsp" },
{ ss, 52, "ss" },
{ fs_base, 58, "fs_base" },
{ gs_base, 59, "gs_base" },
{ ds, 53, "ds" },
{ es, 50, "es" },
{ fs, 54, "fs" },
{ gs, 55, "gs" },
};

41
src/register.h Normal file
View File

@@ -0,0 +1,41 @@
#pragma once
typedef enum {
rax,
rbx,
rcx,
rdx,
rdi,
rsi,
rbp,
rsp,
r8,
r9,
r10,
r11,
r12,
r13,
r14,
r15,
rip,
rflags,
cs,
orig_rax,
fs_base,
gs_base,
fs,
gs,
ss,
ds,
es,
} reg;
typedef struct {
reg r;
int dwarf_r;
const char name[10];
} reg_descriptor;
int n_registers;
const reg_descriptor reg_descriptors[27];