miasm
Reverse engineering framework
JitCore_msp430.c File Reference
#include <Python.h>
#include "structmember.h"
#include <stdint.h>
#include <inttypes.h>
#include "../compat_py23.h"
#include "../queue.h"
#include "../vm_mngr.h"
#include "../bn.h"
#include "../vm_mngr_py.h"
#include "../JitCore.h"
#include "JitCore_msp430.h"
Include dependency graph for JitCore_msp430.c:

Functions

PyObject * cpu_get_gpreg (JitCpu *self)
 
PyObject * cpu_set_gpreg (JitCpu *self, PyObject *args)
 
PyObject * cpu_init_regs (JitCpu *self)
 
void dump_gpregs (struct vm_cpu *vmcpu)
 
PyObject * cpu_dump_gpregs (JitCpu *self, PyObject *args)
 
PyObject * cpu_dump_gpregs_with_attrib (JitCpu *self, PyObject *args)
 
PyObject * cpu_set_exception (JitCpu *self, PyObject *args)
 
PyObject * cpu_get_exception (JitCpu *self, PyObject *args)
 
void MEM_WRITE_08 (JitCpu *jitcpu, uint64_t addr, uint8_t src)
 
void MEM_WRITE_16 (JitCpu *jitcpu, uint64_t addr, uint16_t src)
 
void MEM_WRITE_32 (JitCpu *jitcpu, uint64_t addr, uint32_t src)
 
void MEM_WRITE_64 (JitCpu *jitcpu, uint64_t addr, uint64_t src)
 
 getset_reg_u16 (PC)
 
 getset_reg_u16 (SP)
 
 getset_reg_u16 (R3)
 
 getset_reg_u16 (R4)
 
 getset_reg_u16 (R5)
 
 getset_reg_u16 (R6)
 
 getset_reg_u16 (R7)
 
 getset_reg_u16 (R8)
 
 getset_reg_u16 (R9)
 
 getset_reg_u16 (R10)
 
 getset_reg_u16 (R11)
 
 getset_reg_u16 (R12)
 
 getset_reg_u16 (R13)
 
 getset_reg_u16 (R14)
 
 getset_reg_u16 (R15)
 
 getset_reg_u16 (zf)
 
 getset_reg_u16 (nf)
 
 getset_reg_u16 (of)
 
 getset_reg_u16 (cf)
 
 getset_reg_u16 (cpuoff)
 
 getset_reg_u16 (gie)
 
 getset_reg_u16 (osc)
 
 getset_reg_u16 (scg0)
 
 getset_reg_u16 (scg1)
 
 getset_reg_u16 (res)
 
PyObject * get_gpreg_offset_all (void)
 
 MOD_INIT (JitCore_msp430)
 

Variables

reg_dict gpreg_dict []
 

Function Documentation

◆ cpu_dump_gpregs()

