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

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

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

revision 1.3 by misto, Thu Jan 2 17:43:54 2003 UTC revision 1.4 by misto, Fri Jan 3 16:09:28 2003 UTC
# Line 38  Line 38 
38   * current [and only] version of executable is 0   * current [and only] version of executable is 0
39   */   */
40    
41    void loader::insert_os( void )
42    {
43            /* 0:
44             *      call start
45             *      save
46             *      
47             *      restore
48             *      halt [0]
49             *
50             * start:
51             *      
52             */
53    
54            instr.push_back( 0x40000004 );
55            instr.push_back( 0x81E00000 );
56            instr.push_back( 0x81E80000 );
57            instr.push_back( 0x00000000 );
58    }
59    
60  unsigned long loader::to_little_endian( unsigned char *a )  unsigned long loader::to_little_endian( unsigned char *a )
61  {  {
62          unsigned long val;          unsigned long val;
# Line 112  void loader::load_file( string fname ) Line 131  void loader::load_file( string fname )
131          file.read(word, 4);          file.read(word, 4);
132          unsigned long ilen = to_little_endian( word );          unsigned long ilen = to_little_endian( word );
133          instr.clear();          instr.clear();
134            insert_os();
135    
136          for( unsigned int i = 0 ; i < ilen ; i+= 4 ){          for( unsigned int i = 0 ; i < ilen ; i+= 4 ){
137                  unsigned long val;                  unsigned long val;

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

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