Better output, change registers to unsigned int as base. Should be uint32_t?
This commit is contained in:
		
							parent
							
								
									e22f321caf
								
							
						
					
					
						commit
						908b7e965d
					
				|  | @ -245,7 +245,7 @@ private: | |||
| 	/**
 | ||||
| 	 * bank of registers (32 regs of 32bits each) | ||||
| 	 */ | ||||
| 	std::array<int,32> register_bank = { {0} }; | ||||
| 	std::array<unsigned int, 32> register_bank = { {0} }; | ||||
| 
 | ||||
| 	/**
 | ||||
| 	 * Program counter (32 bits width) | ||||
|  |  | |||
|  | @ -24,79 +24,80 @@ Registers::Registers() { | |||
| void Registers::dump() { | ||||
| 	std::cout << "************************************" << std::endl; | ||||
| 	std::cout << "Registers dump" << std::dec << std::endl; | ||||
| 	std::cout << "x0 (zero):  " << std::right << std::setw(11) | ||||
| 			<< register_bank[0]; | ||||
| 	std::cout << " x1 (ra):    " << std::right << std::setw(11) | ||||
| 			<< register_bank[1]; | ||||
| 	std::cout << " x2 (sp):    " << std::right << std::setw(11) | ||||
| 			<< register_bank[2]; | ||||
| 	std::cout << " x3 (gp):    " << std::right << std::setw(11) | ||||
| 			<< register_bank[3] << std::endl; | ||||
| 	std::cout << std::setfill('0') << std::uppercase; | ||||
| 	std::cout << "x0 (zero):  0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[0]; | ||||
| 	std::cout << " x1 (ra):    0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[1]; | ||||
| 	std::cout << " x2 (sp):    0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[2]; | ||||
| 	std::cout << " x3 (gp):    0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[3] << std::endl; | ||||
| 
 | ||||
| 	std::cout << "x4 (tp):    " << std::right << std::setw(11) | ||||
| 			<< register_bank[4]; | ||||
| 	std::cout << " x5 (t0):    " << std::right << std::setw(11) | ||||
| 			<< register_bank[5]; | ||||
| 	std::cout << " x6 (t1):    " << std::right << std::setw(11) | ||||
| 			<< register_bank[6]; | ||||
| 	std::cout << " x7 (t2):    " << std::right << std::setw(11) | ||||
| 			<< register_bank[7] << std::endl; | ||||
| 	std::cout << "x4 (tp):    0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[4]; | ||||
| 	std::cout << " x5 (t0):    0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[5]; | ||||
| 	std::cout << " x6 (t1):    0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[6]; | ||||
| 	std::cout << " x7 (t2):    0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[7] << std::endl; | ||||
| 
 | ||||
| 	std::cout << "x8 (s0/fp): " << std::right << std::setw(11) | ||||
| 			<< register_bank[8]; | ||||
| 	std::cout << " x9 (s1):    " << std::right << std::setw(11) | ||||
| 			<< register_bank[9]; | ||||
| 	std::cout << " x10 (a0):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[10]; | ||||
| 	std::cout << " x11 (a1):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[11] << std::endl; | ||||
| 	std::cout << "x8 (s0/fp): 0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[8]; | ||||
| 	std::cout << " x9 (s1):    0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[9]; | ||||
| 	std::cout << " x10 (a0):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[10]; | ||||
| 	std::cout << " x11 (a1):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[11] << std::endl; | ||||
| 
 | ||||
| 	std::cout << "x12 (a2):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[12]; | ||||
| 	std::cout << " x13 (a3):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[13]; | ||||
| 	std::cout << " x14 (a4):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[14]; | ||||
| 	std::cout << " x15 (a5):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[15] << std::endl; | ||||
| 	std::cout << "x12 (a2):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[12]; | ||||
| 	std::cout << " x13 (a3):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[13]; | ||||
| 	std::cout << " x14 (a4):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[14]; | ||||
| 	std::cout << " x15 (a5):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[15] << std::endl; | ||||
| 
 | ||||
| 	std::cout << "x16 (a6):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[16]; | ||||
| 	std::cout << " x17 (a7):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[17]; | ||||
| 	std::cout << " x18 (s2):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[18]; | ||||
| 	std::cout << " x19 (s3):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[19] << std::endl; | ||||
| 	std::cout << "x16 (a6):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[16]; | ||||
| 	std::cout << " x17 (a7):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[17]; | ||||
| 	std::cout << " x18 (s2):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[18]; | ||||
| 	std::cout << " x19 (s3):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[19] << std::endl; | ||||
| 
 | ||||
| 	std::cout << "x20 (s4):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[20]; | ||||
| 	std::cout << " x21 (s5):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[21]; | ||||
| 	std::cout << " x22 (s6):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[22]; | ||||
| 	std::cout << " x23 (s7):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[23] << std::endl; | ||||
| 	std::cout << "x20 (s4):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[20]; | ||||
| 	std::cout << " x21 (s5):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[21]; | ||||
| 	std::cout << " x22 (s6):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[22]; | ||||
| 	std::cout << " x23 (s7):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[23] << std::endl; | ||||
| 
 | ||||
| 	std::cout << "x24 (s8):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[24]; | ||||
| 	std::cout << " x25 (s9):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[25]; | ||||
| 	std::cout << " x26 (s10):  " << std::right << std::setw(11) | ||||
| 			<< register_bank[26]; | ||||
| 	std::cout << " x27 (s11):  " << std::right << std::setw(11) | ||||
| 			<< register_bank[27] << std::endl; | ||||
| 	std::cout << "x24 (s8):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[24]; | ||||
| 	std::cout << " x25 (s9):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[25]; | ||||
| 	std::cout << " x26 (s10):  0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[26]; | ||||
| 	std::cout << " x27 (s11):  0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[27] << std::endl; | ||||
| 
 | ||||
| 	std::cout << "x28 (t3):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[28]; | ||||
| 	std::cout << " x29 (t4):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[29]; | ||||
| 	std::cout << " x30 (t5):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[30]; | ||||
| 	std::cout << " x31 (t6):   " << std::right << std::setw(11) | ||||
| 			<< register_bank[31] << std::endl; | ||||
| 	std::cout << "x28 (t3):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[28]; | ||||
| 	std::cout << " x29 (t4):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[29]; | ||||
| 	std::cout << " x30 (t5):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[30]; | ||||
| 	std::cout << " x31 (t6):   0x" << std::right << std::setw(8) | ||||
| 			<< std::hex << register_bank[31] << std::endl; | ||||
| 
 | ||||
| 	std::cout << "PC: 0x" << std::hex << register_PC << std::dec << std::endl; | ||||
| 	std::cout << "PC: 0x" << std::setw(8) << std::hex << register_PC << std::dec << std::endl; | ||||
| 	std::cout << "************************************" << std::endl; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue