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

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


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

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

Выпуск № 617
от 02.12.2006, 01:35

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


Вопрос № 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


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное