/[smarc]/smarc/src/vmachine/registers.cc
ViewVC logotype

Diff of /smarc/src/vmachine/registers.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by misto, Thu Jan 2 20:55:26 2003 UTC revision 1.8 by misto, Fri Jan 3 01:25:55 2003 UTC
# Line 40  void registers::set_reg( int CWP, int n, Line 40  void registers::set_reg( int CWP, int n,
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");
# Line 50  bit_word registers::get_reg( int CWP, in Line 50  bit_word registers::get_reg( int CWP, in
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");

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26