Ignore:
Timestamp:
Jul 24, 2007, 7:11:26 PM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

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

    r229 r230  
    300300
    301301//////////////////////////////////
     302// lea関連
     303//////////////////////////////////
     304
     305void CodeGenerator::op_lea_RM( int reg, int base_reg, long offset, char mod, Schedule::Type scheduleType )
     306{
     307    //16ビット演算の命令プリフィックス
     308    char op_prefix=0;
     309
     310    //オペコード
     311    char opcode=(char)0x8D;
     312
     313    __op_format( op_prefix, opcode, 0, reg, base_reg, offset, mod, scheduleType );
     314}
     315
     316
     317
     318//////////////////////////////////
    302319// インクリメント・デクリメント
    303320//////////////////////////////////
     
    338355    pNativeCode->Put( (char)(0xC0|REGISTER_OPERAND(reg)) );
    339356    pNativeCode->Put( cValue );
     357}
     358void CodeGenerator::op_add_RV( int reg, long offset, Schedule::Type scheduleType )
     359{
     360    // add reg,offset
     361    pNativeCode->Put( (char)0x81 );
     362    pNativeCode->Put( (char)(0xC0|REGISTER_OPERAND(reg)) );
     363    pNativeCode->Put( offset, scheduleType );
    340364}
    341365void CodeGenerator::op_add_RR( int reg1, int reg2 )
Note: See TracChangeset for help on using the changeset viewer.