Ignore:
Timestamp:
Jul 21, 2007, 11:47:40 PM (17 years ago)
Author:
dai_9181
Message:

CodeGeneratorクラスのベースを実装

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler32/MakePeHdr.cpp

    r224 r225  
    437437        dwContinueAddress=-1;
    438438
     439        // コード生成対象を選択
     440        compiler.codeGenerator.Select( compiler.globalNativeCode );
     441
    439442        trace_for_sourcecodestep( "★★★ グローバル領域のコンパイルを開始" );
    440443
     
    443446        //OpBuffer[obp++]=(char)0xCC;
    444447
     448
    445449        //push ebp
    446         op_push(REG_EBP);
     450        compiler.codeGenerator.op_push(REG_EBP);
    447451
    448452        if(bDebugCompile){
     
    455459
    456460        //_System_StartupProgramの呼び出し
    457         op_call(pSub_System_StartupProgram);
     461        compiler.codeGenerator.op_call(pSub_System_StartupProgram);
    458462
    459463        //クラスに属する静的メンバを定義
     
    489493        //call _System_End
    490494        extern const UserProc *pSub_System_End;
    491         op_call(pSub_System_End);
     495        compiler.codeGenerator.op_call(pSub_System_End);
    492496
    493497
    494498        //xor eax,eax(eaxを0に初期化する)
    495         op_zero_reg(REG_EAX);
     499        compiler.codeGenerator.op_zero_reg(REG_EAX);
    496500
    497501        //pop ebp
    498         op_pop(REG_EBP);
     502        compiler.codeGenerator.op_pop(REG_EBP);
    499503
    500504        //ret
    501         op_ret();
     505        compiler.codeGenerator.op_ret();
    502506
    503507        //グローバル実行領域のコードサイズ
Note: See TracChangeset for help on using the changeset viewer.