![]() |
|
|
![]()
|
|
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: нет Всего: 64 |
Есть проблемка в передаче локальной адреса локально переменной функции GetWindowRect(Использую TASM). Самого кода щас нет, но вот примерное его формирование:
Если переменную меняю на глобальную, то все ок. В чем может быть дело? -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 2 Всего: 112 |
Попробуй так:
lea eax, [REC] push eax т.к. локальные переменные находятся в стеке, и offset REC даст скорее всего смещение относительно esp... Не знаю точно... Вместо lea eax, [REC] скомпилится что-нибудь тиа: lea eax, [esp + $10] к примеру, и тогда можешь уже передавать этот адрсе GetWindowRect -------------------- С уважением, г-н Посол. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
p0s0l прав. Просто вызывать локальную переменную надо из сегмента стека:
override SS = DB 36h или использовать FAR-указатели: push SS push OFFSET REC -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: нет Всего: 64 |
Спасибо, попробую при первой возможности.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: нет Всего: 64 |
После 30 минут сборки\проверки\краха проги, сократил процедурину до:
Даже при таком раскладе генерица ошибка вызова фукции. Как коментирую LOCAL все работает. Наверное ето простой вопрос, но все же в чем дело? -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 7 Всего: 34 |
с тасмом не дружу сильно
на Fasm будет так
и все переменные /параметры фунуции через стек идут при компиляции получим push ebp mov ebp,esp mov eax,[ebp+4] не знаю поможет ли тебе это -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| <Spawn> |
|
||||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: нет Всего: 64 |
oleg1973Спасибо, но проблемы пока не решилась. Уже не занаю что делать. Заметил еще одну особенность: Если в функцию не передавать параметров, то объявление локальных переменных не вызывает ошибки:
При передаче параметров в функцию программа просто вылетает, с сообщением, что создан журнал ошибок.
Это сообщение отредактировал(а) <Spawn> - 4.11.2004, 19:08 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
||||
|
|||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 7 Всего: 34 |
masm32 v 8.2 все пашет -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: нет Всего: 64 |
Спасибо, с MASM-ом все заработало
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |