Интерфейс класса TDbgInterface — КиберПедия 

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Интерфейс класса TDbgInterface

2022-09-12 20
Интерфейс класса TDbgInterface 0.00 из 5.00 0 оценок
Заказать работу

В таблицах 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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.006 с.