Changeset 308 in dev for trunk/abdev/BasicCompiler64/Compile_Statement.cpp
- Timestamp:
- Aug 29, 2007, 9:05:22 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_Statement.cpp
r266 r308 80 80 } 81 81 82 Opcode_CallProc("",pUserProc,0,"" ,0);82 Opcode_CallProc("",pUserProc,0,""); 83 83 84 84 return; … … 199 199 200 200 //レキシカルスコープをレベルアップ 201 compiler.codeGenerator.lexicalScopes.Start( obp, LexicalScope::SCOPE_TYPE_IF ); 201 compiler.codeGenerator.lexicalScopes.Start( 202 compiler.codeGenerator.GetNativeCodeSize(), 203 LexicalScope::SCOPE_TYPE_IF 204 ); 202 205 203 206 int i2=CompileBuffer(ESC_ENDIF,0); … … 220 223 221 224 //レキシカルスコープをレベルアップ 222 compiler.codeGenerator.lexicalScopes.Start( obp, LexicalScope::SCOPE_TYPE_IF ); 225 compiler.codeGenerator.lexicalScopes.Start( 226 compiler.codeGenerator.GetNativeCodeSize(), 227 LexicalScope::SCOPE_TYPE_IF 228 ); 223 229 224 230 CompileBuffer(ESC_ENDIF,0); … … 277 283 { 278 284 //jmp ... 279 extern int obp; 280 compiler.codeGenerator.op_jmp( i-obp, sizeof(long), false, true ); 285 compiler.codeGenerator.op_jmp( 286 i-compiler.codeGenerator.GetNativeCodeSize(), 287 sizeof(long), 288 false, 289 true 290 ); 281 291 } 282 292 } … … 293 303 { 294 304 //jmp ... 295 extern int obp; 296 compiler.codeGenerator.op_jmp( i-obp, sizeof(long), false, true ); 305 compiler.codeGenerator.op_jmp( 306 i-compiler.codeGenerator.GetNativeCodeSize(), 307 sizeof(long), 308 false, 309 true 310 ); 297 311 } 298 312 } … … 313 327 314 328 //レキシカルスコープをレベルアップ 315 compiler.codeGenerator.lexicalScopes.Start( obp, LexicalScope::SCOPE_TYPE_WHILE );329 compiler.codeGenerator.lexicalScopes.Start( compiler.codeGenerator.GetNativeCodeSize(), LexicalScope::SCOPE_TYPE_WHILE ); 316 330 317 331 //While内をコンパイル … … 431 445 432 446 //レキシカルスコープをレベルアップ 433 compiler.codeGenerator.lexicalScopes.Start( obp, LexicalScope::SCOPE_TYPE_FOR );447 compiler.codeGenerator.lexicalScopes.Start( compiler.codeGenerator.GetNativeCodeSize(), LexicalScope::SCOPE_TYPE_FOR ); 434 448 435 449 //For内をコンパイル … … 467 481 468 482 //レキシカルスコープをレベルアップ 469 compiler.codeGenerator.lexicalScopes.Start( obp, LexicalScope::SCOPE_TYPE_DO );483 compiler.codeGenerator.lexicalScopes.Start( compiler.codeGenerator.GetNativeCodeSize(), LexicalScope::SCOPE_TYPE_DO ); 470 484 471 485 //Do内をコンパイル … … 743 757 744 758 //cmp reg2,r14 745 compiler.codeGenerator.op_cmp_reg( GetTypeSize(i2,-1),reg2,REG_R14);759 compiler.codeGenerator.op_cmp_reg(Type(i2).GetSize(),reg2,REG_R14); 746 760 } 747 761 … … 767 781 768 782 //レキシカルスコープをレベルアップ 769 compiler.codeGenerator.lexicalScopes.Start( obp, LexicalScope::SCOPE_TYPE_SELECT );783 compiler.codeGenerator.lexicalScopes.Start( compiler.codeGenerator.GetNativeCodeSize(), LexicalScope::SCOPE_TYPE_SELECT ); 770 784 771 785 //Select Case内をコンパイル … … 909 923 } 910 924 else{ 911 ChangeTypeToWhole(resultType .GetBasicType(),type,REG_RCX,temp_reg);925 ChangeTypeToWhole(resultType,Type(type),REG_RCX,temp_reg); 912 926 913 927 //mov ptr[reg_ptr],rcx 914 compiler.codeGenerator.op_mov_MR( GetTypeSize(type,-1),REG_RCX,reg_ptr,0,MOD_BASE);915 } 916 } 928 compiler.codeGenerator.op_mov_MR(Type(type).GetSize(),REG_RCX,reg_ptr,0,MOD_BASE); 929 } 930 }
Note:
See TracChangeset
for help on using the changeset viewer.