![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 04.06.2010
Сообщений: 212
|
![]()
offset это оператор ассемблера по этому он не выполняется программой или процессором, а на его место вставляется смещение его операнда, самим ассемблером.
в WINAPI надо использовать вместо него addr. А строку я бы в памяти разместил в виде последовательности байт Код:
Код:
мой сайт http://wanes101.16mb.com/myblog
Последний раз редактировалось Stilet; 25.08.2010 в 08:21. |
![]() |
![]() |
![]() |
#13 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
wanes101
бредовый код, при передаче строки через регистр не учитываете, что она должна быть в "зеркальном отражении" и stroca ничего не содержит и не описана Код:
|
![]() |
![]() |
![]() |
#14 | |
Форумчанин
Регистрация: 04.06.2010
Сообщений: 212
|
![]() Цитата:
.data не надо
мой сайт http://wanes101.16mb.com/myblog
Последний раз редактировалось wanes101; 23.08.2010 в 15:43. |
|
![]() |
![]() |
![]() |
#15 | |
₪₪₪₪₪₪₪₪
Форумчанин
Регистрация: 16.04.2007
Сообщений: 471
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 04.06.2010
Сообщений: 212
|
![]()
addr нужно применэять при использовании invoke и не только в winapi и в других случаях с использования invoke привызове любых других процедур если надо указать смещенние в одном из параметров.
мой сайт http://wanes101.16mb.com/myblog
Последний раз редактировалось wanes101; 23.08.2010 в 20:06. |
![]() |
![]() |
![]() |
#17 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
wanes101
прежде чем публиковать код проверяйте его, тем более я уже сказал где ваши ошибки при запуске Код:
дело в том, что после помещения строки в стек, вы отправляете туда два нуля и на последний ноль и будет указывать esp. Потом зачем отправлять в регистр eax куски строки, а затем отправлять в стек содержимое регистра, если можно сразу по четыре символа отправлять в стек push "!o"/push "lleh". Макрос addr name это lea eax,name /push eax что занимает 7 байт, а push offset name это 5 байт плюс при выводе MessageBox на экран значение в ESP оказалось некратно 4 что недопустимо Последний раз редактировалось Stilet; 25.08.2010 в 08:21. |
![]() |
![]() |
![]() |
#18 |
Пользователь
Регистрация: 25.08.2010
Сообщений: 12
|
![]()
О, вы извращенцы прям! Давайте и я поизвращаюсь:
push dword ptr 0 call @1 @1: .ascii "Заголовок\0" call @2 @2: .ascii "Текст\0" push dword ptr 0 call _MessageBoxA@16 |
![]() |
![]() |
![]() |
#19 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
MessageBox | Nice42ru | Общие вопросы Delphi | 6 | 04.06.2010 11:35 |
Как вывести символ в позиции 80,25 ? | sanya_m | Помощь студентам | 2 | 13.03.2010 02:10 |
MessageBox | mifka72 | Помощь студентам | 13 | 08.02.2010 14:46 |
Как вывести символ на экран в графическом режиме 0x13 | Viriat | Общие вопросы C/C++ | 2 | 30.12.2009 17:22 |
messageBox | Andrey174rus | Общие вопросы Delphi | 4 | 10.10.2009 17:45 |