25 |
|
|
26 |
void registers::set_reg( int CWP, int n, bit_word val ) |
void registers::set_reg( int CWP, int n, bit_word val ) |
27 |
{ |
{ |
28 |
if ( n >= 0 && n < 8 ) |
/* writing to regs[0] is ignored */ |
29 |
|
if ( n > 0 && n < 8 ) |
30 |
regs[n] = val; |
regs[n] = val; |
31 |
else if ( n >= 8 && n < 32 ) |
else if ( n >= 8 && n < 32 ) |
32 |
regs[8 + ( n - 8 + CWP*16)%(win_num*16) ] = val; |
regs[8 + ( n - 8 + CWP*16)%(win_num*16) ] = val; |
36 |
} |
} |
37 |
bit_word registers::get_reg( int CWP, int n ) |
bit_word registers::get_reg( int CWP, int n ) |
38 |
{ |
{ |
39 |
if ( n >= 0 && n < 8 ) |
if ( n > 0 && n < 8 ) |
40 |
return regs[n]; |
return regs[n]; |
41 |
else if ( n >= 8 && n < 32 ) |
else if ( n >= 8 && n < 32 ) |
42 |
return regs[8 + ( n - 8 + CWP*16)%(win_num*16) ]; |
return regs[8 + ( n - 8 + CWP*16)%(win_num*16) ]; |