Optimize some boolean conditions.
[marekmrva_bc.git] / ConstantsClass.pas
blob81b6b09e5bbd759ee1961a019f98aaaaaddae4cd
1 unit ConstantsClass;
3 interface
5 uses
6 TypesClass;
8 const
9 FPU_SPACE = '.';
10 FPU_OPERAND_ERROR = '!';
11 FPU_OPERAND_NONE = '*';
12 FPU_OPERAND_ST_0 = '+';
13 FPU_OPERAND_ST_I = '-';
14 FPU_OPERAND_AX = '0';
15 FPU_OPERAND_M16_INT = '2';
16 FPU_OPERAND_M32_INT = '4';
17 FPU_OPERAND_M64_INT = '8';
18 FPU_OPERAND_ADDR = '@';
19 FPU_OPERAND_M80_BCD = 'B';
20 FPU_OPERAND_M32_FP = 'C';
21 FPU_OPERAND_M64_FP = 'D';
22 FPU_OPERAND_M80_FP = 'E';
23 FPU_OPERAND_M2BYTE_CW = 'c';
24 FPU_OPERAND_M2BYTE_SW = 'd';
25 FPU_OPERAND_M14BYTE_ENV = 'e';
26 FPU_OPERAND_M28BYTE_ENV = 'f';
27 FPU_OPERAND_M94BYTE_STAT = 'g';
28 FPU_OPERAND_M108BYTE_STAT = 'h';
30 FP_ER = FPU_SPACE + FPU_OPERAND_ERROR;
31 FP_X = FPU_SPACE + FPU_OPERAND_NONE;
32 FP_T = FPU_SPACE + FPU_OPERAND_ST_0;
33 FP_I = FPU_SPACE + FPU_OPERAND_ST_I;
34 FP_2 = FPU_SPACE + FPU_OPERAND_M16_INT;
35 FP_4 = FPU_SPACE + FPU_OPERAND_M32_INT;
36 FP_8 = FPU_SPACE + FPU_OPERAND_M64_INT;
37 FP_ADDR = FPU_SPACE + FPU_OPERAND_ADDR;
38 FP_0 = FPU_SPACE + FPU_OPERAND_M80_BCD;
39 FP_S = FPU_SPACE + FPU_OPERAND_M32_FP;
40 FP_D = FPU_SPACE + FPU_OPERAND_M64_FP;
41 FP_E = FPU_SPACE + FPU_OPERAND_M80_FP;
42 FP_C = FPU_SPACE + FPU_OPERAND_M2BYTE_CW;
43 FP_W = FPU_SPACE + FPU_OPERAND_M2BYTE_SW;
44 FP_14 = FPU_SPACE + FPU_OPERAND_M14BYTE_ENV;
45 FP_28 = FPU_SPACE + FPU_OPERAND_M28BYTE_ENV;
46 FP_94 = FPU_SPACE + FPU_OPERAND_M94BYTE_STAT;
47 FP_108 = FPU_SPACE + FPU_OPERAND_M108BYTE_STAT;
48 FP_AX = FPU_SPACE + FPU_OPERAND_AX;
50 SEP_FP_4: TSeparateConstants = (
51 ExponCmp: $FF;
52 SigniCmp: 0;
53 SigniAnd: $200000
56 SEP_FP_8: TSeparateConstants = (
57 ExponCmp: $7FF;
58 SigniCmp: 0;
59 SigniAnd: $4000000000000
62 SEP_FP_10: TSeparateConstants = (
63 ExponCmp: $7FFF;
64 SigniCmp: $8000000000000000;
65 SigniAnd: $4000000000000000
68 DESC_NAN = 'NAN';
69 DESC_NAN_Q = 'Q';
70 DESC_NAN_S = 'S';
71 DESC_NEG = '-';
72 DESC_POS = '+';
73 DESC_INF = 'INF';
74 DESC_NEG_INF = DESC_NEG + DESC_INF;
75 DESC_POS_INF = DESC_POS + DESC_INF;
76 DESC_QNAN = DESC_NAN_Q + DESC_NAN;
77 DESC_SNAN = DESC_NAN_S + DESC_NAN;
79 TRANS_FP_4: TTranslateConstants = (
80 PosInf: #$00#$00#$80#$7F;
81 NegInf: #$00#$00#$80#$FF;
82 QNaN: #$01#$00#$C0#$7F;
83 SNaN: #$01#$00#$80#$7F;
86 TRANS_FP_8: TTranslateConstants = (
87 PosInf: #$00#$00#$00#$00#$00#$00#$F0#$7F;
88 NegInf: #$00#$00#$00#$00#$00#$00#$F0#$FF;
89 QNaN: #$01#$00#$00#$00#$00#$00#$F8#$7F;
90 SNaN: #$01#$00#$00#$00#$00#$00#$F0#$7F;
93 TRANS_FP_10: TTranslateConstants = (
94 PosInf: #$00#$00#$00#$00#$00#$00#$00#$80#$FF#$7F;
95 NegInf: #$00#$00#$00#$00#$00#$00#$00#$80#$FF#$FF;
96 QNaN: #$01#$00#$00#$00#$00#$00#$00#$C0#$FF#$7F;
97 SNaN: #$01#$00#$00#$00#$00#$00#$00#$80#$FF#$7F;
100 STEP_FIRST = 0;
101 STEP_LAST = MaxInt;
103 BRANCH_NORMAL = 'N';
104 BRANCH_BRANCH = 'B';
105 BRANCH_UNSUPPORTED = '$';
107 CHARS_CONTROL = [FPU_SPACE, '<', '>'];
108 CHARS_ADDRESS = ['0'..'9', '+', '-'];
109 CHARS_HEXA: array [0..15] of Char = ('0', '1', '2', '3', '4', '5', '6', '7',
110 '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
112 INST_OPCODE_RET: Char = #$C3;
114 INTYPE_INSTRUCTION = 1;
115 INTYPE_PREFIX = 2;
117 KEY_BACKSPACE = 8;
118 KEY_RETURN = 13;
119 KEY_SPACE = 32;
120 KEY_END = 35;
121 KEY_HOME = 36;
122 KEY_LEFT = 37;
123 KEY_UP = 38;
124 KEY_RIGHT = 39;
125 KEY_DOWN = 40;
126 KEY_INSERT = 45;
127 KEY_DELETE = 46;
128 KEY_ASTERISK = 106;
129 KEY_ASTERISK_SFT = 56;
130 KEY_F2 = 113;
131 KEY_F8 = 119;
133 CONST_PADDING = 4;
135 implementation
137 end.