Rev 6613 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6613 | Rev 7107 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | (* |
1 | (* |
2 | Copyright 2016 Anton Krotov |
2 | Copyright 2016, 2017 Anton Krotov |
Line 3... | Line 3... | ||
3 | 3 | ||
Line 4... | Line 4... | ||
4 | This file is part of Compiler. |
4 | This file is part of Compiler. |
5 | 5 | ||
Line 34... | Line 34... | ||
34 | stABS* = 1; stODD* = 2; stLEN* = 3; stLSL* = 4; stASR* = 5; stROR* = 6; stFLOOR* = 7; |
34 | stABS* = 1; stODD* = 2; stLEN* = 3; stLSL* = 4; stASR* = 5; stROR* = 6; stFLOOR* = 7; |
35 | stFLT* = 8; stORD* = 9; stCHR* = 10; stLONG* = 11; stSHORT* = 12; stINC* = 13; |
35 | stFLT* = 8; stORD* = 9; stCHR* = 10; stLONG* = 11; stSHORT* = 12; stINC* = 13; |
36 | stDEC* = 14; stINCL* = 15; stEXCL* = 16; stCOPY* = 17; stNEW* = 18; stASSERT* = 19; |
36 | stDEC* = 14; stINCL* = 15; stEXCL* = 16; stCOPY* = 17; stNEW* = 18; stASSERT* = 19; |
37 | stPACK* = 20; stUNPK* = 21; stDISPOSE* = 22; stFABS* = 23; stINC1* = 24; |
37 | stPACK* = 20; stUNPK* = 21; stDISPOSE* = 22; stFABS* = 23; stINC1* = 24; |
38 | stDEC1* = 25; stASSERT1* = 26; stUNPK1* = 27; stPACK1* = 28; stLSR* = 29; |
38 | stDEC1* = 25; stASSERT1* = 26; stUNPK1* = 27; stPACK1* = 28; stLSR* = 29; |
39 | stLENGTH* = 30; |
39 | stLENGTH* = 30; stMIN* = 31; stMAX* = 32; |
Line 40... | Line 40... | ||
40 | 40 | ||
Line 41... | Line 41... | ||
41 | sysMOVE* = 108; |
41 | sysMOVE* = 108; |
42 | 42 | ||
Line 1230... | Line 1230... | ||
1230 | |stODD: OutCode("83242401") |
1230 | |stODD: OutCode("83242401") |
1231 | |stROR: PopECX; OutCode("58D3C8"); PushEAX |
1231 | |stROR: PopECX; OutCode("58D3C8"); PushEAX |
1232 | |stASR: PopECX; OutCode("58D3F8"); PushEAX |
1232 | |stASR: PopECX; OutCode("58D3F8"); PushEAX |
1233 | |stLSL: PopECX; OutCode("58D3E0"); PushEAX |
1233 | |stLSL: PopECX; OutCode("58D3E0"); PushEAX |
1234 | |stLSR: PopECX; OutCode("58D3E8"); PushEAX |
1234 | |stLSR: PopECX; OutCode("58D3E8"); PushEAX |
1235 | |stORD: PopEDX; OutCode("85D274036A015A"); PushEDX |
1235 | |stORD: PopEDX; OutCode("85D274036A015A"); PushEDX; |
- | 1236 | |stMIN: PopEDX; OutCode("3914247E025852"); |
|
- | 1237 | |stMAX: PopEDX; OutCode("3B14247E025852"); |
|
1236 | |stLENGTH: CallRTL(_length); PushEAX |
1238 | |stLENGTH: CallRTL(_length); PushEAX |
1237 | ELSE |
1239 | ELSE |
1238 | END |
1240 | END |
1239 | END StFunc; |
1241 | END StFunc; |
Line 1267... | Line 1269... | ||
1267 | OutCode("FF32") |
1269 | OutCode("FF32") |
1268 | END |
1270 | END |
1269 | |TCHAR, TBOOLEAN: |
1271 | |TCHAR, TBOOLEAN: |
1270 | IF lastcmd.tcmd = ECMD THEN |
1272 | IF lastcmd.tcmd = ECMD THEN |
1271 | del; |
1273 | del; |
1272 | OutCode("33D28A"); |
1274 | OutCode("0FB6"); |
1273 | IntByte("55", "95", offset); |
1275 | IntByte("55", "95", offset); |
1274 | PushEDX |
1276 | PushEDX |
1275 | ELSE |
1277 | ELSE |
1276 | PopEDX; |
1278 | PopEDX; |
1277 | OutCode("33C98A0A"); |
1279 | OutCode("0FB60A"); |
1278 | PushECX |
1280 | PushECX |
1279 | END |
1281 | END |
1280 | |TLONGREAL: |
1282 | |TLONGREAL: |
1281 | IF lastcmd.tcmd = ECMD THEN |
1283 | IF lastcmd.tcmd = ECMD THEN |
1282 | del; |
1284 | del; |