Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

CubeIDE как ходить по дизассемблеру?

Вс мар 14, 2021 14:16:36

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

Изображение

Re: CubeIDE как ходить по дизассемблеру?

Вс мар 14, 2021 16:10:08

извини - за навигацию не скажу, в кубе дальше вариантов по ногам не ходил.
а на такой листинг смотреть ну очень печально :(

Re: CubeIDE как ходить по дизассемблеру?

Вс мар 14, 2021 16:37:47

на такой листинг смотреть ну очень печально :(

Так это просто проверка. Было интересно как ведет себя компилятор при одиночном копировании, через memcpy, и с каких адресов он берет данные, при const массиве и при обычном. И как влияет static при определении массива глобально и локально :shock:

Re: CubeIDE как ходить по дизассемблеру?

Вс мар 14, 2021 16:59:45

я "впечатлен" работой именно компилятора.
только что обращался к соседнему байту - и надо ж, заново формирует адрес.
впрочем, если оптимизация выключена, наверно, так и надо.

Re: CubeIDE как ходить по дизассемблеру?

Вс мар 14, 2021 17:20:55

я "впечатлен" работой именно компилятора

Все никак не мог понять, куда деваются массивы-) Наверное это оптимизация. Если копируешь всего пару байт из const массива, то компилятор вообще не размещает массив во флеше.

Чем отличаются вкладки Debugging и Optimization?
Изображение Изображение

Re: CubeIDE как ходить по дизассемблеру?

Вс мар 14, 2021 17:32:04

... всего пару байт из const массива,..
а зачем ему создавать лишние сущности. пару констант он и по ходу дела в нужные места может поставить.

Re: CubeIDE как ходить по дизассемблеру?

Вс мар 14, 2021 20:53:08

compote писал(а):Чем отличаются вкладки Debugging и Optimization?
Разве не видно?
На первой задается уровень детализации отладочных данных, а не второй уровень оптимизации при компиляции.
Изучайте https://gcc.gnu.org/onlinedocs/gcc/Debu ... ng-Options
https://gcc.gnu.org/onlinedocs/gcc/Opti ... ze-Options

compote писал(а):И как влияет static при определении массива глобально и локально
Давайте я поищу за вас! http://www.c-cpp.ru/books/staticheskie- ... peremennye
https://coderoad.ru/572547/Что-означает-static-в-C

Re: CubeIDE как ходить по дизассемблеру?

Пн мар 15, 2021 00:28:47

На первой задается уровень детализации отладочных данных, а не второй уровень оптимизации при компиляции

Спасибо за ссылки, ознакомлюсь!

Давайте я поищу за вас!

Уже нашел, привёл в пример, что изучил этот вопрос еще и на практике-) Спасибо, что не прошли мимо :beer:

Re: CubeIDE как ходить по дизассемблеру?

Пт янв 05, 2024 18:19:19

Камрады, а вот кстати связанный вопрос. Можно ли в КубеИДЕ получать более вменяемый дизанутый текст, нежели чем его стандартный .list-файл? В .list-файле мне не нравится, что там сопоставляется только вызов функции и код, а вот простой оператор Си (присвоение, инкремент и т.п.) что-то нигде я там не вижу, чтобы он сопоставлялся ассемблерным командам.
Ответить