Changeset 225 in dev for trunk/abdev/BasicCompiler32/Compile_CallProc.cpp
- Timestamp:
- Jul 21, 2007, 11:47:40 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler32/Compile_CallProc.cpp
r206 r225 15 15 //call _System_GetEip 16 16 extern const UserProc *pSub_System_GetEip; 17 op_call(pSub_System_GetEip);17 compiler.codeGenerator.op_call(pSub_System_GetEip); 18 18 19 19 //push eax 20 op_push(REG_EAX);20 compiler.codeGenerator.op_push(REG_EAX); 21 21 22 22 //push ebp 23 op_push(REG_EBP);23 compiler.codeGenerator.op_push(REG_EBP); 24 24 25 25 //call _DebugSys_SaveContext 26 26 extern const UserProc *pSub_DebugSys_SaveContext; 27 op_call(pSub_DebugSys_SaveContext);27 compiler.codeGenerator.op_call(pSub_DebugSys_SaveContext); 28 28 } 29 29 … … 260 260 261 261 //push object_size 262 op_push_V(object_size);262 compiler.codeGenerator.op_push_V(object_size); 263 263 264 264 //call calloc 265 265 extern const UserProc *pSub_calloc; 266 op_call(pSub_calloc);266 compiler.codeGenerator.op_call(pSub_calloc); 267 267 268 268 //push eax 269 op_push(REG_EAX);269 compiler.codeGenerator.op_push(REG_EAX); 270 270 } 271 271 … … 297 297 298 298 // 参照を実体ポインタにする 299 op_mov_RM( sizeof(long), REG_ECX, REG_EAX, 0, MOD_BASE );299 compiler.codeGenerator.op_mov_RM( sizeof(long), REG_ECX, REG_EAX, 0, MOD_BASE ); 300 300 } 301 301 } … … 306 306 307 307 //mov ecx,dword ptr[esp+ParmSize] 308 op_mov_RM( sizeof(long), REG_ECX, REG_ESP, ParmSize + tempSize, MOD_BASE_DISP32 );308 compiler.codeGenerator.op_mov_RM( sizeof(long), REG_ECX, REG_ESP, ParmSize + tempSize, MOD_BASE_DISP32 ); 309 309 } 310 310 else{ … … 315 315 316 316 //push ecx 317 op_push(REG_ECX);317 compiler.codeGenerator.op_push(REG_ECX); 318 318 } 319 319 … … 347 347 348 348 //call ProcAddr 349 op_call(pUserProc);349 compiler.codeGenerator.op_call(pUserProc); 350 350 } 351 351 352 352 if(pUserProc->IsCdecl()){ 353 353 //add esp,ParmSize 354 op_add_esp(ParmSize);354 compiler.codeGenerator.op_add_esp(ParmSize); 355 355 } 356 356 … … 408 408 if(pDllProc->IsCdecl()){ 409 409 //add esp,ParmSize 410 op_add_esp(ParmSize);410 compiler.codeGenerator.op_add_esp(ParmSize); 411 411 } 412 412
Note:
See TracChangeset
for help on using the changeset viewer.