| 40 |
if ( n >= 0 && n < 8 ) |
if ( n >= 0 && n < 8 ) |
| 41 |
regs[n] = val; |
regs[n] = val; |
| 42 |
else if ( n >= 8 && n < 32 ) |
else if ( n >= 8 && n < 32 ) |
| 43 |
regs[8 + (n - 16 + CWP*16)%(win_num*16) ] = val; |
regs[8 + ((n - 16 + CWP*16)&(win_num*16 - 1)) ] = val; |
| 44 |
else |
else |
| 45 |
throw ex<vmachine>("registers::set_reg: " |
throw ex<vmachine>("registers::set_reg: " |
| 46 |
"Setting invalid register number"); |
"Setting invalid register number"); |
| 50 |
if ( n >= 0 && n < 8 ) |
if ( n >= 0 && n < 8 ) |
| 51 |
return regs[n]; |
return regs[n]; |
| 52 |
else if ( n >= 8 && n < 32 ) |
else if ( n >= 8 && n < 32 ) |
| 53 |
return regs[8 + (n - 16 + CWP*16)%(win_num*16) ]; |
return regs[8 + ((n - 16 + CWP*16)&(win_num*16 - 1)) ]; |
| 54 |
else |
else |
| 55 |
throw ex<vmachine>("registers::get_reg: " |
throw ex<vmachine>("registers::get_reg: " |
| 56 |
"Getting invalid register number"); |
"Getting invalid register number"); |