Ignore:
Timestamp:
Apr 20, 2026, 11:55:57 PM (6 days ago)
Author:
chronos
Message:
  • Added: Show comments in disassembled addresses.
  • Fixed: Stepping in code.
  • Modified: Show more registers in CPU view.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms/FormDisassembler.pas

    r6 r11  
    55uses
    66  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ComCtrls,
    7   ExtCtrls, Disassembler;
     7  ExtCtrls, Menus, Disassembler;
    88
    99type
     10  TChangePCEvent = procedure (Address: Word) of object;
    1011
    1112  { TFormDisassembler }
     
    1314  TFormDisassembler = class(TForm)
    1415    ListView1: TListView;
     16    MenuItemSetAddress: TMenuItem;
     17    PopupMenu1: TPopupMenu;
    1518    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
    1619    procedure FormCreate(Sender: TObject);
     
    1821    procedure FormShow(Sender: TObject);
    1922    procedure ListView1Data(Sender: TObject; Item: TListItem);
     23    procedure MenuItemSetAddressClick(Sender: TObject);
     24  private
     25    FOnChangePC: TChangePCEvent;
     26    procedure DoChangePC(Address: Word);
    2027  public
    2128    Disassembler: TDisassembler;
     
    2330    procedure SelectAddress(Address: Word);
    2431    procedure ReloadList;
     32    property OnChangePC: TChangePCEvent read FOnChangePC write FOnChangePC;
    2533  end;
    2634
     
    6472    Item.SubItems.Add(Name);
    6573    Item.SubItems.Add(Parameters);
     74    Item.SubItems.Add(Comment);
    6675  end;
    6776end;
    6877
    69 procedure TFormDisassembler.Disassemble;
     78procedure TFormDisassembler.MenuItemSetAddressClick(Sender: TObject);
     79begin
     80  if Assigned(ListView1.Selected) then begin
     81    DoChangePC(TDecodedInstruction(ListView1.Selected.Data).Address);
     82    SelectAddress(TDecodedInstruction(ListView1.Selected.Data).Address);
     83  end;
     84end;
     85
     86procedure TFormDisassembler.Disassemble(Sender: TObject);
    7087begin
    7188  Disassembler.Disassemble;
    7289  ReloadList;
     90end;
     91
     92procedure TFormDisassembler.DoChangePC(Address: Word);
     93begin
     94  if Assigned(FOnChangePC) then FOnChangePC(Address);
    7395end;
    7496
Note: See TracChangeset for help on using the changeset viewer.