예제 #1
0
파일: CodeLine.cs 프로젝트: jsren/DebugOS
 /// <summary>
 /// Creates a new code line object.
 /// </summary>
 /// <param name="Size">The size in bytes of the line.</param>
 /// <param name="Offset">The offset of the line within the object file.</param>
 /// <param name="Text">The text code of the line.</param>
 /// <param name="Assembly">The assembly instructions for the line.</param>
 public CodeLine(int Size, uint Offset, String Text, AssemblyLine[] Assembly)
 {
     this.Size     = Size;
     this.Offset   = Offset;
     this.Text     = Text;
     this.Assembly = Assembly;
 }
예제 #2
0
파일: CodeLine.cs 프로젝트: jsren/DebugOS
 /// <summary>
 /// Creates a new code line object.
 /// </summary>
 /// <param name="Size">The size in bytes of the line.</param>
 /// <param name="Offset">The offset of the line within the object file.</param>
 /// <param name="LineNo">The number of the corresponding source line.</param>
 /// <param name="Text">The text code of the line.</param>
 /// <param name="Assembly">The assembly instructions for the line.</param>
 public CodeLine(int Size, long Offset, long LineNo, String Text, AssemblyLine[] Assembly)
 {
     this.Size       = Size;
     this.Offset     = Offset;
     this.Text       = Text;
     this.Assembly   = Assembly;
     this.LineNumber = LineNo;
 }
예제 #3
0
        public AssemblyLineItem(AssemblyLine asmLine)
        {
            this.InitializeComponent();

            this.line        = asmLine;
            this.opcode.Text = asmLine.Instruction;
            this.meta.Text   = asmLine.Metadata;

            if (asmLine.Parameters.Length != 0) {
                this.operands.Text = asmLine.Parameters.Aggregate((x, y) => x + ", " + y);
            }

            var bp = Application.Debugger.Breakpoints.GetBreakpoint(this.line.Offset);

            // Set breakpoint
            this.OnDebuggerBPSet(null, new BreakpointChangedEventArgs(bp));

            // Watch for breakpoint changed events
            Application.Debugger.BreakpointSet     += OnDebuggerBPSet;
            Application.Debugger.BreakpointCleared += OnDebuggerBPCleared;
        }
예제 #4
0
 public void AddAssemblyLine(AssemblyLine line)
 {
     this.lines.Add(new CodeLine(line.MachineCode.Length,
         line.Offset, -1, "", new AssemblyLine[] { line }));
 }