Changeset 55 in dev for BasicCompiler32/NumOpe.cpp
- Timestamp:
- Feb 13, 2007, 3:14:57 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler32/NumOpe.cpp
r51 r55 39 39 op_push(REG_EAX); 40 40 } 41 else if(type==DEF_INTEGER ){41 else if(type==DEF_INTEGER || (isUnicode&&type==DEF_CHAR)){ 42 42 //movsx ebx,ax 43 43 OpBuffer[obp++]=(char)0x0F; … … 48 48 op_push(REG_EBX); 49 49 } 50 else if(type==DEF_ CHAR){50 else if(type==DEF_SBYTE || (isUnicode==false&&type==DEF_CHAR)){ 51 51 //movsx ebx,al 52 52 OpBuffer[obp++]=(char)0x0F; … … 418 418 PushLongVariable(&RelativeVar); 419 419 } 420 else if(i2==DEF_INTEGER ){420 else if(i2==DEF_INTEGER || (isUnicode&&i2==DEF_CHAR)){ 421 421 PushIntegerVariable(&RelativeVar); 422 422 } … … 424 424 PushWordVariable(&RelativeVar); 425 425 } 426 else if(i2==DEF_ CHAR){426 else if(i2==DEF_SBYTE || (isUnicode==false&&i2==DEF_CHAR)){ 427 427 PushCharVariable(&RelativeVar); 428 428 } … … 739 739 i3=(long)i64data; 740 740 741 if(i2==DEF_ CHAR||i2==DEF_BYTE||i2==DEF_BOOLEAN) i3=i3&0x000000FF;742 if(i2==DEF_INTEGER||i2==DEF_WORD ) i3=i3&0x0000FFFF;741 if(i2==DEF_SBYTE||i2==DEF_BYTE||i2==DEF_BOOLEAN || (isUnicode==false&&i2==DEF_CHAR)) i3=i3&0x000000FF; 742 if(i2==DEF_INTEGER||i2==DEF_WORD || (isUnicode&&i2==DEF_CHAR)) i3=i3&0x0000FFFF; 743 743 744 744 //push term
Note:
See TracChangeset
for help on using the changeset viewer.