Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Asm для Windows/Dos > Размер ASM вставки |
Автор: Madest 26.5.2006, 11:08 | ||
Как увеличить? Все что закомментировано - нужно, но даже если раскомментировать безобидную строку mov eax,1 - вылетает.
|
Автор: Exekutor 26.5.2006, 11:45 | ||
Неправильное использование регистров. Сюда может быть перемещено значение только из регистров общего назначения. |
Автор: Madest 26.5.2006, 12:05 | ||
то есть правильно так:
? Хотя другие фильтры работают нормально с неправильным использованием. А вот с этим фильтром с размером вставки как быть? |
Автор: Exekutor 26.5.2006, 13:46 |
А что ни так с размером? Добавлено @ 13:47 Строк чтоли мало? |
Автор: Madest 26.5.2006, 14:08 |
Новичок я в АСМе, но появилась твердая уверенность, что АСМ-вставки в VC6 как-то ограничены по размерам, т.к. расскомментирование хотя бы одной строки из примера приводит к вылету из программы. А с закомментированной частью (с 92 по 128 строку) она не вылетает, но естесственно не делает то, что я хочу ![]() Вылетает именно из-за размера, т.к. если даже раскомментировать безобидную строку 91: mov eax,1 - вылетает. |
Автор: Exekutor 27.5.2006, 08:09 |
Да не должны быть они ограничены по размерам. Хотя я не пользуюсь VC а предпочитаю программирования на чистом асме в TASM, я могу сказать почти наверняка что это ошибки твоей программы. Попробуй закомментировать другие строчки а эти раскомментировать. |
Автор: Madest 29.5.2006, 11:37 |
Пробовал конечно: комментировал середину, открывая то, что сейчас закомментировано - работает. Но размер и в прямь не причем: добавляю в начало или конец вставки бессмысленные строки невлиющие на ход программы - работает. Но если в середину - вылетает. Ведь если я добавлю после 90-й строки push ecx pop ecx или mov al,0 Ничего ж не должно случиться? а она при добавлении этих безобидных строк вылетает. ![]() В общем, спасибо, буду ковырять алгоритм сначала. |
Автор: РАЗДОЛБАЙ 28.6.2006, 17:02 |
Madest, попробуй pusha и popa ...у меня похожий глюк в асме случался когда контекст не сохраняешь или с регистрами не правильно работаешь ;начало pusha ....;твой код ;конец popa думаю просто VC никак не защищает контекст при входе в асм вставку .. |
Автор: 586 28.6.2006, 23:41 |
Loop не может прыгать больше, чем на 127 байт. |
Автор: 586 29.6.2006, 00:01 | ||
Из справочника по asm:
|