Changeset 97 in dev for BasicCompiler32/NumOpe_Relation.cpp
- Timestamp:
- Apr 16, 2007, 3:52:40 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler32/NumOpe_Relation.cpp
r64 r97 1 1 #include "../BasicCompiler_Common/common.h" 2 2 #include "Opcode.h" 3 4 void AutoExtendToBigType( int *type_stack,int sp, int reg1, int reg2 ){ 5 /* 6 int bigSize = GetTypeSize( type_stack[sp-1], -1 ); 7 if( bigSize != GetTypeSize( type_stack[sp-2], -1 ) ){ 8 int extReg = reg2; 9 int oldType = type_stack[sp-2]; 10 if( bigSize < GetTypeSize( type_stack[sp-2], -1 ) ){ 11 bigSize = GetTypeSize( type_stack[sp-2], -1 ); 12 extReg = reg1; 13 oldType = type_stack[sp-1]; 14 } 15 if( bigSize == 2 ){ 16 ExtendTypeTo16( oldType, extReg ); 17 } 18 else if( bigSize == 4 ){ 19 ExtendTypeTo32( oldType, extReg ); 20 } 21 else{ 22 SetError(); 23 } 24 }*/ 25 } 26 3 27 4 28 BOOL Calc_Relation_PE(int *type_stack,LONG_PTR *index_stack,int *pStackPointer){ … … 195 219 //pop eax 196 220 op_pop(REG_EAX); 221 222 // どちらかのサイズが足りない場合は自動拡張する 223 AutoExtendToBigType( type_stack, sp, REG_EAX, REG_EBX ); 197 224 198 225 //sub esp,4 … … 434 461 op_pop(REG_EAX); 435 462 463 // どちらかのサイズが足りない場合は自動拡張する 464 AutoExtendToBigType( type_stack, sp, REG_EAX, REG_EBX ); 465 436 466 //sub esp,4 437 467 op_sub_esp(4); … … 675 705 op_pop(REG_EAX); 676 706 707 // どちらかのサイズが足りない場合は自動拡張する 708 AutoExtendToBigType( type_stack, sp, REG_EAX, REG_EBX ); 709 677 710 //sub esp,4 678 711 op_sub_esp(4); … … 911 944 //pop eax 912 945 op_pop(REG_EAX); 946 947 // どちらかのサイズが足りない場合は自動拡張する 948 AutoExtendToBigType( type_stack, sp, REG_EAX, REG_EBX ); 913 949 914 950 //sub esp,4 … … 1115 1151 op_pop(REG_EBX); 1116 1152 1153 // どちらかのサイズが足りない場合は自動拡張する 1154 AutoExtendToBigType( type, sp, REG_EAX, REG_EBX ); 1155 1117 1156 //sub esp,4 1118 1157 op_sub_esp(4); … … 1306 1345 op_pop(REG_EBX); 1307 1346 1347 // どちらかのサイズが足りない場合は自動拡張する 1348 AutoExtendToBigType( type, sp, REG_EAX, REG_EBX ); 1349 1308 1350 //sub esp,4 1309 1351 op_sub_esp(4);
Note:
See TracChangeset
for help on using the changeset viewer.