Changeset 226 in dev for trunk/abdev/BasicCompiler64/Compile_Func.cpp
- Timestamp:
- Jul 22, 2007, 4:58:47 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_Func.cpp
r206 r226 64 64 65 65 //mov rax,TypeSize 66 op_mov_RV(sizeof(_int64),REG_RAX,typeSize);66 compiler.codeGenerator.op_mov_RV(sizeof(_int64),REG_RAX,typeSize); 67 67 68 68 return; … … 124 124 if(type.IsObjectPtr()){ 125 125 //mov rcx,qword ptr[rcx] 126 op_mov_RM(sizeof(_int64),REG_RCX,REG_RCX,0,MOD_BASE);126 compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_RCX,REG_RCX,0,MOD_BASE); 127 127 } 128 128 } … … 143 143 144 144 //mov r11,qword ptr[rcx] 145 op_mov_RM(sizeof(_int64),REG_R11,REG_RCX,0,MOD_BASE);145 compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_R11,REG_RCX,0,MOD_BASE); 146 146 147 147 int i2 = pobj_c->GetFuncNumInVtbl( pUserProc ); … … 149 149 //mov rax,qword ptr[r11+func_index] 150 150 if(i2*PTR_SIZE<=0x7F){ 151 op_mov_RM(sizeof(_int64),REG_RAX,REG_R11,i2*PTR_SIZE,MOD_BASE_DISP8);151 compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_RAX,REG_R11,i2*PTR_SIZE,MOD_BASE_DISP8); 152 152 } 153 153 else{ 154 op_mov_RM(sizeof(_int64),REG_RAX,REG_R11,i2*PTR_SIZE,MOD_BASE_DISP32);154 compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_RAX,REG_R11,i2*PTR_SIZE,MOD_BASE_DISP32); 155 155 } 156 156 } … … 159 159 160 160 //mov rax,ProcAddr 161 op_mov_RV(sizeof(_int64),REG_RAX,0);161 compiler.codeGenerator.op_mov_RV(sizeof(_int64),REG_RAX,0); 162 162 obp-=sizeof(long); 163 163 pobj_SubAddrSchedule->add(pUserProc,0); … … 178 178 179 179 //mov rax,size 180 op_mov_RV(sizeof(_int64),REG_RAX,typeSize);180 compiler.codeGenerator.op_mov_RV(sizeof(_int64),REG_RAX,typeSize); 181 181 } 182 182 void Opcode_Func_VarPtr( const char *Parameter, Type &resultType, bool isCallOn ){ … … 209 209 210 210 //mov rax,qword ptr[rax] 211 op_mov_RM( sizeof(_int64), REG_RAX, REG_RAX, 0, MOD_BASE );211 compiler.codeGenerator.op_mov_RM( sizeof(_int64), REG_RAX, REG_RAX, 0, MOD_BASE ); 212 212 213 213 SetError(-120,NULL,cp); … … 244 244 245 245 //mov rax,qword ptr[rax] 246 op_mov_RM( sizeof(_int64), REG_RAX, REG_RAX, 0, MOD_BASE );246 compiler.codeGenerator.op_mov_RM( sizeof(_int64), REG_RAX, REG_RAX, 0, MOD_BASE ); 247 247 } 248 248 else{ … … 263 263 if(type==DEF_DOUBLE){ 264 264 //movlpd xmm0,qword ptr[rax] 265 op_movlpd_RM(REG_XMM0,REG_RAX,0,MOD_BASE);265 compiler.codeGenerator.op_movlpd_RM(REG_XMM0,REG_RAX,0,MOD_BASE); 266 266 } 267 267 else if(type==DEF_SINGLE){ 268 268 //movss xmm0,dword ptr[rax] 269 op_movss_RM(REG_XMM0,REG_RAX,0,MOD_BASE);269 compiler.codeGenerator.op_movss_RM(REG_XMM0,REG_RAX,0,MOD_BASE); 270 270 } 271 271 else{ 272 272 //mov rax,ptr[rax] 273 op_mov_RM(GetTypeSize(type,-1),REG_RAX,REG_RAX,0,MOD_BASE);273 compiler.codeGenerator.op_mov_RM(GetTypeSize(type,-1),REG_RAX,REG_RAX,0,MOD_BASE); 274 274 } 275 275 }
Note:
See TracChangeset
for help on using the changeset viewer.