PyObject* cpu_dump_gpregs ( JitCpu self,
PyObject *  args 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cpu_dump_gpregs_with_attrib()

PyObject* cpu_dump_gpregs_with_attrib ( JitCpu self,
PyObject *  args 
)
Here is the call graph for this function:

◆ cpu_get_exception()

PyObject* cpu_get_exception ( JitCpu self,
PyObject *  args 
)

◆ cpu_get_gpreg()

PyObject* cpu_get_gpreg ( JitCpu self)

◆ cpu_init_regs()

PyObject* cpu_init_regs ( JitCpu self)

◆ cpu_set_exception()

PyObject* cpu_set_exception ( JitCpu self,
PyObject *  args 
)

◆ cpu_set_gpreg()

PyObject* cpu_set_gpreg ( JitCpu self,
PyObject *  args 
)

◆ dump_gpregs()

void dump_gpregs ( struct vm_cpu vmcpu)
Here is the caller graph for this function:

◆ get_gpreg_offset_all()

PyObject* get_gpreg_offset_all ( void  )

◆ getset_reg_u16() [1/25]

getset_reg_u16 ( cf  )

◆ getset_reg_u16() [2/25]

getset_reg_u16 ( cpuoff  )

◆ getset_reg_u16() [3/25]

getset_reg_u16 ( gie  )

◆ getset_reg_u16() [4/25]

getset_reg_u16 ( nf  )

◆ getset_reg_u16() [5/25]

getset_reg_u16 ( of  )

◆ getset_reg_u16() [6/25]

getset_reg_u16 ( osc  )

◆ getset_reg_u16() [7/25]

getset_reg_u16 ( PC  )

◆ getset_reg_u16() [8/25]

getset_reg_u16 ( R10  )

◆ getset_reg_u16() [9/25]

getset_reg_u16 ( R11  )

◆ getset_reg_u16() [10/25]

getset_reg_u16 ( R12  )

◆ getset_reg_u16() [11/25]

getset_reg_u16 ( R13  )

◆ getset_reg_u16() [12/25]

getset_reg_u16 ( R14  )

◆ getset_reg_u16() [13/25]

getset_reg_u16 ( R15  )

◆ getset_reg_u16() [14/25]

getset_reg_u16 ( R3  )

◆ getset_reg_u16() [15/25]

getset_reg_u16 ( R4  )

◆ getset_reg_u16() [16/25]

getset_reg_u16 ( R5  )

◆ getset_reg_u16() [17/25]

getset_reg_u16 ( R6  )

◆ getset_reg_u16() [18/25]

getset_reg_u16 ( R7  )

◆ getset_reg_u16() [19/25]

getset_reg_u16 ( R8  )

◆ getset_reg_u16() [20/25]

getset_reg_u16 ( R9  )

◆ getset_reg_u16() [21/25]

getset_reg_u16 ( res  )

◆ getset_reg_u16() [22/25]

getset_reg_u16 ( scg0  )

◆ getset_reg_u16() [23/25]

getset_reg_u16 ( scg1  )

◆ getset_reg_u16() [24/25]

getset_reg_u16 ( SP  )

◆ getset_reg_u16() [25/25]

getset_reg_u16 ( zf  )

◆ MEM_WRITE_08()

void MEM_WRITE_08 ( JitCpu jitcpu,
uint64_t  addr,
uint8_t  src 
)
Here is the call graph for this function:

◆ MEM_WRITE_16()

void MEM_WRITE_16 ( JitCpu jitcpu,
uint64_t  addr,
uint16_t  src 
)
Here is the call graph for this function:

◆ MEM_WRITE_32()

void MEM_WRITE_32 ( JitCpu jitcpu,
uint64_t  addr,
uint32_t  src 
)
Here is the call graph for this function:

◆ MEM_WRITE_64()

void MEM_WRITE_64 ( JitCpu jitcpu,
uint64_t  addr,
uint64_t  src 
)
Here is the call graph for this function:

◆ MOD_INIT()

MOD_INIT ( JitCore_msp430  )

Variable Documentation

◆ gpreg_dict

reg_dict gpreg_dict[]
Initial value:
= { {.name = "PC", .offset = offsetof(struct vm_cpu, PC)},
{.name = "SP", .offset = offsetof(struct vm_cpu, SP)},
{.name = "R3", .offset = offsetof(struct vm_cpu, R3)},
{.name = "R4", .offset = offsetof(struct vm_cpu, R4)},
{.name = "R5", .offset = offsetof(struct vm_cpu, R5)},
{.name = "R6", .offset = offsetof(struct vm_cpu, R6)},
{.name = "R7", .offset = offsetof(struct vm_cpu, R7)},
{.name = "R8", .offset = offsetof(struct vm_cpu, R8)},
{.name = "R9", .offset = offsetof(struct vm_cpu, R9)},
{.name = "R10", .offset = offsetof(struct vm_cpu, R10)},
{.name = "R11", .offset = offsetof(struct vm_cpu, R11)},
{.name = "R12", .offset = offsetof(struct vm_cpu, R12)},
{.name = "R13", .offset = offsetof(struct vm_cpu, R13)},
{.name = "R14", .offset = offsetof(struct vm_cpu, R14)},
{.name = "R15", .offset = offsetof(struct vm_cpu, R15)},
{.name = "zf", .offset = offsetof(struct vm_cpu, zf)},
{.name = "nf", .offset = offsetof(struct vm_cpu, nf)},
{.name = "of", .offset = offsetof(struct vm_cpu, of)},
{.name = "cf", .offset = offsetof(struct vm_cpu, cf)},
{.name = "cpuoff", .offset = offsetof(struct vm_cpu, cpuoff)},
{.name = "gie", .offset = offsetof(struct vm_cpu, gie)},
{.name = "osc", .offset = offsetof(struct vm_cpu, osc)},
{.name = "scg0", .offset = offsetof(struct vm_cpu, scg0)},
{.name = "scg1", .offset = offsetof(struct vm_cpu, scg1)},
{.name = "res", .offset = offsetof(struct vm_cpu, res)},
}
miasm.arch.msp430.regs.res
res
Definition: regs.py:71
miasm.arch.aarch64.regs.cf
cf
Definition: regs.py:166
miasm.arch.aarch64.regs.zf
zf
Definition: regs.py:163
miasm.arch.aarch64.regs.of
of
Definition: regs.py:165
miasm.arch.arm.regs.R8
list R8
Definition: regs.py:25
miasm.arch.msp430.regs.R14
list R14
Definition: regs.py:29
miasm.arch.arm.regs.R10
list R10
Definition: regs.py:27
miasm.arch.arm.regs.SP
list SP
Definition: regs.py:30
miasm.arch.msp430.regs.R15
list R15
Definition: regs.py:30
miasm.arch.msp430.regs.cpuoff
cpuoff
Definition: regs.py:66
miasm.arch.msp430.regs.scg0
scg0
Definition: regs.py:69
miasm.arch.aarch64.regs.nf
nf
Definition: regs.py:164
miasm.arch.msp430.regs.gie
gie
Definition: regs.py:67
miasm.arch.msp430.regs.scg1
scg1
Definition: regs.py:70
miasm.arch.arm.regs.R11
list R11
Definition: regs.py:28
miasm.arch.arm.regs.R5
list R5
Definition: regs.py:22
miasm.arch.msp430.regs.R13
list R13
Definition: regs.py:28
miasm.arch.arm.regs.R9
list R9
Definition: regs.py:26
miasm.arch.arm.regs.R3
list R3
Definition: regs.py:20
miasm.arch.aarch64.regs.PC
PC
Definition: regs.py:137
miasm.arch.msp430.regs.osc
osc
Definition: regs.py:68
miasm.arch.arm.regs.R4
list R4
Definition: regs.py:21
miasm.arch.arm.regs.R6
list R6
Definition: regs.py:23
miasm.arch.arm.regs.R12
list R12
Definition: regs.py:29
vm_cpu
Definition: JitCore_aarch64.h:2
miasm.arch.arm.regs.R7
list R7
Definition: regs.py:24