1
/*******************************************************************************
2
* Copyright (c) 2008, 2010 Ericsson and others.
3
* All rights reserved. This program and the accompanying materials
4
* are made available under the terms of the Eclipse Public License v1.0
5
* which accompanies this distribution, and is available at
6
* http://www.eclipse.org/legal/epl-v10.html
9
* Ericsson - initial API and implementation
10
*******************************************************************************/
12
package org.eclipse.cdt.dsf.debug.service;
14
import java.math.BigInteger;
16
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
17
import org.eclipse.cdt.dsf.datamodel.IDMContext;
18
import org.eclipse.cdt.dsf.service.IDsfService;
21
* Disassembly service interface
25
public interface IDisassembly extends IDsfService {
27
public interface IDisassemblyDMContext extends IDMContext {}
30
* Gets a block of disassembled code given an address range.
33
* Context of the disassembly code
35
* Beginning address, inclusive. If null, disassemble from the
36
* instruction pointer.
38
* End address, exclusive. If null, implementation should attempt
39
* to disassemble some reasonable, default number of
40
* instructions. That default is implementation specific.
44
public void getInstructions(
45
IDisassemblyDMContext context,
46
BigInteger startAddress,
47
BigInteger endAddress,
48
DataRequestMonitor<IInstruction[]> drm);
51
* Gets a block of disassembled code given a filename, line number, and line
55
* Context of the disassembly code
59
* Starting point. 1-based line number within the file. If the
60
* line does not represent compiled code, disassembly will start
61
* at the first subsequent line that does.
62
* @param instructionCount
63
* Number of instructions to disassemble. -1 means all
64
* available instructions (starting at [linenum])
69
public void getInstructions(
70
IDisassemblyDMContext context,
73
int instrtuctionCount,
74
DataRequestMonitor<IInstruction[]> drm);
77
* Gets a block of mixed disassembled code given an address range.
80
* Context of the disassembly code
82
* Beginning address, inclusive. If null, disassemble from the
83
* instruction pointer.
85
* End address, exclusive.
89
public void getMixedInstructions(
90
IDisassemblyDMContext context,
91
BigInteger startAddress,
92
BigInteger endAddress,
93
DataRequestMonitor<IMixedInstruction[]> drm);
96
* Gets a block of mixed disassembled code given a filename, line number, and line count.
99
* Context of the disassembly code
101
* File to disassemble
103
* Starting point. 1-based line number within the file. If the
104
* line does not represent compiled code, disassembly will start
105
* at the first subsequent line that does.
106
* @param instructionCount
107
* Number of instructions to disassemble. -1 means all
108
* available instructions (starting at [linenum])
112
public void getMixedInstructions(
113
IDisassemblyDMContext context,
116
int instructionCount,
117
DataRequestMonitor<IMixedInstruction[]> drm);