Changeset 250 in dev for trunk/abdev/BasicCompiler32/Compile_CallProc.cpp
- Timestamp:
- Jul 29, 2007, 9:30:14 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler32/Compile_CallProc.cpp
r235 r250 329 329 //call dword ptr[edx+func_index] 330 330 if(i2*PTR_SIZE<=0x7F){ 331 OpBuffer[obp++]=(char)0xFF; 332 OpBuffer[obp++]=(char)0x52; 333 OpBuffer[obp++]=(char)(i2*PTR_SIZE); 331 compiler.codeGenerator.PutOld( 332 (char)0xFF, 333 (char)0x52, 334 (char)(i2*PTR_SIZE) 335 ); 334 336 } 335 337 else{ 336 OpBuffer[obp++]=(char)0xFF; 337 OpBuffer[obp++]=(char)0x92; 338 *((long *)(OpBuffer+obp))=i2*PTR_SIZE; 339 obp+=sizeof(long); 338 compiler.codeGenerator.PutOld( 339 (char)0xFF, 340 (char)0x92 341 ); 342 compiler.codeGenerator.PutOld( (long)(i2*PTR_SIZE), Schedule::None ); 340 343 } 341 344 } … … 361 364 } 362 365 363 bool Opcode_CallDllProc( const char *lpszParms, DllProc *pDllProc ){366 bool Opcode_CallDllProc( const char *lpszParms, const DllProc *pDllProc ){ 364 367 365 368 extern BOOL bDebugCompile; … … 397 400 398 401 //call dword ptr[LookupTable] 399 pDllProc->Using(); 400 OpBuffer[obp++]=(char)0xFF; 401 OpBuffer[obp++]=(char)0x15; 402 pobj_ImportAddrSchedule->add(pDllProc); 403 obp+=sizeof(long); 402 compiler.codeGenerator.op_call( pDllProc ); 404 403 405 404 if(pDllProc->IsCdecl()){
Note:
See TracChangeset
for help on using the changeset viewer.