Поиск:

Ответ в темуСоздание новой темы Создание опроса
> оптимизация... 
V
    Опции темы
586
Дата 22.2.2007, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 2
Всего: 146



Код
.386
.model flat, stdcall
option casemap:none
include user32.inc
includelib user32.lib

.code
start:
 push 0
 push 0
 push 0
 push 0
 call MessageBoxA
 sub esp, 10h
 call MessageBoxA
 ret
end start

Так оптимизировать можно? Нигде такого не видел.
PM   Вверх
W4FhLF
Дата 22.2.2007, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 1
Всего: 121



Ну а почему нет? MessageBoxA вызываются по стандарту stdcall, переданные параметры использует только чтения, стало быть никаких проблем возникнуть не должно. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
586
Дата 23.2.2007, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 2
Всего: 146



Цитата(W4FhLF @  22.2.2007,  22:44 Найти цитируемый пост)
Ну а почему нет? MessageBoxA вызываются по стандарту stdcall, переданные параметры использует только чтения, стало быть никаких проблем возникнуть не должно

Да, но я такой техники нигде не видел. Там все параметры передаются заново. А вдруг есть риск, что данные пострадают, например, произойдет какое-нибудь прерывание. Интересно мнение специалистов.
PM   Вверх
W4FhLF
Дата 23.2.2007, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 1
Всего: 121



Цитата(586 @  23.2.2007,  00:19 Найти цитируемый пост)
 например, произойдет какое-нибудь прерывание. Интересно мнение специалистов.


Может исключение? Если оно произошло то или у тебя программе ошибка, или это новая бага в виндеsmile В остальном, что бы там ни произошло по соглашению stdcall API функция обязана вернуть стек на местоsmile



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
dumb
Дата 23.2.2007, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 7
Всего: 158



Цитата(W4FhLF @  22.2.2007,  22:44 Найти цитируемый пост)
переданные параметры использует только чтения


586, т.е. для каждой конкретной функции необходимо проверять, не "портит" ли она параметры. никаких других опасностей тут нет.
PM MAIL   Вверх
Hovl
Дата 25.2.2007, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 25.2.2007

Репутация: нет
Всего: нет



Код

.386
.model flat, stdcall
option casemap:none
include user32.inc
includelib user32.lib

.code
start:
 xor eax,eax
 push eax
 push eax
 push eax
 push eax
 call MessageBoxA
 sub esp, 10h
 call MessageBoxA
 ret
end start


Прерывания защищены и не изменяют регистры - так что работать обязано + оптимизация по размеру кода.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0455 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.