Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2015, 19:29   #1
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию Ассемблер в Delphi

Работаю на Delphi. Бывает, что при тестировании программы вылетает ошибка. при этом посреди экрана появляется небольшое окно, где построчно показан код, но не тот который я пишу, а на ассемблере. Обычно окно закрываю и начинаю в своём коде искать ошибку. Это, я так понял, Delphi переделывает с моего языка на низкоуровневый. А можно ли как-то просмотреть переделанный свой код на ассемблере, не делая специально ошибок?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 25.01.2015, 19:35   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ставь бряк, когда остановится View->Debug Windows->CPU или Ctrl+Alt+C
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.01.2015, 19:36   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да. Ставишь точку прерывания. Она срабатывает и ты в меню отладки открываешь окно ассемблера. При себе Делфи нет, так что точные координаты в меню не скажу, но ты там покопайся среди пунктов Watch или Debuging.

Оп... Земеля опередил )
I'm learning to live...

Последний раз редактировалось Stilet; 25.01.2015 в 19:39.
Stilet вне форума Ответить с цитированием
Старый 25.01.2015, 21:25   #4
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

ага, получилось. в окошке просматривается и угадывается моя программа, но можно ли использовать эти ассемблерные вставки в своей программе? и если можно, то будет ли программа работать быстрее?
я так понял, что выделенные жирным 104, 105, 106, 109 - это номера строк, а под ними - это их аналог, записанный на ассемблере?
Изображения
Тип файла: jpg Безымянный.jpg (117.2 Кб, 115 просмотров)
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 25.01.2015, 21:31   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
можно ли использовать эти ассемблерные вставки в своей программе?
Да, но желательно не в таком виде.
Цитата:
будет ли программа работать быстрее?
Нет, если написать кучу тормозного ассемблерного кода )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.01.2015, 21:39   #6
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

а почему тормозного? Delphi для чего-то же переводит мой код в этот ассемблер? наверное, так ему удобней и быстрей обрабатывать мою писанину?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 25.01.2015, 21:41   #7
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
наверное, так ему удобней и быстрей обрабатывать мою писанину?
Вернее только так он и может обрабатывать "вашу писанину"!
kta87 вне форума Ответить с цитированием
Старый 25.01.2015, 21:58   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
а почему тормозного? Delphi для чего-то же переводит мой код в этот ассемблер? наверное, так ему удобней и быстрей обрабатывать мою писанину?
Компилятор не сможет оптимизировать вами написанный ассемблерный код. Как напишите так и работает, и никак иначе.

А обычный код будет хорошо оптимизирован.
Человек_Борща вне форума Ответить с цитированием
Старый 25.01.2015, 22:04   #9
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

так вот если я теперь возьму и сделаю ассемблерную вставку в код Delphi - как раз из этого листа CPU - разве это не будет работать быстро? он же уже оптимизирован. или лучше не заморачиваться?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 25.01.2015 в 22:07.
NetSpace вне форума Ответить с цитированием
Старый 25.01.2015, 22:08   #10
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
так вот если я теперь возьму и сделаю ассемблерную вставку в код Delphi - как раз из этого листа CPU - разве это не будет работать быстро? он же уже оптимизирован. или лучше не заморачиваться?
Так он уже и работает. Зачем код, сгенерированный компилятором, копировать, чтобы на выходе получилось то же самое?
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ассемблер в Delphi, адрес переменной Obert Помощь студентам 7 12.06.2011 16:18
Ассемблер в Delphi Вячеславик Помощь студентам 3 11.05.2010 14:35
Компилирование проекта на Delphi в ассемблер Legat Общие вопросы Delphi 3 10.04.2009 16:07
Ассемблер в Delphi Roof Помощь студентам 7 21.12.2008 00:21