about summary refs log tree commit diff stats
path: root/miasm/jitter/arch/JitCore_m68k.h
diff options
context:
space:
mode:
Diffstat (limited to 'miasm/jitter/arch/JitCore_m68k.h')
-rw-r--r--miasm/jitter/arch/JitCore_m68k.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/miasm/jitter/arch/JitCore_m68k.h b/miasm/jitter/arch/JitCore_m68k.h
new file mode 100644
index 00000000..6ff6b326
--- /dev/null
+++ b/miasm/jitter/arch/JitCore_m68k.h
@@ -0,0 +1,55 @@
+
+struct vm_cpu {
+	uint32_t exception_flags;
+	uint32_t interrupt_num;
+
+	/* gpregs */
+	uint32_t A0;
+	uint32_t A1;
+	uint32_t A2;
+	uint32_t A3;
+	uint32_t A4;
+	uint32_t A5;
+	uint32_t A6;
+	uint32_t SP;
+
+	uint32_t D0;
+	uint32_t D1;
+	uint32_t D2;
+	uint32_t D3;
+	uint32_t D4;
+	uint32_t D5;
+	uint32_t D6;
+	uint32_t D7;
+
+
+	uint32_t PC;
+
+	/* eflag */
+	uint32_t zf;
+	uint32_t nf;
+	uint32_t vf;
+	uint32_t cf;
+	uint32_t xf;
+
+	uint64_t float_st0;
+	uint64_t float_st1;
+	uint64_t float_st2;
+	uint64_t float_st3;
+	uint64_t float_st4;
+	uint64_t float_st5;
+	uint64_t float_st6;
+	uint64_t float_st7;
+
+	uint32_t bp_num;
+};
+
+
+_MIASM_EXPORT void dump_gpregs(struct vm_cpu* vmcpu);
+
+_MIASM_EXPORT void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src);
+_MIASM_EXPORT void MEM_WRITE_16(JitCpu* jitcpu, uint64_t addr, uint16_t src);
+_MIASM_EXPORT void MEM_WRITE_32(JitCpu* jitcpu, uint64_t addr, uint32_t src);
+_MIASM_EXPORT void MEM_WRITE_64(JitCpu* jitcpu, uint64_t addr, uint64_t src);
+
+#define RETURN_PC return BlockDst;