Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 811
от 26.07.2007, 01:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 386, Экспертов: 28
В номере:Вопросов: 2, Ответов: 2


Вопрос № 95789: Установил MASM в FARE создал папку l11 в котором поместил программу набранную в Fare l11.asm набираю в командной строке FARA : amake l11 результат : имя команды или файла указано не правильно ." Ассемблер это просто" я только выписал а...
Вопрос № 95846: Здравствуйте! В PE EXE в таблице импорта рядом с именами импортируемых функций имеются т.н. hints. Так вот, откуда они берутся и где используются? Обязательно ли они должны отличаться друг от друга? Фиксированы ли они для каждой функции? Для ...

Вопрос № 95.789
Установил MASM в FARE создал папку l11 в котором поместил программу набранную в Fare l11.asm набираю в командной строке
FARA : amake l11 результат : имя команды или файла указано не правильно ." Ассемблер это просто" я только выписал а здесь воспользовался книгой Крупника А
Отправлен: 20.07.2007, 14:23
Вопрос задал: Юрченко Павел Александрович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Юрченко Павел Александрович!

Описание утилиты MAKE.
Вам нужно создать makefile.mak или makefile и в нем указать правило — (строка исходного файла утилиты make.exe, показывающая требуемую связь файлов по временному принципу. Слово «требуемую» здесь подчеркивает тот факт, что «правила игры» определяет программист. Строка данного типа не должна начинаться с пробела.) и команды — (любые строки, допустимые к вводу в командной строке операционной системы. Строка с командой должна обязательно начинаться с пробела.)
имя команды или файла указано не правильно - (Bad command or file name) это работа FARа, он не обнаружил утилиту MAKE в текущей папке.
Перейдите FARом в каталог с утилитой и запустите её. Если компилятор, утилита и Ваша программа находятся в разных папках то в makefile нужно указывать пути к ним.
Удачи!
---------
И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 20.07.2007, 17:30


Вопрос № 95.846
Здравствуйте!
В PE EXE в таблице импорта рядом с именами импортируемых функций имеются т.н. hints.
Так вот, откуда они берутся и где используются? Обязательно ли они должны отличаться друг от друга? Фиксированы ли они для каждой функции? Для чего их придумали? :)
Отправлен: 21.07.2007, 01:01
Вопрос задал: Олег Владимирович (статус: Студент)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Олег Владимирович!

При попытке связывания ( настройки адресов импортируемых функций в программе ) по имени, системный загрузчик использует вначале значение hint (укороченный идентификатор точки входа) и только при неудачной попытке его использования производит поиск требуемой точки входа по имени самой функции.
Т.е. в таблице экспорта библиотеки загрузчик проверяет запись соответствующую hint и если имена функций не совпали, производится поиск по имени, что дольше по времени. Вслучае успеха одного из поисков настраиваются конструкции типа:
CALL myFunction;(характерно для TASM)
...
myFunction: JMP DWORD PTR[FUNCTION];дописывается в конце секции кода
или
CALL DWORD PTR[FUNCTION];(для MASM)
...
.idata
FUNCTION DD XXXXXXXX
Создает их компоновщик на основе lib-файлов.
Если в очередном SP в библиотеку добавят новую или удалят старую функцию hint может изменится.
Удачи!
---------
И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 21.07.2007, 14:27


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.53 beta от 09.07.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное