Ignore:
Timestamp:
Jul 22, 2007, 4:58:47 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler64/Compile_Statement.cpp

    r224 r226  
    113113        if( resultType.IsStruct() ){
    114114            //mov r14,rax
    115             op_mov_RR(REG_R14,REG_RAX);
     115            compiler.codeGenerator.op_mov_RR(REG_R14,REG_RAX);
    116116
    117117            FreeTempObject(REG_R14,&resultType.GetClass());
     
    166166
    167167        //cmp rax,0
    168         op_cmp_value(resultType.GetSize(),REG_RAX,0);
     168        compiler.codeGenerator.op_cmp_value(resultType.GetSize(),REG_RAX,0);
    169169    }
    170170}
     
    421421
    422422    //cmp rax,0
    423     op_cmp_value(resultType.GetSize(),REG_RAX,0);
     423    compiler.codeGenerator.op_cmp_value(resultType.GetSize(),REG_RAX,0);
    424424
    425425    //je [カウンタ減少の場合の判定]
     
    451451
    452452    //cmp rax,0
    453     op_cmp_value(resultType.GetSize(),REG_RAX,0);
     453    compiler.codeGenerator.op_cmp_value(resultType.GetSize(),REG_RAX,0);
    454454
    455455ErrorStep:
     
    761761                    if(reg2!=REG_RDX){
    762762                        //mov rdx,reg2
    763                         op_mov_RR(REG_RDX,reg2);
     763                        compiler.codeGenerator.op_mov_RR(REG_RDX,reg2);
    764764                    }
    765765
     
    768768
    769769                    //call operator_proc    ※ ==演算子
    770                     op_call(pUserProc);
     770                    compiler.codeGenerator.op_call(pUserProc);
    771771
    772772                    //test rax,rax
    773                     op_test(REG_RAX,REG_RAX);
     773                    compiler.codeGenerator.op_test(REG_RAX,REG_RAX);
    774774
    775775                    //jne ...
     
    788788
    789789                        //comiss xmm_reg1,xmm_reg2
    790                         op_comisd(xmm_reg,REG_XMM4);
     790                        compiler.codeGenerator.op_comisd(xmm_reg,REG_XMM4);
    791791                    }
    792792                    else if(type1.IsSingle()){
     
    800800
    801801                        //comiss xmm_reg1,xmm_reg2
    802                         op_comiss(xmm_reg,REG_XMM4);
     802                        compiler.codeGenerator.op_comiss(xmm_reg,REG_XMM4);
    803803                    }
    804804                    else{
     
    811811
    812812                        //cmp reg2,r14
    813                         op_cmp_reg(GetTypeSize(i2,-1),reg2,REG_R14);
     813                        compiler.codeGenerator.op_cmp_reg(GetTypeSize(i2,-1),reg2,REG_R14);
    814814                    }
    815815
     
    893893    //call _System_GetEip
    894894    extern const UserProc *pSub_System_GetEip;
    895     op_call(pSub_System_GetEip);
     895    compiler.codeGenerator.op_call(pSub_System_GetEip);
    896896
    897897    //add rax,offset(Gosubステートメントの最終ポイント)
    898898    int schedule=obp,schedule2;
    899     op_add_RV(REG_RAX,0);
     899    compiler.codeGenerator.op_add_RV(REG_RAX,0);
    900900    schedule2=obp-sizeof(long);
    901901
     
    10321032
    10331033        //movsd qword ptr[reg_ptr],xmm0
    1034         op_movsd_MR(REG_XMM0,reg_ptr,0,MOD_BASE);
     1034        compiler.codeGenerator.op_movsd_MR(REG_XMM0,reg_ptr,0,MOD_BASE);
    10351035    }
    10361036    else if(type==DEF_SINGLE){
     
    10381038
    10391039        //movss dword ptr[reg_ptr],xmm0
    1040         op_movss_MR(REG_XMM0,reg_ptr,0,MOD_BASE);
     1040        compiler.codeGenerator.op_movss_MR(REG_XMM0,reg_ptr,0,MOD_BASE);
    10411041    }
    10421042    else{
     
    10441044
    10451045        //mov ptr[reg_ptr],rcx
    1046         op_mov_MR(GetTypeSize(type,-1),REG_RCX,reg_ptr,0,MOD_BASE);
    1047     }
    1048 }
     1046        compiler.codeGenerator.op_mov_MR(GetTypeSize(type,-1),REG_RCX,reg_ptr,0,MOD_BASE);
     1047    }
     1048}
Note: See TracChangeset for help on using the changeset viewer.