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"); |