Finalize version.
[marekmrva_bc.git] / ConstantsClass.pas
blob82f3f1d418cd49862e0e1edd7099989c7783397b
1 unit ConstantsClass;
3 interface
5 uses
6 TypesClass;
8 const
9 APP_VERSION = 'ViewFPU v1.0.0';
11 FIO_COMMENT = '#';
12 FIO_SYSTEM = 'SYSTEM';
13 FIO_DATA = 'DATA';
14 FIO_CODE = 'CODE';
16 OPER_SEP = ':';
18 FPU_SPACE = '.';
19 FPU_OPERAND_ERROR = '!';
20 FPU_OPERAND_NONE = '*';
21 FPU_OPERAND_ST_0 = '+';
22 FPU_OPERAND_ST_I = '-';
23 FPU_OPERAND_AX = '0';
24 FPU_OPERAND_M16_INT = '2';
25 FPU_OPERAND_M32_INT = '4';
26 FPU_OPERAND_M64_INT = '8';
27 FPU_OPERAND_ADDR = '@';
28 FPU_OPERAND_M80_BCD = 'B';
29 FPU_OPERAND_M32_FP = 'C';
30 FPU_OPERAND_M64_FP = 'D';
31 FPU_OPERAND_M80_FP = 'E';
32 FPU_OPERAND_M2BYTE_CW = 'c';
33 FPU_OPERAND_M2BYTE_SW = 'd';
34 FPU_OPERAND_M14BYTE_ENV = 'e';
35 FPU_OPERAND_M28BYTE_ENV = 'f';
36 FPU_OPERAND_M94BYTE_STAT = 'g';
37 FPU_OPERAND_M108BYTE_STAT = 'h';
39 FP_ER = FPU_SPACE + FPU_OPERAND_ERROR;
40 FP_X = FPU_SPACE + FPU_OPERAND_NONE;
41 FP_T = FPU_SPACE + FPU_OPERAND_ST_0;
42 FP_I = FPU_SPACE + FPU_OPERAND_ST_I;
43 FP_2 = FPU_SPACE + FPU_OPERAND_M16_INT;
44 FP_4 = FPU_SPACE + FPU_OPERAND_M32_INT;
45 FP_8 = FPU_SPACE + FPU_OPERAND_M64_INT;
46 FP_ADDR = FPU_SPACE + FPU_OPERAND_ADDR;
47 FP_0 = FPU_SPACE + FPU_OPERAND_M80_BCD;
48 FP_S = FPU_SPACE + FPU_OPERAND_M32_FP;
49 FP_D = FPU_SPACE + FPU_OPERAND_M64_FP;
50 FP_E = FPU_SPACE + FPU_OPERAND_M80_FP;
51 FP_C = FPU_SPACE + FPU_OPERAND_M2BYTE_CW;
52 FP_W = FPU_SPACE + FPU_OPERAND_M2BYTE_SW;
53 FP_14 = FPU_SPACE + FPU_OPERAND_M14BYTE_ENV;
54 FP_28 = FPU_SPACE + FPU_OPERAND_M28BYTE_ENV;
55 FP_94 = FPU_SPACE + FPU_OPERAND_M94BYTE_STAT;
56 FP_108 = FPU_SPACE + FPU_OPERAND_M108BYTE_STAT;
57 FP_AX = FPU_SPACE + FPU_OPERAND_AX;
59 SEP_FP_4: TSeparateConstants = (
60 ExponCmp: $FF;
61 SigniCmp: 0;
62 SigniAnd: $400000;
65 SEP_FP_8: TSeparateConstants = (
66 ExponCmp: $7FF;
67 SigniCmp: 0;
68 SigniAnd: $8000000000000;
71 SEP_FP_10: TSeparateConstants = (
72 ExponCmp: $7FFF;
73 SigniCmp: $8000000000000000;
74 SigniAnd: $4000000000000000;
77 DESC_NAN = 'NAN';
78 DESC_NAN_Q = 'Q';
79 DESC_NAN_S = 'S';
80 DESC_NEG = '-';
81 DESC_POS = '+';
82 DESC_INF = 'INF';
83 DESC_NEG_INF = DESC_NEG + DESC_INF;
84 DESC_POS_INF = DESC_POS + DESC_INF;
85 DESC_QNAN = DESC_NAN_Q + DESC_NAN;
86 DESC_SNAN = DESC_NAN_S + DESC_NAN;
88 TRANS_FP_4: TTranslateConstants = (
89 PosInf: #$00#$00#$80#$7F;
90 NegInf: #$00#$00#$80#$FF;
91 QNaN: #$00#$00#$C0#$7F;
92 SNaN: #$01#$00#$80#$7F;
95 TRANS_FP_8: TTranslateConstants = (
96 PosInf: #$00#$00#$00#$00#$00#$00#$F0#$7F;
97 NegInf: #$00#$00#$00#$00#$00#$00#$F0#$FF;
98 QNaN: #$00#$00#$00#$00#$00#$00#$F8#$7F;
99 SNaN: #$01#$00#$00#$00#$00#$00#$F0#$7F;
102 TRANS_FP_10: TTranslateConstants = (
103 PosInf: #$00#$00#$00#$00#$00#$00#$00#$80#$FF#$7F;
104 NegInf: #$00#$00#$00#$00#$00#$00#$00#$80#$FF#$FF;
105 QNaN: #$00#$00#$00#$00#$00#$00#$00#$C0#$FF#$7F;
106 SNaN: #$01#$00#$00#$00#$00#$00#$00#$80#$FF#$7F;
109 STEP_FIRST = 0;
110 STEP_LAST = MaxInt;
112 BRANCH_NORMAL = 'N';
113 BRANCH_BRANCH = 'B';
114 BRANCH_UNSUPPORTED = '$';
116 CHARS_CONTROL = [FPU_SPACE, '<', '>'];
117 CHARS_ADDRESS = ['0'..'9', '+', '-'];
118 CHARS_HEXA: array [0..15] of Char = ('0', '1', '2', '3', '4', '5', '6', '7',
119 '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
121 INST_OPCODE_RET: Char = #$C3;
123 INTYPE_DESCRIPTION = 0;
124 INTYPE_INSTRUCTION = 1;
125 INTYPE_PREFIX = 2;
127 KEY_BACKSPACE = 8;
128 KEY_RETURN = 13;
129 KEY_SPACE = 32;
130 KEY_END = 35;
131 KEY_HOME = 36;
132 KEY_LEFT = 37;
133 KEY_UP = 38;
134 KEY_RIGHT = 39;
135 KEY_DOWN = 40;
136 KEY_INSERT = 45;
137 KEY_DELETE = 46;
138 KEY_ASTERISK = 106;
139 KEY_ASTERISK_SFT = 56;
140 KEY_F2 = 113;
141 KEY_F8 = 119;
143 CONST_PADDING = 4;
145 implementation
147 end.