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