Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Топ:
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Дисциплины:
2022-09-12 | 20 |
5.00
из
|
Заказать работу |
В таблицах 4.2.1–4.2.22 приведено описание функций-членов класса TDbgInterface. Для каждой функций-члена приведен ее интерфейс на языке C++, описание аргументов, описание возвращаемого значения.
Таблица 4.2.1 ‑ Функция GetCfg
Интерфейс | tDProcCfg* GetCfg() |
Описание | Возвращает указатель на структуру, описывающую элементы процессора |
Аргументы | - |
Возвращаемое значение | Указатель на структуру, описывающую элементы процессора |
Примечания |
Структура tDProcCfg:
struct tDProcCfg
{
int nreg; // кол-во регистров
const tDRegister *regs; // массив дескрипторов регитстров
int nbuses; // кол-во адресных пространств памяти
const tDMemBus *bus; // массив дескрипторов адресных пространств
int nflags; // количество флагов
const tDProcFlags *flags; // массив дескрипторов флагов
int nfifos; // количество FIFO-блоков
const tProcFifo *fifos; // массив дескрипторов FIFO-блоков
};
Структура дескриптора регистров:
struct tDRegister
{
const char *name; // ассемблерное имя
int type; // размер регистра в байтах
int arrsize; // размер регистрового массива
int flag; // зарезервировано
};
Структура дескриптора шин памяти:
struct tDMemBus
{
const char *name; // ассемблерное имя адресного пространства
int asize; // размер шины адреса в битх
int dsize; // размер шины данных в битах
};
Структура дескриптора флага:
struct tDProcFlags
{
char *name; // имя флага
const int regnum; // индекс регистра
const int reg_arrnum; // индекс регистра в регистровом массиве
int bit; // бит в регистре
};
Структура дескриптора ФИФО:
struct tProcFifo
{
const char *name; // имя
int ElemBitSize;// размер одного элемента в битах
int NumElems; // размер ФИФО (макс. Кол-во элементов)
};
Таблица 4.2.2 ‑ Функция GetRegIdx
Интерфейс | int GetRegIdx(char* aRegName) |
Описание | Возвращает индекс регистра по его имени |
Аргументы | char* aRegName – Имя регистра |
Возвращаемое значение | В случае успеха: индекс регистра, по которому можно считать\записать значение регистра функциями GetReg\SetReg; В случае ошибки: -1 – регистра с таким именем не существует |
Примечания | Имена регистровых массивов должны передаваться в функцию так, как они обозначены в PPDL: gr$ - массив регистров gr (gr0…gr7) ar$ - массив регистров ar (ar0…ar7) |
Таблица 4.2.3 ‑ Функция LoadElf
Интерфейс | tDisAsmArea* LoadElf(char* aElfFile) |
Описание | Загружает исполняемый файл в процессор |
Аргументы | char* aElfFile – Имя файла. |
Возвращаемое значение | В случае успеха: указатель на структуру tDisasmArea (область памяти, в которой разместилась программа); В случае ошибки: NULL |
Примечания | - |
Таблица 4.2.4 ‑ Функция GetCellSize
Интерфейс | virtual int GetCellSize(int busnum,int addr) |
Описание | Возвращает размер минимально адресуемой ячейки памяти в байтах |
Аргументы | int busnum - индекс шины памяти int addr - адрес ячейки |
Возвращаемое значение | Размер минимально адресуемой ячейки |
Примечания | - |
Таблица 4.2.5 ‑ Функция GetCfg
Интерфейс | const tDProcCfg* GetCfg() |
Описание | Возвращает указатель на структуру, описывающую конфигурацию процессора, а именно: - список регистров, включающий название регистра, размер в битах и размер массива (для массива регистров); - количество и названия доступных шин памяти; - список флагов процессора |
Аргументы | - |
Возвращаемое значение | Указатель на структуру типа tDProcCfg |
Примечания | - |
Таблица 4.2.6 ‑ Функция GetMem
Интерфейс | int GetMem(void *mem,int busnum,int addr,int size); |
Описание | возвращает size байт памяти начиная с адреса addr в область mem. |
Аргументы | mem ‑ указатель на массив, в который будет считана памяти из эмулятора busnum ‑ индекс шины памяти addr ‑ стартовый адрес в памяти эмулятора size ‑ размер памяти в байтах, в который пишуться данные |
Возвращаемое значение | В случае успеха: количество байтов памяти, реально считанных по запросу В случае ошибки: 0 |
Примечания | - |
Таблица 4.2.7 ‑ Функция SetMem
Интерфейс | int SetMem(void *mem,int busnum,int addr,int size); |
Описание | записывает size байт памяти начиная с адреса addr, данные берутся из области mem. |
Аргументы | busnum - индекс шины памяти addr - стартовый адрес в памяти эмулятора size - размер памяти в байтах, в который пишуться данные |
Возвращаемое значение | В случае успеха: Количество байтов памяти, реально записанных по запросу В случае ошибки: 0 |
Примечания | - |
Таблица 4.2.8 ‑ Функция FillMem
Интерфейс | int FillMem(uint32 aVal,int busnum,int addr,int size); |
Описание | заполнить область памяти значением aVal |
Аргументы | Busnum - индекс шины памяти addr - стартовый адрес в памяти эмулятора size - размер памяти в байтах, в который пишутся данные |
Возвращаемое значение | В случае успеха: количество байтов памяти, реально записанных по запросу В случае ошибки: 0 |
Примечания | - |
Таблица 4.2.9 ‑ Функция ClearMem
Интерфейс | void ClearMem() |
Описание | Очищает (сбрасывает в 0) всю память процессора |
Аргументы | - |
Возвращаемое значение | - |
Примечания | - |
Таблица 4.2.10 ‑ Функция DisAssembly
Интерфейс | int DisAssembly(char *str,int busnum,int addr,int size) |
Описание | Дизассемблирует size байт из области памяти busnum начиная с адреса size байт |
Аргументы | *str – указатель на выходной буфер busnum – номер шины size – размер дизассемблируемой области памяти в словах |
Возвращаемое значение | В случае успеха: количество байтов в буфере, занятых дизассемблированным кодом В случае ошибки: 0 |
Примечания | Формат дизассемблированной инструкции: "адрес код инструкции\n дизасемблированная инструкция\n” |
Таблица 4.2.11 ‑ Функция SetReg
Интерфейс | int SetReg(int rnum,int anum,unsigned long val) |
Описание | записать значение в регистр с индексом rnum, или в элемент регистрового массива rnum с адресом anum. |
Аргументы | rnum - индекс регистра или массива регистров anum - индекс регистра в регистровом массиве (в случае регистра игнорируется) val - значение для записи |
Возвращаемое значение | Значение регистра |
Примечания | Максимальное значение регистра – 32 бита |
Таблица 4.2.12 ‑ Функция GetReg
Интерфейс | int GetReg(int rnum,int anum,unsigned long val) |
Описание | Получить значение в регистр с индексом rnum, или в элемент регистрового массива rnum с адресом anum. |
Аргументы | rnum - индекс регистра или массива регистров anum - индекс регистра в регистровом массиве (в случае регистра игнорируется) val - значение для записи |
Возвращаемое значение | Значение регистра |
Примечания | Максимальное значение регистра – 32 бита |
Таблица 4.2.11 ‑ Функция SetFifo
Интерфейс | int SetFifo (int fifo_num,char* data,int size) |
Описание | записать значение в ФИФО с индексом fifo, size слов из буфера data |
Аргументы | fifo_num - индекс ФИФО data - указатель на массив новых значений фифо size - новая длинна ФИФО |
Возвращаемое значение | 1 в случае успеха |
Примечания |
Таблица 4.2.12 ‑ Функция GetFifo
Интерфейс | int GetFifo (int fifo_num,char* data,int& size) |
Описание | Получить значение ФИФО индексом fifo_num и текущий размер ФИФО |
Аргументы | fifo_num - индекс ФИФО data - указатель на массив, в который будут сохранено фифо size - длинна ФИФО |
Возвращаемое значение | Значение регистра |
Примечания | Максимальное значение регистра – 32 бита |
Таблица 4.2.13 ‑ Функция SetPc
Интерфейс | int SetPc(unsigned long val) |
Описание | Установить значение счетчика программ |
Аргументы | val- новое значение счетчика |
Возвращаемое значение | 1 |
Примечания | - |
Таблица 4.2.14 ‑ Функция GetPc
Интерфейс | uint32 GetPc(unsigned long val) |
Описание | Считать значение счетчика программ |
Аргументы | val – игнорируется |
Возвращаемое значение | Значение счетчика программ |
Примечания | - |
Таблица 4.2.15 ‑ Функция SetBreakPoint
Интерфейс | int SetBreakPoint(unsigned long addr,ePointType aType = BP_STANDARD) |
Описание | Установить точку останова на адрес addr |
Аргументы | аddr – адрес точки останова aType – тип точки останова: BP_STANDARD – обычная точка останова BP_SINGLE_EXEC – точка останова, которая автоматически удаляется после перехода на адрес addr, при этом процессор останавливается после перехода на адрес addr. BP_ON_NEXT – точка останова на следующей инструкции (аналог StepInto). Параметр addr игнорируется. После возникновения останова точка удаляется автоматически |
Возвращаемое значение | В случае успеха: 1 В случае ошибки: 0 |
Примечания | - |
Таблица 4.2.16 ‑ Функция ClearBreakPoint
Интерфейс | int ClearBreakPoint(unsigned long addr) |
Описание | Удалить точку останова |
Аргументы | аddr – адрес точки останова |
Возвращаемое значение | В случае успеха: 1 В случае ошибки: 0 |
Примечания | - |
Таблица 4.2.17 ‑ Функция Reset
Интерфейс | void Reset() |
Описание | Сброс процессора (эмуляция прерывания RESET) |
Аргументы | - |
Возвращаемое значение | |
Примечания | - |
Таблица 4.2.18 ‑ Функция Start
Интерфейс | void Start() |
Описание | Запускает процесс исполнения программы на эмуляторе |
Аргументы | - |
Возвращаемое значение | - |
Примечания | - |
Таблица 4.2.19 ‑ Функция Stop
Интерфейс | void Stop() |
Описание | Останавливает процесс исполнения программы на эмуляторе |
Аргументы | - |
Возвращаемое значение | - |
Примечания | - |
Таблица 4.2.20 ‑ Функция IsRun
Интерфейс | int IsRun() |
Описание | Возвращает статус эмулятора |
Аргументы | |
Возвращаемое значение | 1 – эмулятор работает 0 – эмулятор остановился |
Примечания | - |
Таблица 4.2.21 ‑ Функция StepInto
Интерфейс | StepInto() |
Описание | Исполняет одну инструкцию на эмуляторе |
Аргументы | - |
Возвращаемое значение | Нет |
Примечания | В случае выполнение запрещённой или некорректной команды функция возвращает исключение (exception). Список исключений приводится в п. 3.3.2, п. 3.3.3, структура исключения приведена в п. 3.3.1 |
Таблица 4.2.22 ‑ Функция GetNextErrors
Интерфейс | GetNextErrors() |
Описание | Возвращает предупреждение, возникшее после исполнения StepInto, одновременно удаляя его из списка предупреждений симулятора |
Аргументы | - |
Возвращаемое значение | Нет |
Примечания | В случае некорректной команды функция возвращает исключение (exception). Список исключений приводится в п. 3.3.3, структура исключения приведена в п. 3.3.1 |
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!