Proper initialization of sp register
This commit is contained in:
parent
aa526943b9
commit
5ae765b304
|
@ -14,6 +14,7 @@
|
|||
#include "tlm.h"
|
||||
|
||||
#include "Performance.h"
|
||||
#include "Memory.h"
|
||||
|
||||
using namespace sc_core;
|
||||
using namespace sc_dt;
|
||||
|
@ -126,8 +127,13 @@ public:
|
|||
/**
|
||||
* Increments PC couunter to next address
|
||||
*/
|
||||
inline void incPC() {
|
||||
register_PC += 4;
|
||||
inline void incPC(bool C_ext=false) {
|
||||
if (C_ext == true) {
|
||||
register_PC += 2;
|
||||
} else {
|
||||
register_PC += 4;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -6,7 +6,8 @@ Registers::Registers() {
|
|||
memset(CSR, 0, sizeof(uint32_t)*4096);
|
||||
perf = Performance::getInstance();
|
||||
|
||||
register_bank[sp] = 1024-1; // SP points to end of memory
|
||||
//register_bank[sp] = 1024-1; // SP points to end of memory
|
||||
register_bank[sp] = Memory::SIZE-1;
|
||||
register_PC = 0x10000; // default _start address
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue