Вопрос № 64256: Здравствуйте ! Что означает такая ошибка : 32-bit record encountered in module 123.asm...Вопрос № 64323: 1)Даже,если я использую макросы при ассемблировании 32-разрядных
приложений,их параметры заносятся в стек?A eсли отключить stdcall?
К чему я это:допустим я создаю свой макрос,который будет выводить
окно с текстом(аналог MessageBoxA),а тек...
Вопрос № 64.256
Здравствуйте ! Что означает такая ошибка : 32-bit record encountered in module 123.asm
Приложение:
Отправлен: 26.11.2006, 12:10
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: IceWolf
Здравствуйте, Whiteman!
Программа с исправлениями и их пояснениями в приложении, только поправьте пути к .inc и .lib файлам.
С уважением, IceW0|f.
Приложение:
--------- Идеальных защит не существует, ибо то, что создано человеческим разумом, им же будет и разрушено!
Ответ отправил: IceWolf (статус: 4-ый класс)
Ответ отправлен: 26.11.2006, 21:08
Вопрос № 64.323
1)Даже,если я использую макросы при ассемблировании 32-разрядных
приложений,их параметры заносятся в стек?A eсли отключить stdcall?
К чему я это:допустим я создаю свой макрос,который будет выводить
окно с текстом(аналог MessageBoxA),а текст храниться в Message
(Message db 'Message$').Я могу сделать так ,чтоб параметры не заносились в стек?
2)Что это команда делает :
Crypt_String byte 100h dup (00)
3)Немного отойду от темы:
Я в этом году поступил на факультет информатики.Ясное дело-проходим и математику.Так вот:наш учитель по дискретке(на мой взгляд) ни*** не знает и выражение типа
AND[OR(A,B),NOT(AND(A,B)) и т.д ] его приведёт в явный шок(он попросту не назовёт конечную ф-ую xor).Дайте линк
на какую-нить хорошую книжицу на эту тему для кодеров(желательно небольшую и понятную).
Ещё раз не по теме:Дайте линки и по мать. анализу и по анал. геометрии.А вообще,что ближе всего к кодингу?
Отправлен: 26.11.2006, 21:45
Вопрос задал: Xtreme (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Вiктор
Здравствуйте, Xtreme!
MessageBox - эта функция ожидает что ей передаются параметры в стеке. Вообще, WIN32API-функции используют соглашение stdcall, так что если хотите их использовать, то давайте им то, что они хотят и где они хотят.
"допустим я создаю свой макрос, который будет выводить
окно с текстом" - это значит что вы или будете использовать какую-нибудь функцию WIN32API для создания окна (createwindow, createwindowex), которым всё же придётся передавать параметры, или как-то действовать в обход операционной системы (и вам вряд-ли удастся сделать это проще, чем MessageBox, да ещё и не используя стек).
Р.S. Можно создать "обёртку" - процедуру, которая берёт значение переменной Message и передаёт её процедуре MessageBox, при этом для вызова такой обёрточной процедуры не надо будет заполнять стек параметрами; но особого смысла в этом не вижу.
--------- ни дня без строчки (но не получается)
Ответ отправил: Вiктор (статус: 9-ый класс)
Ответ отправлен: 26.11.2006, 22:26
Отвечает: Волков Павел Юрьевич
Здравствуйте, Xtreme!
1)Вы пользуетесь функциями с соглашением STDCALL и для корректной работы надо придерживаться этого соглашения.
>Я могу сделать так ,чтоб параметры не заносились в стек?
Можете, найдите функцию принимающую параметры через стек, либо напишите свою.
2)Что это команда делает :
Crypt_String byte 100h dup (00)
Правильный синтаксис - Crypt_String byte 100h dup (0)
Строка говорит о создании (резервировании) байтового массива нулей, длиной 100h, с присвоением ему метки CryptString.
3)
Книжки скинул на ftp RUSFAQ'a:
логин - anonymous
пасс - rusfaq.ru
В папке - /books/math
(ftp://anonymous:rusfaq.ru@ftp.rusfaq.ru)
или через поисковик - http://www.poiskknig.ru/
--------- Век живи, век учись.
Ответ отправил: Волков Павел Юрьевич (статус: 9-ый класс)
Ответ отправлен: 27.11.2006, 07:56