Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ida.final.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
6 Mб
Скачать

Long FindExplored(long ea,long flag)

Функция ищет ближайший к переданному ей линейному адресу ea элемент кода или данных, возвращая в случае успешного завершения поиска адрес его головы. В зависимости от флага направления поиск может идти как вперед (от младших адресов к старшим), так и назад (от старших адресов к младшим). Переданный функции линейный адрес в этот диапазон поиска не входит и не обязательно должен принадлежать какому-нибудь сегменту.

Аргумент flag задает направление поиска – если его младший бит установлен поиск идет от младших адресов к старшим и, соответственно, наоборот.

Пример использования:

seg000:0100 DB 99h ; Щ

seg000:0101 DW 666h

a) исходные данные – требуется получить линейный первого элемента кода или данных

Message(“>%s\n”,atoa(FindExplored(0,1)));

b) вызов функции FindExplored – адрес начала поиска равен нулю, единичное значение флага направление указывает вести поиск с увеличением адресов

>seg000:0101

результат – линейный первого элемента

??? #Верстальщику – change table

аргумент

пояснения

ea

линейный адрес начала поиска, не обязательно принадлежащий какому-нибудь сегменту

flag

=flag

пояснения

==1

прямое направление поиска

==0

обратное направление поиска

return

=return

пояснения

!=BADADDR

линейный адрес элемента любого вида

==BADADDR

ошибка

Родственные функции: FindCode, FindData, FindUnexplored

Интерактивный аналог:”~Nabigate\Search for\Next explored”; <Ctrl-A>

Long FindUnexplored(long ea,long flag)

Функция ищет ближайший к переданному ей линейному адресу ea бестиповой байт, возвращая в случае успешного завершения поиска его адрес. В зависимости от флага направления поиск может идти как вперед (от младших адресов к старшим), так и назад (от старших адресов к младшим). Переданный функции линейный адрес в этот диапазон поиска не входит и не обязательно должен принадлежать какому-нибудь сегменту.

Аргумент flag задает направление поиска – если его младший бит установлен поиск идет от младших адресов к старшим и, соответственно, наоборот.

Пример использования:

seg000:0100 DW 666h

seg000:0102 DB 99h ; Щ

a) исходные данные – требуется получить линейный первого бестипового байта

Message(“>%s\n”,atoa(FindUnexplored(0,1)));

b) вызов функции FindUnexplored – адрес начала поиска равен нулю, единичное значение флага направление указывает вести поиск с увеличением адресов

>seg000:0102

результат – линейный первого бестипового байта

??? #Верстальщику – change table

аргумент

пояснения

ea

линейный адрес начала поиска, не обязательно принадлежащий какому-нибудь сегменту

flag

=flag

пояснения

==1

прямое направление поиска

==0

обратное направление поиска

return

=return

пояснения

!=BADADDR

линейный адрес бестипового байта

==BADADDR

ошибка

Родственные функции: FindCode, FindData, FindExplored

Интерактивный аналог:”~Nabigate\Search for\Next Unexplored”; <Ctrl-U>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]