Optimize some boolean conditions.
[marekmrva_bc.git] / TypesClass.pas
blob34db9cda9fd7b78ccf102f7abd1291054868f281
1 unit TypesClass;
3 interface
5 uses
6 Graphics;
8 type
10 TFloatRecord = record
11 Significand: Int64;
12 Exponent: Word;
13 Sign: Boolean;
14 end;
16 TSeparateConstants = record
17 ExponCmp: Word;
18 SigniCmp, SigniAnd: Int64;
19 end;
21 TTranslateConstants = record
22 PosInf, NegInf, QNaN, SNaN: String;
23 end;
25 PSingle = ^Single;
26 PDouble = ^Double;
27 PExtended = ^Extended;
29 TFlags = (Carry, Reserved1, Parity, Reserved3, AuxiliaryCarry, Reserved5,
30 Zero, Sign, Trap, InterruptEnable, Direction, Overflow, IOPL_0, IOPL_1,
31 NestedTask, Reserved15, Resume, Virtual8086, Alignment, VirtualInterrupt,
32 VirtualInterruptPending, ID, Reserved22, Reserved23, Reserved24, Reserved25,
33 Reserved26, Reserved27, Reserved28, Reserved29, Reserved30, Reserved31);
34 TEFlags = set of TFlags;
36 TFPUState = packed record
37 ControlWord, dumm1: Word;
38 StatusWord, dummy2: Word;
39 TagWord, dummy3: Word;
40 IP_Offset: Cardinal;
41 IP_Selector, Opcode: Word;
42 OP_Offset: Cardinal;
43 OP_Selector, dummy4: Word;
44 ST: array[0..7] of Extended;
45 end;
47 THardwareState = record
48 EFlags: Cardinal;
49 Reg_EAX: Cardinal;
50 FPUState: TFPUState;
51 end;
53 TColors = record
54 FG, BG: TColor;
55 end;
57 TColorLine = record
58 None, Selected: TColors;
59 end;
61 TGridTheme = record
62 Address, Assembly: TColorLine;
63 Highlight, Step: TColors;
64 end;
66 TViewTheme = record
67 Line: TColorLine;
68 Change: TColor;
69 end;
71 TChangeEvent = procedure(Sender: TObject) of object;
72 TInsertEvent = procedure(Sender: TObject; ARow: Integer; Text: String; Insert: Boolean) of object;
73 TRemoveEvent = procedure(Sender: TObject; ARow: Integer) of object;
75 TStrings = array of String;
76 TOperand = Char;
77 TBranchType = Char;
79 PInstructionRecord = ^TInstructionRecord;
80 TInstructionRecord = record
81 Name, Code, Description: String;
82 Branch: TBranchType;
83 end;
85 POperandRecord = ^TOperandRecord;
86 TOperandRecord = record
87 Name, Code: String;
88 OperandType: TOperand;
89 Default: String;
90 Data: PChar;
91 end;
93 TOperandTypeRecord = record
94 OperandType: TOperand;
95 Description: String;
96 end;
98 implementation
100 end.