source: branches/ByteArray/Forms/FormAssembler.pas

Last change on this file was 11, checked in by chronos, 2 months ago
  • Modified: Updated Common package.
  • Fixed: Wrong return address from CALL instruction.
File size: 1.3 KB
Line 
1unit FormAssembler;
2
3interface
4
5uses
6 Classes, SysUtils, Forms, Controls, Graphics, Dialogs, SynEdit,
7 SynHighlighterAny, SynHighlighterMulti, FormEx, Generics.Collections;
8
9type
10
11 { TFormAssembler }
12
13 TFormAssembler = class(TFormEx)
14 SynAnySyn1: TSynAnySyn;
15 SynEdit1: TSynEdit;
16 procedure FormCreate(Sender: TObject);
17 procedure FormDestroy(Sender: TObject);
18 private
19 public
20 procedure Select(Position: TPoint);
21 end;
22
23
24implementation
25
26{$R *.lfm}
27
28uses
29 Instructions;
30
31{ TFormAssembler }
32
33procedure TFormAssembler.FormCreate(Sender: TObject);
34var
35 InstructionInfos: TInstructionInfos;
36 Keywords: TList<string>;
37 I: Integer;
38begin
39 Keywords := TList<string>.Create;
40 InstructionInfos := TInstructionInfos.Create;
41 InstructionInfos.Init;
42 for I := 0 to InstructionInfos.Count - 1 do
43 if not Keywords.Contains(InstructionInfos[I].Name) then
44 Keywords.Add(InstructionInfos[I].Name);
45 for I := 0 to Keywords.Count - 1 do
46 SynAnySyn1.KeyWords.Add(Keywords[I]);
47 SynAnySyn1.KeyWords.Add('VAR');
48 SynAnySyn1.KeyWords.Add('DB');
49 SynAnySyn1.KeyWords.Add('ORG');
50 FreeAndNil(InstructionInfos);
51 FreeAndNil(Keywords);
52end;
53
54procedure TFormAssembler.FormDestroy(Sender: TObject);
55begin
56end;
57
58procedure TFormAssembler.Select(Position: TPoint);
59begin
60 SynEdit1.CaretXY := Position;
61 SynEdit1.SetFocus;
62 Show;
63end;
64
65end.
66
Note: See TracBrowser for help on using the repository browser.