Sergei Frolov 0 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба Есть ли какой-нибудь анализатор исходного кода для AVR? Меня интересуют засечь неиспользуемые переменные (метки) в асме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба Есть ли какой-нибудь анализатор исходного кода для AVR? Меня интересуют засечь неиспользуемые переменные (метки) в асме. Сложная задача. Например, как засечь метку в команде ijmp или переменную в st y+,r16? Или я не о том? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sergei Frolov 0 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба С косвенными обращениями без явного использования имени - понятно. Но если у меня метки стоят в .DSEG и обозначены как label: .byte 1 то мне хочется видеть, использую ли я это имя дальше или нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_Pol 0 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба А в любом текстовом редакторе "Поиск", "Найти дальше"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба С косвенными обращениями без явного использования имени - понятно. Но если у меня метки стоят в .DSEG и обозначены как label: .byte 1 то мне хочется видеть, использую ли я это имя дальше или нет. А если метку закомментировать и пропустить сквозь транслятор, вроде бы он должен сказать, что такая-то метка не определена, значит, метка используется, если не ругнулся, значит - не используется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sergei Frolov 0 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба А если метку закомментировать и пропустить сквозь транслятор, вроде бы он должен сказать, что такая-то метка не определена, значит, метка используется, если не ругнулся, значит - не используется. Я сейчас так и делаю. Но у меня более четырехсот переменных. Очень напрягает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
muravei 3 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба Я сейчас так и делаю. Но у меня более четырехсот переменных. Очень напрягает. А почему бы ни написать смешную программку на ВБ, Делфи, и тд , которая получала бы весь список и сама находила невстречающиеся? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sergei Frolov 0 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба Придется, наверно. Но вряд ли это будет "смешная программка" или надежная, потому для гарантии придется делать свой ассемблер, иначе он будет пропускать, например, использованные части от меток или закомментированные команды label1: .byte 1 ... lds r16, label101 ; lds r16, label1 , считая, что они используются. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
muravei 3 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба придется делать свой ассемблер, иначе он будет пропускать, например, использованные части от меток или закомментированные команды Ну это , думаю, лишне, а некоторый интеллект не помешает. 1) меткой будет все до пробела 2) можно не искать в строке после ";" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба Придется, наверно. Но вряд ли это будет "смешная программка" или надежная, потому для гарантии придется делать свой ассемблер, иначе он будет пропускать, например, использованные части от меток или закомментированные команды label1: .byte 1 ... lds r16, label101 ; lds r16, label1 , считая, что они используются. Зачем ассемблер? И что он даст? Напишите простой текстовый процессор. Слегонца пропускаете все символы между точкой с запятой и концом строки (CR,LF), считая это комментарием. Любые метки и переменные между (CR,LF) и двоеточием помещаете в текстовый буфер и на втором проходе ищете совпадение каждой строки из текстового буфера с текстом программы, исключая комментарии. Нет совпадения - вывод на печать или в файл... А вот нельзя ли написать макрос для ворда? Тогда и писать ничего не надо, кроме макроса(:-). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sergei Frolov 0 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба Да я уже понял, что как всегда, придется все делать самому. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 38 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба Придется, наверно. Но вряд ли это будет "смешная программка" или надежная, потому для гарантии придется делать свой ассемблер, иначе он будет пропускать, например, использованные части от меток или закомментированные команды label1: .byte 1 ... lds r16, label101 ; lds r16, label1 , считая, что они используются. Что-то сложно у Вас выходит. Эта задача лекго решается написанием несложного скрипта на каком-нибуль хорошем интерпретируемом языке (я бы рекомендовал Python). Скрипт, реализующий нужную функциональность, по размеру займет примерно экран текста. На Питоне Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
beer_warrior 0 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба Есть такие Unix тулзы grep, sed и awk. В сущности и созданы для подобных операций.(поиск и замена регулярных выражений) Виндовские версии их существуют. Читать описание и применять. Хотя идея с Python тоже понравилась. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
muravei 3 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба А вот нельзя ли написать макрос для ворда? Тогда и писать ничего не надо, кроме макроса(:-). Можно, на ВБА. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stariy Alex 0 13 марта, 2007 Опубликовано 13 марта, 2007 (изменено) · Жалоба Может эта штука чего то даст. Дизассемблер 130 кб. Киров Вам знаком. --------------------------- Принцип работы отладчика прост: в нужном месте в отлаживаемую программу вставляется небольшая подпрограмма вывода байта в отладчик. Передача производится в последовательном коде по двум проводам, протокол обмена похож на стандартный интерфейс SPI. Отладчик быстро принимает этот байт и передает через COM порт в компьютер. Запущенная в компьютере программа выводит его на экран, что позволяет пользователю оперативно отслеживать содержимое нужных регистров в нужных местах программы в реальном режиме работы. http://ra4nal.qrz.ru/main/linc.html Изменено 13 марта, 2007 пользователем Stariy Alex Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться