9 APP_VERSION
= 'ViewFPU v1.0.0';
12 FIO_SYSTEM
= 'SYSTEM';
19 FPU_OPERAND_ERROR
= '!';
20 FPU_OPERAND_NONE
= '*';
21 FPU_OPERAND_ST_0
= '+';
22 FPU_OPERAND_ST_I
= '-';
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
= (
65 SEP_FP_8
: TSeparateConstants
= (
68 SigniAnd
: $8000000000000;
71 SEP_FP_10
: TSeparateConstants
= (
73 SigniCmp
: $8000000000000000;
74 SigniAnd
: $4000000000000000;
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;
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;
139 KEY_ASTERISK_SFT
= 56;