Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 629
от 30.08.2003, 23:00
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 4058 Отправлено ответов: 12021 Активность: 296.2 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Fantomas Статус: Доверительный Общий рейтинг: 118.18 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 120.77 URL: мой сайт [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 152.02 URL: Программирование [Подробней >>] |
wolf_2k Статус: Опытный Общий рейтинг: 112.85 [Подробней >>] |
Lynx Статус: Профессиональный Общий рейтинг: 116.89 Телефон: (8442) 750522 [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 113.08 [Подробней >>] |
dimka Статус: Опытный Общий рейтинг: 137.81 Телефон: (231)-4-43-85 [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 121.1 [Подробней >>] |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 148.68 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 134.27 [Подробней >>] |
[L2]Max Статус: Опытный Общий рейтинг: 125.32 Телефон: (0562) 323428 [Подробней >>] |
St Статус: Профессиональный Общий рейтинг: 106.65 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 117.76 [Подробней >>] |
Hangatyr Статус: Опытный Общий рейтинг: 112.9 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 4004. Здравствуйте! Compuware SoftICE Driver Suite 3.0.1 on ftp
...
(ответов: 3)Вопрос № 4005. Вчера разговаривал с одним человеком (он занимается программированием на заказ), который вроде знает... (ответов: 9)
Вопрос № 4006. Не вопрос. Анализ вопроса 3971 и ответов к нему. The numerical value of a set bit is equal to two ra... (ответов: 4)
Вопрос № 4007. Приветствую всех экспертов ! Ну не вижу я ошибку и ВСЕ !!! Ну нет ее, понимаете все должно работать.... (ответов: 6)
Вопрос № 4008. Столкнулся с проблемой... Нужно пропатчить PE заголовок в памяти, т.е. разрешить на запись адреса 40... (ответов: 3)
Вопрос № 4009. Уважаемые эксперты! Такой возник вопрос: Есть ли какое-нибудь сообщение которое посылается процеду... (ответов: 6)
Вопрос № 4010. при написании ml.exe prog001.asm /AT выдает ошибку masm : fatal error A1020: cannot find link.exe MA... (ответов: 5)
Вопрос № 4011. Здравствуйте, эксперты ! Недавно я писал: >Приветствую всех экспертов ! >Ну не вижу я ошибку и ВСЕ !... (ответов: 4)
Вопрос № 4012. Здравствуйте! Я тут использую ftp.exe микрософтовскую чтобы аплодить файлы на ftp. Она работает в ко... (ответов: 2)
Вопросов: 9, ответов: 42
Вопрос № 4004 |
Здравствуйте!
Compuware SoftICE Driver Suite 3.0.1 on ftp
h*tp://0daycn.net/0daycn/vNNGwOwvvdvHoNGoGxcvHvG.htm
Правая папочка сверху.
Приложение:
Вопрос отправлен: 25.08.2003, 23:55
Отправитель: Илья (b.i@date.by)
[Следующий вопрос >>] [Список вопросов]
Отвечает Fantomas
Добрый день, Илья!
К чему ???
А на RusFaq.ru есть форум по ассемблеру !
Зайди на http://www.RusFaq.ru, 7 строчка сверху.
И что теперь ?
Ответ отправлен: 26.08.2003, 01:21
Отправитель: Fantomas
Отвечает Broken Sword
Добрый день, Илья!
если кто то скачает - сообщите плз на brokensword@mail.ru есть ли там че то новое кроме навороченной удаленной отладки и интеграции в NET
Ответ отправлен: 26.08.2003, 10:56
Отправитель: Broken Sword
Отвечает Bob Johnson
Добрый день, Илья!
Еще было бы здорово как-либо скачать его с помощью Get Right, а то там хитро придумано, что сервер отвечает Object Moved и в это же время выставяет Set Cookie. А Get Right если Object Moved еще понимает, то на Cookie внимания не обращает.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 26.08.2003, 15:43
Отправитель: Bob Johnson
Вопрос № 4005 |
Вчера разговаривал с одним человеком (он занимается программированием на заказ), который вроде знает ассемблер. Услышал с его стороны такую фразу: "Ассемблер? Ассемблер - это хорошо. Я иногда пишу на ассемблере. Ядро windows написано на ассемблере, а часть - даже в машинных кодах!"
Хотелось бы услышать ваши комментарии...
Пока!
Вопрос отправлен: 26.08.2003, 02:21
Отправитель: Robert Johnson
[Следующий вопрос >>] [Список вопросов]
Отвечает wolf_2k
Здравствуйте, Robert Johnson!
Если бы ядро было бы написано наполовину в маш кодах и асемблере оно бы не было таким медленным ты его дизасмь там пол ядра это защита от отладки и дизасма (мелкомягкие блин)что то более уродское найти сложно вон линукса молодцы и исходники есть и багов поменьше
Ответ отправлен: 29.08.2003, 05:27
Отправитель: wolf_2k
Отвечает Lynx
Доброе время суток, Robert Johnson!
Бред!!! Ассемблер и машинный код - не одно и тоже ли? :)
ИМХО ядро виндовс писалось на C//C++, может быть какие нить участки и на асме. :)
Ответ отправлен: 27.08.2003, 10:41
Отправитель: Lynx
Отвечает Fantomas
Приветствую Вас, Robert Johnson!
Я считаю, что он подлец ! :-)
Ответ отправлен: 26.08.2003, 03:32
Отправитель: Fantomas
Отвечает ASMодей
Добрый день, Robert Johnson!
Скорее всего, Windows написана на C++, и только некоторые части, возможно на ассемблере. Насчет машинных кодов я очень сомневаюсь: ни одному нормальному человеку (особенно в Microsoft) сегодня в голову не придет писать программы напрямую в машинных кодах.
Ответ отправлен: 26.08.2003, 07:17
Отправитель: ASMодей
Отвечает Broken Sword
Добрый день, Robert Johnson!
да, мужик шарит :)
Ответ отправлен: 26.08.2003, 10:39
Отправитель: Broken Sword
Отвечает dimka
Здравствуйте, Robert Johnson!
On pridurak!!!
Iadro Win'a napisano na C/C++,konecino,ne bez Assemblera,Nu citobi mashinnie kodi!!!...
Ответ отправлен: 26.08.2003, 11:44
Отправитель: dimka
Отвечает _vt
Добрый день,(RusFAQ глючит - ночь!) Robert Johnson!
Если ты теперь Robert, наверное, стал совершеннолетним в собственных глазах! Но это - offtopic!
Тут комментарии излишни, могу добавить от себя: я некоторое время подрабатывал ночью в магазине, продавал водку и стаканчики, и при этом общался с большим количеством незнакомых мне людей... Так как магазин находится в здании представительства союза художников России, то многие "клиенты" представлялись "художниками-иконописцами" и на протяжении нескольких часов в состоянии пьяного угара рассказывали о своих величайших работах, сделанных ими в прошлом и о будующих творениях, на которые они получили заказы... При этом, козыряя тем, что они знают "всех художников по именам" требовали у продавцов, не относящихся к Дому Художников, бесплатного пива... Если при этом присутствовал кто-то из работающих художников, он посылал этих "иконописцев" подальше, да так что они еще не скоро появлялись...
Также среди клиентов попадались и "Крутые Хакеры", знающие "любой язык программирования" и взламывающие каждый день по нескольку сайтов, причем на вопрос о том, что за сайт он сломал, такой человек отвечал, что "не помню, по-моему, какая-то газета". При этом он рассказал, что на сервере этого издательства "много интересного: счета и прочая бухгалтерия". Так же он рассказывал про языки программирования: что пишет он программы понемногу на всех языках, нравится ему Паскаль, но у него есть один недостаток:
"легко ломается"(!!!???!!!)...
Встречались и гибриды: "я вообще-то художник, по профессии я электромонтер, а в данный момент программист: собираю компьютеры"(!!!!) . Когда я ему сказал, что тоже немного "программист", он сильно обрадовался и захотел со мной выпить... Услышав отказ, он попросил помощи: "Тут вот у меня есть старая "четверка" у нее что-то с модулями памяти, а как проверить какой не работает - незнаю..." Услышав, что модули можно проверить или вытаскиванием по одному или программным путем, он обрадовался: " Как я сам не догадался!" Пообещал купить мне у меня завтра пива, исчез и так и не появился... Правда я сильно сомневаюсь, что в "четверке" можно ставить модули по одному... :-) Может, конечно, не получилось, обиделся...:-)
Да, когда я писал тебе насчет приколов в рассылке по NT, произошел очень веселый прикол: там один "Гидроэколог" задавал вопрос о том, что у него с NT AUTHORITY SYSTEM, ему посоветовали скачать патч против W32.HLLW.Lovesan. Следующим вопросом он всех поблагодарил сказал о том, что он и не думал о вирусе, раз у него Norton Antivirus, и тут же начал жаловаться, что теперь компьютер тормозит: он с секундомером(!) засекал время запуска XP, ему "надоело" и он ушел пить кофе... Я ему осторожно(!) посоветовал попробовать удалить Norton Antivirus, сказав о том что у меня после патча система работает только быстрей и что я думаю, что дело в антивирусе, особенно если он его так и не обновил... И в два часа ночи (отправил он его в 23:56) получаю вопрос лично мне, но посланный всем экспертам - уважаемый, вы типа прикрываясь статусом эксперта, даете ложную мне информацию, "и хотя нисколько не хочу вас обидеть, хочу поздравить с тем, что вам везет с продуктами Microsoft"... Да, и он хоть и не эксперт, " но все же достаточно опытный пользователь, чтобы самостоятельно обновлять такие продукты как Norton Antivirus, и дело здесь именно в кривом патче, как я понял из ответов большинства аналитическим методом"(!!!) Цитирую не совсем дословно, но суть не меняется... :-( Хорошо хоть он после моего личного письма к нему признал, "Это очень здорово, что Вы (ты) проанализировал(и) мое ядовитое письмо"...
---===*** Updated E-Man 1.5 - it's cool!***===---
Ответ отправлен: 26.08.2003, 13:10
Отправитель: _vt
Отвечает Евгений Иванов
Доброе время суток, Robert Johnson!
Ядро, может быть...
Но всё остальное на чистых С++.
Ответ отправлен: 26.08.2003, 13:29
Отправитель: Евгений Иванов
Отвечает Bob Johnson
Добрый день, Robert Johnson!
Ну вот и мне понравилось :) Это надо будет запомнить :)
> Отвечает _vt
> Если ты теперь Robert, наверное, стал совершеннолетним в собственных глазах!
Да ладно, я всегда буду молод в душе! (к тому же ты разве забыл, что rusfaq не существует, а я лишь информационное воплощение электрической энергии, протекающей в цепях большого такого робота системы).
> нравится ему Паскаль, но у него есть один недостаток: "легко ломается"(!!!???!!!)...
:) Да, это тоже следует запомнить...
> Правда я сильно сомневаюсь, что в "четверке" можно ставить модули по одному...
Смотря какие - 8-ми разрядные (30-пиновые) - нельзя. Их надо два в SX (там 16-разрядная шина) и 4 в DX (тут 32-х разрядная). А вот 32-разрядные (72-пиновые) - можно. Парами их стали ставить в Pentium, т.к. в нем 64-разрядная шина.
> ему посоветовали скачать патч против W32.HLLW.Lovesan
А вот это зря :) Ему надо было советовать установить "Welchia" (http://www.kaspersky.ru/news.html?id=1321286, http://www.kaspersky.ru/news.html?id=1321905). :)
На счет своего же вопроса - думаю, что именно ядро в виндах написано на асме, т.к. в его задачу входит переключение потоков, сохранение регистров и т.д. Это трудно (да и бессмысленно) реализовывать на С++. Все же остальное - с наибольщей вероятностью пипи, т.к. ms асм не очень-то ценит.
Ну а чтобы в машинных кодах...
> да, мужик шарит :)
Вот именно :)
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 28.08.2003, 12:26
Отправитель: Bob Johnson
Вопрос № 4006 |
Не вопрос.
Анализ вопроса 3971 и ответов к нему.
The numerical value of a set bit is equal to two raised to the power of the bit position
Да...
Насчёт "группы битов" некоторые ошиблись. Всё же это один бит!
a set bit - приставка a (one). Конкретный бит!
По моему, лучшие ответы у
Bob Johnson,
Ramzes,
Portnov,
Но наиболее точно попал в точку vitya:
"вес бита в i-ой позиции равен 2 возведеной в степень i".
Я же лично не писал в рассылку, а почему то ответил личным письмом (чё это я так? :-)
Ответил тоже неточно!
"Числовое значение набора битов равно двойке, возведённой в степень битовой
позиции".
Так что учимся дальше!
Вопрос отправлен: 26.08.2003, 02:22
Отправитель: Eugene Ivanov (Eugene_Ivanov@mail.nnov.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Fantomas
Не ответ.
Просто воспользуюсь моментом... :-)
Здравствуйте, Администрация!
ЗАЯВЛЕНИЕ !
Ув. Калашников О.А.
Я, эксперт Fantomas, со статусом Начальный, прошу Вас
повысить меня по званию за доблестные заслуги по програмированию на языке Assembler. :-)
______
Секретарь: _____________ Дата 26.0|8.03 |
|Печать|
Администратор: _ _ _ _ _ |______|
Доброй ночи !
Ответ отправлен: 26.08.2003, 03:32
Отправитель: Fantomas
Отвечает _vt
Здравствуйте, Eugene Ivanov!
Несколько тонкий намек в мою сторону, но я тоже заметил свою неточность!!! Так что, действительно:
> учимся дальше!
---===*** Updated E-Man 1.5 - it's cool!***===---
Ответ отправлен: 26.08.2003, 05:30
Отправитель: _vt
Отвечает dimka
Доброе время суток, Eugene Ivanov!
A cito za vopros???
Ответ отправлен: 26.08.2003, 11:49
Отправитель: dimka
Отвечает Bob Johnson
Добрый день, Eugene Ivanov!
Я знаю, почему у меня хороший ответ - это все из-за слова "fuck", которое в нем было. Брат одного моего знакомого ездил в америку и я у него спросил, трудно ли там разговаривать на их языке. Он ответил, что самое главное - это "fuck", остально выучишь!
Кстати, другой человек, который ездил в Англию (точнее - Лондон), сказал, что "fuck" по уровню экспрессии соответствует нашему "хрен". Что когда англичане едут в метро и поезд как-то там резко дергается, многие из них говорят "fuck", "what the fuck" etc.
С другой стороны, в английском языке вообще нет отдельных слов, сравнимых по экспрессии с нашими.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 26.08.2003, 15:37
Отправитель: Bob Johnson
Вопрос № 4007 |
Приветствую всех экспертов !
Ну не вижу я ошибку и ВСЕ !!!
Ну нет ее, понимаете все должно работать.
После выполнения нижеприведенной программы
в текствовом поле должна появиться цифра 3,
т.к. 1 и 2 проскакивают быстро и их не реально
заметить, а появляются вообще какие-то иероглифы.
В чем же дело ?
Приложение:
Вопрос отправлен: 26.08.2003, 02:41
Отправитель: Fantomas (f-a-n-t-o-m-a-s@ukr.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Добрый день, Fantomas!
Это не будет работать, как хотел.
push offset [dbEnumNumbers+ecx]
Нужно так:
lea edx, [dbEnumNumbers+ecx]
push edx
Бывай!
Ответ отправлен: 26.08.2003, 13:34
Отправитель: Евгений Иванов
Отвечает _vt
Приветствую Вас, Fantomas!
Извини за выражение, ни хрена не понятно:
1) чем ты это чудо компилил? Ни masm, ни tasm, а тем более ни nasm и не fasm твое творение не поняли (равно как и я!). Судя по экспорту функций, должен быть tasm...
2) ладно, допустим что-то скомпилилось: скажи, пожалуйста,
а) где в моей системе находится текстовое поле, чей хэндл ты мне предоставляешь в виде адреса?
б) если все остальное правильно, то объясни мне, как программа выйдет из цикла, вначале которого в стек пихается ecx(=0), в конце цикла он оттуда забирается обратно в ecx(опять ecx=0!) и сравнивается с 4!! После чего разрешается выйти из цикла, если 0=4 ???
Диагноз: видимо, вредно для организма постоянное сидение ночью за компьютером... Только в 2:41 могут родится такие шедевры! :-)
---===*** Updated E-Man 1.5 - it's cool!***===---
Ответ отправлен: 26.08.2003, 05:30
Отправитель: _vt
Отвечает Broken Sword
Добрый день, Fantomas!
mov eax,4063820 ;hWnd текстового поля
:(
это ты в WinSPY посмотрел? или в отладчике?
hWnd все время меняется, ты можешь узнать хендл по ID контрола (ID контрола постоянен). Я не помню эту API (что то типа GetWindowHandleByID), но там тебе нужно будет еще знать хендл главного диалога (эта GetActiveWindow)
но если выводиться что-то, но не то что ты хочешь, значит ищи ошибку здесь:
push offset [dbEnumNumbers+ecx]
или в порядке передачи параметров
Ответ отправлен: 26.08.2003, 10:37
Отправитель: Broken Sword
Отвечает masquer
Приветствую Вас, Fantomas!
Почитай на досуге туториалы икзелиона, потому как долго объяснять - где там ошибка - весь код одна сплошная ошибка.
Ответ отправлен: 26.08.2003, 11:16
Отправитель: masquer
Отвечает dimka
Приветствую Вас, Fantomas!
!!!!!!!!
pishi po-novoi!!
Ответ отправлен: 26.08.2003, 11:56
Отправитель: dimka
Отвечает Bob Johnson
Добрый день, Fantomas!
...б*я...
> Ну нет ее, понимаете все должно работать.
Посмотри в отладчике, что у тебя компилируется вместо push offset [dbEnumNumbers+ecx]... Нет такой команды.
Да и откуда ты берешь hWnd в виде конкретного числа.
В общем, делай так:
mov esi, offset dbEnumNumbers
m1:
push esi
push 0
push WM_SETTEXT
push hwnd
Call SendMessageA
add esi, 2
cmp esi, offset dbEnumNumbers + 6
jnz m1
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 26.08.2003, 15:26
Отправитель: Bob Johnson
Вопрос № 4008 |
Столкнулся с проблемой...
Нужно пропатчить PE заголовок в памяти, т.е. разрешить на запись адреса 400000h-401000h, именно в памяти, а не копируя его куда то и записывая в файл. Можно ли это сделать не переходя в ring0?
Если нет, то не подскажите где взять описание vxd ф-ий, и что почитать по переходу в ring0...
Вопрос отправлен: 26.08.2003, 04:56
Отправитель: Maverick (Maverick@nightmail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Lynx
Доброе время суток, Maverick!
Ты хочешь, что бы процесс 3-го уровня привелегий писал в память куда ему вздумается??? :) Не выдет. Можно написать драйвер псевдоустройства, который тебе всё сделает!
Ответ отправлен: 27.08.2003, 10:41
Отправитель: Lynx
Отвечает Broken Sword
Доброе время суток, Maverick!
знаешь, Maverick, помоему ring0 здесь ни при чем. Просто тебе нужен PE-Editor (для изменение атрибутов секции .text на Writeable :)
Ответ отправлен: 26.08.2003, 10:26
Отправитель: Broken Sword
Отвечает Bob Johnson
Приветствую Вас, Maverick!
Ну что, тебе помогло VirtualProtect?
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 28.08.2003, 12:31
Отправитель: Bob Johnson
Вопрос № 4009 |
Уважаемые эксперты!
Такой возник вопрос:
Есть ли какое-нибудь сообщение которое посылается процедуре окна
когда курсор мыши находится над контролом (кнопкой)?
Заранее спасибо :).
Ramala.
Вопрос отправлен: 26.08.2003, 14:08
Отправитель: Ramala
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Доброе время суток, Ramala!
WM_MOUSEMOVE.
Ответ отправлен: 27.08.2003, 02:16
Отправитель: Евгений Иванов
Отвечает [L2]Max
Здравствуйте, Ramala!
Может и есть, но вряд ли, используй ф-ю получения координат
Ответ отправлен: 27.08.2003, 05:14
Отправитель: [L2]Max
Отвечает masquer
Добрый день, Ramala!
Например, WM_MOUSEMOVE. А вообще их больше, конечно.
Ответ отправлен: 26.08.2003, 15:09
Отправитель: masquer
Отвечает Bob Johnson
Приветствую Вас, Ramala!
Тогда этому контролу посылается WM_MOUSEMOVE (когда она двигается). Если контрол что-либо переправит (relay) главному окну, то ему придет, иначе - нет.
Но ты можешь в message loop вставить проверку, что если идет сообщение WM_MOUSEMOVE и не главному окну, то перевести его координаты в координаты главного окна и послать главному окну другое сообщение.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 26.08.2003, 15:19
Отправитель: Bob Johnson
Отвечает Fantomas
Здравствуйте, Ramala!
Есть такая программа WinSpy.
Она поставляется в комплекте с MSVC++
Запусти ее и посмотри !!! Там ты увидишь не только
какое сообщение, но позицию курсора и hWnd и Dc и
все на свете !
Ответ отправлен: 26.08.2003, 19:00
Отправитель: Fantomas
Отвечает St
Привет, Ramala!
Может быть WM_MOUSEMOVE?
St
Ответ отправлен: 27.08.2003, 14:48
Отправитель: St
Вопрос № 4010 |
при написании ml.exe prog001.asm /AT выдает ошибку
masm : fatal error A1020: cannot find link.exe
MASM v 6.2 установил, установка прошла нормально.
WinXPen sp1
P4 1.7
RAM 328 mb
Вопрос отправлен: 26.08.2003, 14:52
Отправитель: Shagrath (vancouver@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Здравствуйте, Shagrath!
Ставь в пути.
Ответ отправлен: 27.08.2003, 02:15
Отправитель: Евгений Иванов
Отвечает dimka
Добрый день, Shagrath!
Твой фаил должен находиться в одной папке с Masm'ом(link,masm...)
Ответ отправлен: 29.08.2003, 10:20
Отправитель: dimka
Отвечает Ayl
Здравствуйте, Shagrath!
Пропиши в PATH каталог, где установлен MASM или скопируй свой файл в директорию с MASM'ом.
Ответ отправлен: 26.08.2003, 16:02
Отправитель: Ayl
Отвечает [L2]Max
Приветствую Вас, Shagrath!
У тебя в папке bin отсутствует линкер, попробуй заново поставить
Ответ отправлен: 27.08.2003, 05:16
Отправитель: [L2]Max
Отвечает _vt
Приветствую Вас, Shagrath!
Ну так он не находит файл link.exe который ему необходим... Можно поступить проще, но объясню как сделать, чтобы этого никогда не повторялось...
Нажимаешь WIN+Break, открываются свойства системы. Ищешь вкладку "Дополнительно" и там кнопочку "Переменные среды". Появится окно "Переменные среды" (могу немного ошибаться, может в ХР немного по другому называется, но суть не меняется)
Ищешь в переменных средах для текущего пользователя переменную PATH (если нет - создай!) и нажимаешь "изменить..." Если она уже была, увидишь список папок в которых ml.exe ищет link.exe. Если ты устанавливал MASM на диск С:, то допиши в список через точку с запятой
C:\MASM\BIN
Теперь закрывай все окна, связанные с переменными средами, и запускай ml.exe снова... Все должно работать, и теперь не надо копировать в папку с текстом программы файлы ml.exe и link.exe
---===*** Updated E-Man 1.5 - it's cool!***===---
Ответ отправлен: 27.08.2003, 01:03
Отправитель: _vt
Вопрос № 4011 |
Здравствуйте, эксперты !
Недавно я писал:
>Приветствую всех экспертов !
>Ну не вижу я ошибку и ВСЕ !!!
>Ну нет ее, понимаете все должно работать.
>После выполнения нижеприведенной программы
>в текствовом поле должна появиться цифра 3,
>т.к. 1 и 2 проскакивают быстро и их не реально
>заметить, а появляются вообще какие-то иероглифы.
>В чем же дело ?
Только для глаз _vt:
-----------------------------
?>чем ты это чудо компилил?
!>Turbo Assembler !!!
?>где в моей системе находится текстовое поле, чей хэндл ты мне предоставляешь в виде адреса?
!>Смысл был не в том, чтоб получить hWnd а в том, почему
программа работает не верно !!! Я задаю конкретный
вопрос, по конкретному участку программы. Может надо
было еще и Windows.inc вложить ??? :-)
?>если все остальное правильно, то объясни мне, как программа выйдет из цикла, вначале которого в стек пихается ecx(=0), в конце цикла он
оттуда забирается обратно в ecx(опять ecx=0!) и сравнивается с 4!! После чего разрешается выйти из цикла, если 0=4 ???
!>Так и выйдет ! Если в ecx будет 4 !
?>Диагноз: видимо, вредно для организма постоянное сидение ночью за компьютером... Только в 2:41 могут родится такие шедевры! :-)
!>Нет, раньше, т.к. в 2:41 я его уже отправил ! :-)
Только для глаз Broken Sword:
-----------------------------
?>это ты в WinSPY посмотрел? или в отладчике?
!>В WinSpy !
?>hWnd все время меняется,
!>А как это ??? А пчему он не один на все окна ???? =)
!>На самом деле я все это прекрастно понимаю, но и ты
!>меня пойми, зачем писать лишний код ? Кому интерестно
!>сидеть и разгребать чужой код ???
?>значит ищи ошибку здесь: push offset [dbEnumNumbers+ecx]
!>Не думаю, эта инструкция меня еще ни разу не подводила !
!>Я думаю, это все SendMessageA портит !
Только для глаз masquer:
-----------------------------
?>Почитай на досуге туториалы икзелиона, потому как долго объяснять - где там ошибка - весь код одна сплошная ошибка.
!>Почему это весь код одна сплошная ошибка ? Дожился,
что теперь код, который я писал своими собственными руками
называют один большой глюк. Обидно... :-)
Только для глаз dimka:
-----------------------------
?>pishi po-novoi!!
!>Спасибо, у тебя был самый содержательный ответ ! :-)
Только для глаз Евгения Иванова:
-----------------------------
?>Это не будет работать, как хотел.
?>push offset [dbEnumNumbers+ecx]
?>Нужно так:
?>lea edx, [dbEnumNumbers+ecx]
?>push edx
!>Спасибо, обязательно попробую, но это не выход !
!>Ведь это же не первый мой цикл, который считывает
!>из массива. Я же 100 раз использовал такой вариант
!>и все работало ! Здесь проблема в SendMessageA, вот
!>посмотри через SoftIce, происходит збой при втором
!>вызове этой функции, когда в ecx находится "2".
Только для глаз Bob Johnson:
--------------------------------
?>...б*я...
!>А это что значит ? "бля" ?
!>Боб, ты что был зол, когда отвечал на мой вопрос ? :-)
?>Да и откуда ты берешь hWnd в виде конкретного числа.
!>Это чтоб лишний код не посылать !!!!!!!
!>Спасибо, за код, попробую !
=======================================================
Спасибо за внимание !
Приложение:
Вопрос отправлен: 26.08.2003, 18:51
Отправитель: Fantomas
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Здравствуйте, Fantomas!
Используй SendDlgItemMessage.
И чего ты постоянно пытаешься сделать как-то наизнанку всё, когда есть
прямые пути!
Насчёт того, что писал _vt по поводу выхода:
Будет работать и он выйдет, потому что ниже идёт add ecx, 2
Теперь поговорим насчёт адресов (смещений):
push offset [dbEnumNumbers+ecx]
Что это ты написал и что имел в виду? :-)
Тебе нужно передать адрес = база+ecx; так?
Но команда push не может вычислить тебе сумму постоянного числа и регистра!
Я не проверял этот код путём Ассемблирования, но могу сказать, что
Ассемблер сделает что-то типа:
push offset dbEnumNumbers
и всё! Дальше по сути должно идти предупреждение (warning).
Посмотри повнимательнее в файл ошибок!
Так что не пытайся сделать невозможное и используй LEA сначала, а потом PUSH.
Бывай!
Ответ отправлен: 27.08.2003, 01:56
Отправитель: Евгений Иванов
Отвечает Bob Johnson
Доброе время суток, Fantomas!
> !>Боб, ты что был зол, когда отвечал на мой вопрос ? :-)
Нет, я просто охренел от команды, которой нет в процессоре и которую при этом компилирует тасм...
> ?>значит ищи ошибку здесь: push offset [dbEnumNumbers+ecx] !>Не думаю, эта инструкция меня еще ни разу не подводила !
Нет такой команды!!! Можно сделать push только значение регистра, число (но конкретное) или содержимого ячейки памяти. Но сделать push суммы числа с регистром нельзя!
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 26.08.2003, 19:15
Отправитель: Bob Johnson
Отвечает Hangatyr
Здравствуйте, Fantomas!
Несмотря на то, что этот секретный текст не предназначался для моих глаз, я все же не мог оставить такую ересь, как
"push offset [dbEnumNumbers+ecx]" без комментария.
Ни один нормальный ассемблер при всем желании ассеблировать это не сможет, потому что push offset some_label заменяется push value, а значение ecx не известно заранее. Я даже не смог понять, что именно вы хотите от этого кода. Надо бы хоть sleep добавить, чтоб видно было...
Приложение:
Ответ отправлен: 26.08.2003, 19:55
Отправитель: Hangatyr
Отвечает _vt
Приветствую Вас, Fantomas!
> Turbo Assembler !!!
Вот именно Turbo Assembler ругается на строку
push offset [dbEnumNumbers+ecx]
он ее не понимает!!! Может у тебя какой-то особенный Turbo Assembler? У меня версии 5.0...
> Смысл был не в том, чтоб получить hWnd а в том, почему программа работает не верно !!! Я задаю конкретный вопрос, по конкретному участку программы
Так я тебе конкретно ответил, она не выйдет из цикла: ты вначале сохраняешь в стеке ecx, который ты предварительно очищаешь, а перед сравнением с 4 восстанавливаешь ecx. Так как 4 никогда не будет равно 0, то твоя программа уйдет в вечный цикл...
И немного влезу в твой ответ "для глаз" другого эксперта:
> Дожился, что теперь код, который я писал своими собственными руками называют один большой глюк. Обидно... :-)
Вообще-то не должно быть обидно... Тебе же не сказали, что ты его откуда-то выдрал - он честно твой и на данный момент представляет один большой глюк... :-)
---===*** Updated E-Man 1.5 - it's cool!***===---
Ответ отправлен: 27.08.2003, 01:03
Отправитель: _vt
Вопрос № 4012 |
Здравствуйте! Я тут использую ftp.exe микрософтовскую чтобы аплодить файлы на ftp. Она работает в коммандной строке - но блин тормозит то как!!! Почему так получается что если зайти нa narod.ru и грузить файло через их html форму, то получается очень быстро - а так... ведь в консоле быстрей должно быть.... маразм.
Может кто подскажет где искать проблему?
Вопрос отправлен: 26.08.2003, 21:18
Отправитель: Эдик Самосвал0в (edsam@spidernet.com.cy)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Добрый день, Эдик Самосвал0в!
А ты попробуй другого ftp клиента, например того, который встроен в far, windows commander, в explorer, в конце концов. Возможно просто дело не в ftp.exe, а в твоем соединении с интернетом. У меня сейчас, например, файл ко мне идет со скростью 4 - 5 кб/с, а от меня - в среднем 500 байт в секунду! И дело тут вовсе не в ftp клиенте, а в подключении к интернету (у меня сейчас GPRS).
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 27.08.2003, 14:17
Отправитель: Bob Johnson
Отвечает wolf_2k
Доброе время суток, Эдик Самосвал0в!
не используй ничего от мелкомягких у них всё тормозное даже директ Х недоработан во всех версиях есть ошибка на переполнение при наложении текстуры поставь себе CuteFtp
или TotalCommander не пожалеешь особенно насчёт первого.
Ответ отправлен: 29.08.2003, 05:29
Отправитель: wolf_2k
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (38) C / C++ (31) Perl (5) Builder / Delphi (19) Pascal (26) Basic / VBA (8) Java / JavaScript (8) PHP (10) Криптография (9) WinAPI (16) |
Пользователю Windows 95/98/Me (48) Windows NT/2000/XP (64) "Железо" (43) Поиск информации (24) |
Администратору Windows NT/2000/XP (32) Linux / Unix (12) |
Юристу Гражданское право (11) Семейное право (7) Трудовое право (7) КоАП (6) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||