Changeset 66 in dev for BasicCompiler32/op32_main.cpp
- Timestamp:
- Mar 9, 2007, 4:59:13 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler32/op32_main.cpp
r64 r66 838 838 //ベースレジスタ 839 839 OpBuffer[obp++]=(char)(REGISTER_OPERAND(base_reg1)<<3 | REGISTER_OPERAND(base_reg2)); 840 } 841 } 842 void op_fistp_ptr_esp( int typeSize ){ 843 if( typeSize == sizeof(_int64) ){ 844 //64bit 845 846 //fistp qword ptr[esp] 847 fpu_cast(); 848 OpBuffer[obp++]=(char)0xDF; 849 OpBuffer[obp++]=(char)0x3C; 850 OpBuffer[obp++]=(char)0x24; 851 fpu_cast_end(); 852 } 853 else if( typeSize == sizeof(long) ){ 854 //32bit 855 856 //fistp dword ptr[esp] 857 fpu_cast(); 858 OpBuffer[obp++]=(char)0xDB; 859 OpBuffer[obp++]=(char)0x1C; 860 OpBuffer[obp++]=(char)0x24; 861 fpu_cast_end(); 862 } 863 else{ 864 SetError(); 840 865 } 841 866 }
Note:
See TracChangeset
for help on using the changeset viewer.