Вопрос № 61657: Здравствуйте, уважаемые эксперты!
Объясните мне, неразумному, почему после выполнения такого кода, прога довольно быстро умирает?
Остальной код работает нормально и вообще написан на языке высокого уровня.
FeatureSet - беззнаковая перемен...Вопрос № 61691: Доброго времени суток уважаемые эксперты.
У меня возникли вопросы по некоторым функциям.
FindFirstFile - как я понял 1-ый параметр это маска поиска, а вот второй, чё это такое- lpFindFileData?
А у FindNextFile - 1 параметр дескриптор перв...Вопрос № 61721: Я написал простенькую программу и с помощью MASM сделал
ml.exe prog1.asm /AT
получился COM файл, а он ограничен 64кб
как делать EXE файлы?...
Вопрос № 61.657
Здравствуйте, уважаемые эксперты!
Объясните мне, неразумному, почему после выполнения такого кода, прога довольно быстро умирает?
Остальной код работает нормально и вообще написан на языке высокого уровня.
FeatureSet - беззнаковая переменная (не указатель) 32бита.
Отвечает: Олег Владимирович
Здравствуйте, Сухомлин Кирилл Владимирович!
А Вы уверены, что именно это проблемный код? Здесь ничего криминального нет, разве что вместо pusha и popa можно посоветовать сохранять 32битные регистры: PUSHAD и POPAD
Elfxb!
--------- Факультет ПМ-ПУ - лучший в СПбГУ!
Ответ отправил: Олег Владимирович (статус: 6-ой класс)
Ответ отправлен: 07.11.2006, 22:04
Вопрос № 61.691
Доброго времени суток уважаемые эксперты.
У меня возникли вопросы по некоторым функциям.
FindFirstFile - как я понял 1-ый параметр это маска поиска, а вот второй, чё это такое- lpFindFileData?
А у FindNextFile - 1 параметр дескриптор первого найденного файла или что?
А чё надо указывать в FindClose?
Заранее спасибо.
P.S. Если кто напишит, мол читай MSDN - обижусь.
Отвечает: Вiктор
Здравствуйте, Lonely Wolf / ENS!
lpFindFileData это указатель на структуру WIN32_FIND_DATA. В этой структуре хранится информация о найденном файле или папке. Т.е. это указатель на то место памяти, куда будет записываться информация о найденных файлах и папках.
а 1-й параметр в FindNextFile - это дескриптор поиска. Т.е. когда вы вызываете FindFirstFile, то он возвращает как раз этот самый дескриптор. И его же надо посылать в FindClose.
Дескриптор - это как бы описание поиска. Через дескриптор функция FindNextFile узнаёт в какой папке и что искать, узнаёт какие файлы уже найдены чтобы не повторяться.
Например, если вы ищёте в двух разных папках, то вы 2 раза вызваете FindFirstFile, получаете 2 дескриптора поиска. А когда вы потом будете вызывать FindNextFile, то он будет искать следующий файл по тому из поисков, дескриптор которого вы туда передадите.
Читайте WIN32 SDK. И не обижайтесь. Я вот это в основном оттуда вычитал. Или вы хотите сами не читать, а чтобы вам оттуда читал кто-то другой?
--------- Флаг вам в руки! (sti, stc, etc)
Ответ отправил: Вiктор (статус: 8-ой класс)
Ответ отправлен: 07.11.2006, 23:01
Вопрос № 61.721
Я написал простенькую программу и с помощью MASM сделал
ml.exe prog1.asm /AT
получился COM файл, а он ограничен 64кб
как делать EXE файлы?
Отправлен: 08.11.2006, 00:35
Вопрос задал: Flexdiez (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Lonely Wolf
Здравствуйте, Flexdiez!
Да, COM файл ограничен 64 kb, но поверьте это прилично(для ассемблера), но вообще может показаться маловато. В COM программе все содержится в одном сегменте. EXE программы могут иметь 2 и более сегмента, в зависимости от модели памяти(small,compact,medium,large,huge).
EXE программа, модель памяти small.
;start программы
.model small ;указываем модель памяти
.stack 100h ;размер стека
.code ;начало сегмента кода
start: ;метка старта
mov ax,DGROUP
mov ds,ax ; указываем что ds указывает на данные
;сюда можно писать код
.data ;сегмент данных
; здесь объявление переменных
end start ;всё!!! - гейм овэр, конец программы
--------- Ассемблер FOREVER!!!
Ответ отправил: Lonely Wolf (статус: Студент)
Ответ отправлен: 08.11.2006, 12:20 Оценка за ответ: 5 Комментарий оценки: спасибо!
Отвечает: Луковкин Николай Иванович
Здравствуйте, Flexdiez!
Создание ехе.файла для MASM
ml/c prog1.asm - создаем obj. файл
link prog1.obj - создаем ехе.файл
--------- Главным критерием эффективности того или иного пути может служить лишь то, достиг или нет крекер конечного результата!!!