diff options
author | Benedikt Böhm <bb@xnull.de> | 2009-07-04 10:49:19 +0200 |
---|---|---|
committer | Benedikt Böhm <bb@xnull.de> | 2009-07-04 10:49:19 +0200 |
commit | 6165e2dde32a8f425e54d4f061146b366d5a2e0a (patch) | |
tree | 857b1884e30c5b38ac8c915e37b8ee0bd52d712e /src/emu/cpu.h | |
parent | 11545b9e323084482673b8732b89711ae7e19928 (diff) | |
download | swppy-6165e2dde32a8f425e54d4f061146b366d5a2e0a.tar.gz swppy-6165e2dde32a8f425e54d4f061146b366d5a2e0a.tar.xz swppy-6165e2dde32a8f425e54d4f061146b366d5a2e0a.zip |
adapt emulator for generator changes:
- new instructions (push, pop, call, ret)
- new pseudo-registers (bp, sp, rv)
- new binary format
- dynamic register file size
- removed obsolete instructions
Diffstat (limited to '')
-rw-r--r-- | src/emu/cpu.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/emu/cpu.h b/src/emu/cpu.h index 43ccf00..4867a8a 100644 --- a/src/emu/cpu.h +++ b/src/emu/cpu.h @@ -14,14 +14,23 @@ enum { void trap(int num); -/* program counter */ -extern uint32_t PC; +/* stack pointer */ +extern uint32_t SP; + +/* base pointer */ +extern uint32_t BP; + +/* return value */ +extern uint32_t RV; + +/* instruction pointer */ +extern uint32_t IP; /* status bits */ extern bool N, Z; -/* 32 general purpose registers */ -extern uint32_t GPR[32]; +/* general purpose registers */ +extern uint32_t *GPR; /* main cpu execution function */ void execute(uint32_t IR); |