Пост N: 222
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 22.05.07 17:34. Заголовок: Редактор
Долго искал в сети хороший редактор для ПИКов, но так и не нашёл (может, плохо искал). Поэтому ничего другого не оставалось, как написать такую программу самостоятельно. Её можно скачать здесь. Эта программа написана на языке PureBasic 4.0 Вот что она умеет: Авто ввод пробелов таким образом, чтобы формировались нужные отступы (можно отключить в настройках). Если в начале строки однократно нажать на пробел, автоматически будет добавлено ещё 11. Примерно тоже будет при нажатии пробела после asm команды. Также после третьего авто пробела, будет добавлена ";" (точка с запятой) и включена русская раскладка клавиатуры (можно отключить в настройках).
Авто переключение раскладки клавиатуры (можно отключить в настройках). При запуске автоматически установится английская раскладка, когда будет нажата ";" (точка с запятой), раскладка станет русской, а после нажатия кнопки "Enter", раскладка снова станет английской.
Подсветка синтаксиса (можно отключить в настройках). Авто замена слов (можно отключить в настройках). В этой версии заменяться будут следующие слова: "PortA" , "PortB" , "PortC" , "OptionR" , "Status" , "IntCon" , "EECon1" , "EECon2","EEAdr" , "EEData" , "TrisA" , "TrisB" , "TrisC" , "IndF" , "Tmr0" , "Tmr1" , "Tmr2". Т.е. допустим, будет набрано на клавиатуре слово "portb", оно автоматически заменится на "PortB"
Авто сохранение файлов (можно отключить в настройках). Будет производиться авто сохранение в отдельный файл. Располагаться он будет там же где и основной и имя у него будет такое же, только в начале имени будет приставка " as_".
К сожалению, есть некоторые глюки. При включённой подсветке синтаксиса, очень медленно открываются большие файлы, особенно если включена авто замена слов.
Пост N: 78
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
1
Отправлено: 22.05.07 19:33. Заголовок: Re:
Скачал... Мне всё-таки кажется, что необходимо привязываться к самым последним версиям MPLAB, в которых есть подключение файлов #include. А в них воспринимается PORTA, PORTB, INTCON и т.д. Т.е. именно так. Нет возможности скопировать часть программного кода из другой "программы.asm". Копирование как таковое невозможно. Посмотрим, пощупаем... Спасибо!
Пост N: 223
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 22.05.07 21:26. Заголовок: Re:
RW1ZK пишет:
цитата:
необходимо привязываться к самым последним версиям MPLAB, в которых есть подключение файлов #include. А в них воспринимается PORTA, PORTB, INTCON и т.д. Т.е. именно так.
У меня MPLAB 5.70.40 Выбрал замену "portb" на "PortB" только исходя из того что так лучше смотрится. Если нужно, могу немного изменить прогу, чтобы portb заменялось на PORTB.
Пост N: 248
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
0
Фото:
Отправлено: 22.05.07 22:07. Заголовок: Re:
Пётр пишет:
цитата:
чтобы portb заменялось на PORTB
Да, лучше что бы так. Иначе все файлы .inc придется переписывать или отключать эту возможность. Во всех этих файлах регистры прописаны большими буквами. Я бы сказал еще что нибудь, но у меня закачка не идет, файл не найден, поэтому больше пока оценивать не могу.
Пост N: 79
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
1
Отправлено: 22.05.07 22:11. Заголовок: Re:
Пётр пишет:
цитата:
могу немного изменить прогу
Думаю, что так буде лучше. Надо привязаться к формату файлов .inc. Ещё один момент: не с первого раза получается правой кнопкой мыши выделить и скопировать текст в буфер обмена. Ещё момент: новые версии MPLAB всё равно не воспринимают регистры OPTION_REG, EECON1, EECON2. Они именно так и прописаны в .inc. Надо предусмотреть для них: OptionR, EECon1, EECon2 (IMHO).
Пост N: 250
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
0
Фото:
Отправлено: 22.05.07 22:28. Заголовок: Re:
RW1ZK пишет:
цитата:
новые версии MPLAB всё равно не воспринимают регистры OPTION_REG, EECON1, EECON2. Они именно так и прописаны в .inc. Надо предусмотреть для них: OptionR, EECon1, EECon2
Почему не воспринимают? Посмотрел рабочие исходники, OPTION_REG, EECON1, EECON2 именно так они в исходниках стоят, и все компилируется. другое дело сокращения сделать было бы вообще здорово, например pa=PORTA, opr=OPTION_REG, ee1=EECON1. Но программа все равно не качается.
Пост N: 80
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
1
Отправлено: 22.05.07 22:46. Заголовок: Re:
Моя MPLAB 7.51.00.00 на подобные "вольности" очень сильно ругается! Не нравятся ей OPTION_REG и вышеуказанные 2 регистра! Я не люблю хоть и "зелёные", но всё таки предупреждения....
Пост N: 224
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 23.05.07 10:28. Заголовок: Re:
Алексей пишет:
цитата:
Я бы сказал еще что нибудь, но у меня закачка не идет, файл не найден, поэтому больше пока оценивать не могу.
Залил сюда теперь должно скачиваться поскольку это не файлообменик.
Я хотел бы взглянуть на inc файлы из новых версий MPLABa. Интересуют только те что связаны со следующими ПИКами: PIC12F629, PIC12F675, PIC16F84A, PIC16F628A, PIC16F873. Если получится, сбросьте из на http://www.webfile.ru/
Алексей пишет:
цитата:
естественно pc должен заменяться на PORTC, а pcl ни в коем случае не должен меняться.
Это зделать будет уже сложнее, поскольку как только встретится в тексте "pc" тут же будет замененно на PORTC.
Пост N: 225
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 23.05.07 10:41. Заголовок: Re:
Только что попробовал скачать файл с http://webfile.ru/1416170 Качается! А вот со "Слила" мне ещё не удавалось скачать ни один файл. Моё мнение о файлообменниках такое
Пост N: 189
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
1
Награды:
Отправлено: 23.05.07 15:26. Заголовок: Re:
Пётр пишет:
цитата:
Это зделать будет уже сложнее, поскольку как только встретится в тексте "pc" тут же будет замененно на PORTC.
почему? Сделай сначала проверку на pcl, а потом на pc, т.е. вместо одной проверки - две или если слово имеет больше чем две буквы, то замену не производить. Я в Бейсике не силен, но на Клиппере (базы данных) это делалось элементарно.
Пост N: 226
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 23.05.07 16:49. Заголовок: Re:
Alberto пишет:
цитата:
Сделай сначала проверку на pcl, а потом на pc, т.е. вместо одной проверки - две или если слово имеет больше чем две буквы, то замену не производить.
Неполучится. Допустим, будет набранно "pc,1" т.е. "PORTC,1" и что тогда? А чтобы проверять наличие запятой придётся изменить алгоритм проверки. Можно применить другой способ, использовать так называемые "гарячие" клавиши. Допустим, будут нажаты кнопки Ctrl+F1, это добавит в текст слово PORT, останется указать какой именно порт (A, B или C), а если будет нажаты кнопки Ctrl+F2, будет добавленно в текст TRIS и т. д.
Alberto пишет:
цитата:
Я в Бейсике не силен
Это очень простой язык. Писать программы на нём не сложнее чем писать программу для ПИКа. Если интересно зайди сюда . Здесь мне помогали писать этот редактор.
Пост N: 254
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
0
Фото:
Отправлено: 23.05.07 19:43. Заголовок: Re:
Пётр пишет:
цитата:
Неполучится. Допустим, будет набранно "pc,1" т.е. "PORTC,1" и что тогда? А чтобы проверять наличие запятой придётся изменить алгоритм проверки.
Не согласен. Проверку можно сделать на ввод pcl, т.е. если ввели рс, то проверить если следующая буква будет l, то менять на PCL, если что то другое, не важно что, то менять сразу на PORTC.
В принципе заметил только 2 глюка: в строке sublw 3f,F А вместо точки с запятой вывелось А, когда писал __config 3ffc ; конфигурация тоже вместо точки с запятой вывелось только толи Заав толи 3аав, добиться повторения не получилось пока. И второй это наверное стоит перед комментарием выводить побольше пробелов, не хватает если использовать бинарные числа. Программа супер, тоже хочу поучаствовать в ее доводке до зеркального блеска. Чуть не забыл, F и W тоже можно на автозамену поставить и дополнительно сделать подсветку регистров специального назначения и чисел бин, дек, хекс как в лабе.
Пост N: 227
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 23.05.07 20:20. Заголовок: Re:
Алексей пишет:
цитата:
Проверку можно сделать на ввод pcl, т.е. если ввели рс, то проверить если следующая буква будет l, то менять на PCL, если что то другое, не важно что, то менять сразу на PORTC.
Алгоритм проверки получится очень сложным. Проце будет если сделать следующим образом: Проверять есть ли после "рс" запятая. Если есть, значит заменить на PORTC. Также нужно будет выполнять проверку в начале строки примерно до 4 символа. Если там будет обнаруженно подобное сокращение, а после него пробел, значить также нужно провести замену.
Теперь все такие слова в тексте будут заменяться на аналогичные только написанные большими буквами. Например InTcon или intcon будет заменено на INTCON. Это очень полезно если требуется привести чужую программу в "нормальный" вид.
Пост N: 229
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 23.05.07 20:47. Заголовок: Re:
Алексей пишет:
цитата:
в строке sublw 3f,F А вместо точки с запятой вывелось А,
Пока я такого не замечал.
Алексей пишет:
цитата:
наверное стоит перед комментарием выводить побольше пробелов, не хватает если использовать бинарные числа
Вы наверное имеете в виду Авто отступы. Добавлю ещё 4 пробела, должно хватить.
Да кстати забыл сказать. Открывать файл можно не только обычным способом, но можно просто мыщью натащить файл на открытое окно редактора или на саму программу.
Алексей пишет:
цитата:
Чуть не забыл, F и W тоже можно на автозамену поставить и дополнительно сделать подсветку регистров специального назначения и чисел бин, дек, хекс как в лабе.
Всё сделаем только не сразу. На данный момент в исходнике 1917 строк кода, и потратил на это почти месяц.
Теперь о глюках. С помощью этого редактора не стоит открывать большие файлы, например, "калькулятор Игоря Батова". Открыватся будет долго (если включена подсветка синтаксиса) и редактировать его не получится. Связано это с одной из процедур в программе. Сейчас решаю эту проблему.
Хотел ещё на http://ifolder.ru/ залить, но не получилось, ошибка 403. Если кто не сможет скачать, пишите, отправлю архив на почтовик.
Теперь о главном. В архиве файл AsmEditor, который обновился до версии 1.1 В нём появились следующие возможности: Все регистры спец. назначения (их список приведён выше) будут отображаться с большёй буквы и окрашиваться в розовый цвет (цвет можно поменять в настройках). Если при первом запуске редактора эти регистры не окрашиваются, нужно будет в настройках выбрать для них нужный цвет.
Пост N: 250
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 15.06.07 16:27. Заголовок: Re:
AsmEditor обновился до версии 1.2 Появилась возможность форматировать текст. Для этого, после открытия файла, следует в меню "Инструменты" выбрать пункт "Отступы". В открывшемся окне нужно выбрать необходимую длину отступов, а затем нажать на кнопку "Ок".
Пост N: 29
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
0
Отправлено: 15.06.07 17:06. Заголовок: Re:
При рассылке 1-й список рассылки был забракован, поэтому я поместил программу на сайте. Координаты скрытой ссылки: 12 раздел "Cамоучителя...", подчеркнутое слово обязательная. Ссылка на букве о. Это слово чуть выше слова работы, на котором установлена ссылка на программу Дмитрия.
Пост N: 252
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 16.06.07 19:17. Заголовок: Re:
Ну как, глюков нет?
Спрашиваю потому что собираюсь дальше модифицировать редактор. Планирую, добавить возможность более комфортно работать со словом конфигурации. Добавлю также конвертер текста для HD44780. Постараюсь сделать "справку".
Пост N: 260
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 22.06.07 17:04. Заголовок: Re:
AsmEditor обновлён до версии 1.8 Были произведены следующие изменения: Добавлена поддержка псевдо-инструкций. Немного изменён внешний вид окна "Настройки" Добавлен инструмент "Конвертер для HD44780, внешний вид которого показан на рисунке.
Работать с ним очень просто. Сначала следует поместить текст в редактор нажав на кнопку "Открыть TXT файл" или скопировав его через буфер обмена или можно этот текст набрать на клавиатуре. Затем, можно сохранить этот текст нажав на кнопку "Сохранить в формате TXT". Если же требуется преобразовать текст в формат DT xxH, xxH... следует нажать на кнопку "Сохранить в формате Asm" для того чтобы записать информацию в файл. Для того чтобы добавить преобразованный текст в виде DT xxH, xxH... и основное окно AsmEditor'а, следует нажать на кнопку "Вставить в текст". Если в двух последних случаях будет отмечен пункт "Добавлять не преобразованный текст в комментарий" этот текст будет добавлен также и в комментарий. Если будет нажата кнопка "Сохранить в формате BIN" преобразованый текст будет сохранён в бинарном виде.
Пост N: 14
Зарегистрирован: 28.12.06
Откуда: Россия, Ачинск Красноярского кр
Рейтинг:
0
Отправлено: 22.10.07 16:51. Заголовок: Re:
Пользуюсь программой AsmEditor .Очень нравится .Однако думаю было бы здорово в меню ПРАВКА добавить функцию "Найти" и "Найти и заменить".Эти функции удобны при поиске нужных регистров и переменных в тексте программы, а так же их замены при смене названий в "шапке".К сожалению до PureBasic руки пока не доходят, но самоучитель аккуратно складываю до лучших времён.
Пост N: 432
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 17.11.07 20:18. Заголовок: Я как раз сейчас пол..
Я как раз сейчас полностью переделываю прогу. Использую другой редактор текста, в котором есть встроеная поддержка подсветки синтаксиса ( подсвечивает 5000 строк за долю секунды ). На данный момент только подсвечивается синтаксис и работают отступы. http://purik.nextmail.ru/PicAsmEditor.rar Каково Ваше мнение о новом редакторе
Почему-то не работают "Настройки", автотабуляция , было-бы здорово от старого редактора перенести автоустановку точки с запятой (перед примечаниями) и автопереключение раскладки клавиатуры (рус-лат)
Почему-то не работают "Настройки", автотабуляция...
Это я экспериментировал, временно перебросил автотабуляцию на кнопку "Tab" чтобы посмотреть как работать будет, да и забыл вернуть на "пробел". Окно "Настройки" пока пустое. Что касается остального, то это не глюк, просто программа на стадии разработки и ещё не всё "прикрутил" к ней. Как я уже упоминал раньше, был использован другой редактор текста (тот же что и в проге PureBasic), поэтому приходиться писать программу с нуля, поскольку работа с этим редактором в корне отличается от предыдущего.
Пост N: 21
Зарегистрирован: 28.12.06
Откуда: Россия, Ачинск Красноярского кр
Рейтинг:
0
Отправлено: 09.12.07 09:01. Заголовок: Пётр пишет: Обновил..
Пётр пишет:
цитата:
Обновил прогу
Получилось очень хорошо и удобно, (спасибо за клавишу "табуляция") Обнаружил небольшое неудобство. При переходе на другую программу, например при установлении текущего окна Windows Acrobat Reader и возврате в редактор теряется курсор и текущая строка.
Добавил сортировщик текста. В окне "Найти/Заменить" появился пункт "Не искать в комментариях". Добавил возможность изменять цвет фона редактора. Добавил свёртку текста. Начало свёртки обозначается букво-сочетанием ;+ а конец ;- При этом возле поля авто нумерации появится маленькая кнопочка, позволяющая свернуть отмеценую часть текста. В архив вложил пример, с символами свёртки текста.
Makey пишет:
цитата:
возврате в редактор теряется курсор и текущая строка
Пост N: 476
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 27.12.07 12:57. Заголовок: Новая версия програм..
Новая версия программы PicAsmEditor_v2.0 Произвёл следующие изменения: Свёртка начинается с символов ;+/ а заканчивается символами ;-/
Добавил пункт "Недавние файлы" в меню "Файл". Появилась возможность видеть пробелы (в виде точек) и TABы (в виде стрелок). Эту возможность можно отключить в настройках сняв галочку в пункте"Отображать пробелы в виде точек". Принудительно включена кодировка 1251, что должно гарантировать правильное отображение кириллицы, даже на Винде не поддерживающей её, но только при условии наличия кириллических шрифтов. Добавил подсветку битов регистров. Появилось окно "О программе". В меню "Правка" и в контекстном меню появился пункт "Выделеный текст". Устранил пару глюков.
Теперь о не самом приятном. Пря правильного сохранения настроек в Виндах, не поддеоживающих Русские буквы, пришлось переделать подпрограммы чтения и сохранения настроек, поэтому текущие настройки будут заменены настройками по умолчанию.
Отправлено: 13.01.08 16:19. Заголовок: Пётр пишет: Как тол..
Пётр пишет:
цитата:
Как только появится больше свободного времени
Петр, Редактор получился очень хорош. Подобный есть для AVRов (WinAVR), для ПИКов не встречал. Загрузил первую попавшуюся программу.У-ты! Все четко, ровненько, разным цветом(отличная наглядность). Чтото начинает заинтриговывать Ваш PureBacic. Я тут знакомлюсь с microC(в нем Help на русском). Хочу спросить о дальнейшем развитии Вашего Редактора? В плане стратегии(как потенциальный пользователь) В тактике все ясно (судя по ответам, отладка идет довольно оперативно).Тут одна мыслишка появилась. Может она у Вас уже в плане стоит...
Пост N: 500
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 13.01.08 17:31. Заголовок: На данный момент про..
На данный момент произвожу значительные изменения редактора. Когда закончу, появятся следующие возможности:
1) Запонинаться позиция курсора
2) Запоминатся состояния маркеров свёртки (свёрнуто либо развёрнуто)
3) Запоминаться текущий тип контроллера и отображаться в выпадающем списке
4) Ключевые слова, директивы имена регистров и т. д. будут подсвечиватся только для выбраного типа контроллера, данные о которых будут хранится в отдельных файлах. Это позволит добавлять описания контроллеров не внося никаких изменений в программу
5) Для ассемблерных инструкций, директив регистров и т. д. будут выводится подсказки об их назначении. Эти данные будут хранится во внешних файлах и их (данные) можно будет легко изменить без менений программы.
Возможно сделаю инсталлятор, поскольку программа будет состоять из нескольких файлов. Вот некоторые функции редактора, которые он сейчас имеет, но я забыл их упомянуть Файлы можно открывать следующим образом: можно выделить несколько файлов мышкой, а затем просто их перетацить на открытое окно редактора. Они будут открыты на отдельных закладках. Перетаскиавать стоит только файлы с расширением asm txt inc остальные будут проигнорированы. Если в окне "О программе" счёлкнуть мышкой по микросхеме то произойдёт... впрочим сами увидите
Привык пользоваться табуляцией в MP-Lab, так чтб в тексте была именно табуляция. Здесь же - пробелы. Было бы неплохо, если бы был режим табуляции, идентичный MpLab. А вообще классно выглядит
Пост N: 6
Зарегистрирован: 13.12.07
Откуда: г.Макеевка
Рейтинг:
0
Отправлено: 15.01.08 18:06. Заголовок: А мысль вот какая. С..
А мысль вот какая. Смысл редактора в чем?-Редактировать текст(и все что с этим связано...) и в конечном итоге этот текст превращается в hex. файл и зашивается в МК. После набора текста программы(или копирования), его редактирования... ,он отправляется в MPLAB для компиляции, исправления ошибок и т.д... Но так как без ошибок не получается сразу, то нужно предыдущие операции повторять снова и снова... Так вот нельзя ли текст из редактора вставлять в MPLAB(заранее настроенный с выбранной папкой проекта) нажатием одной кнопки?(это может показаться уж слишком, и я много хочу), но это всего вопрос(ни к чему не обязывающий). С уважением Viktor_VK
Так вот нельзя ли текст из редактора вставлять в MPLAB(заранее настроенный с выбранной папкой проекта) нажатием одной кнопки
Это в смысле сохранять файл в определённую папку или помещать текст непосредствено в редактор MPLAB'а? Второй вариант несколько сложнее и единственый простой путь это после сохранения файла запускать MPLAB и помещать путь к файлу в командную строку если конечно MPLAB это поддерживает. Например версия 5.70.40 отказывается работать с командной строкой.
Пост N: 391
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
1
Фото:
Отправлено: 15.01.08 20:10. Заголовок: Viktor_VK самый прос..
Viktor_VK самый простой путь, просто открываете проект в лабе, так его оставляете открытым, открываете открытый в лабе асм файл в нужном редакторе. Творите с ним что хотите и сохраняете на диск. Потом просто активируете окно лаба, он сразу же спросит: файл изменился, перезагрузить его? Отвечаете да и будет вам счастье. Проверено не раз, как ни странно работает.
Пост N: 509
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 16.01.08 14:18. Заголовок: Пётр пишет: Когда з..
Пётр пишет:
цитата:
Когда закончу, появятся следующие возможности:
С двумя пунктами закончил, а вот с остальными посложнее. Нужно создавать большое количество файлов с описанием контроллеров, что само по сибе затруднительно и потребует много времени.
Пётр пишет:
цитата:
Принудительно включена кодировка 1251, что должно гарантировать правильное отображение кириллицы, даже на Винде не поддерживающей её, но только при условии наличия кириллических шрифтов.
Кто нибуть пробовал использовать редактор на Винде, не поддреживающей кириллицу? Если да, то как отображаются комментарии?
Пост N: 7
Зарегистрирован: 13.12.07
Откуда: г.Макеевка
Рейтинг:
0
Отправлено: 17.01.08 10:07. Заголовок: Алексей пишет: Vikt..
Алексей пишет:
цитата:
Viktor_VK самый простой путь, просто открываете проект в лабе, так его оставляете открытым, открываете открытый в лабе асм файл в нужном редакторе. Творите с ним что хотите и сохраняете на диск. Потом просто активируете окно лаба, он сразу же спросит: файл изменился, перезагрузить его? Отвечаете да и будет вам счастье. Проверено не раз, как ни странно работает.
Спасибо за подсказку Алексей. Попробовал - и получилось. Очень удобно работать. Хороший редактор. Вопрос можно считать закрытым.
А этот вопрос опять Петру. Пробовал в редакторе работать со шрифтами. Шрифт выбирается любой. Размер тоже. А вот "курсор" и "жирный" не получилось?
Пост N: 510
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 17.01.08 11:42. Заголовок: Viktor_VK пишет: А ..
Viktor_VK пишет:
цитата:
А вот "курсор" и "жирный" не получилось
Просто я в программу не добавил соответствующий код, добавлю.
PS Возможности редактора таковы что можно устанавливать не только шрифт и размер для всего редактора, но и для каждого стиля в отдельности. Это означает что можно например, ассемоблерные инструкции отображать одним шрифтом допустим с размером 8, а регистры другим шрифтом с размером 12 к примеру.
В качестве редактора был использован файл Scintilla.dll (SciLexer.dll ) который помещём внуть исполняемого файла PicAsmAditor.exe
Пост N: 515
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 22.01.08 19:39. Заголовок: Вот новая версия про..
Вот новая версия программы http://purik.nextmail.ru/AsmEditor/PicAsmEditor_v_2.04.rar Появилась возможность сохранять в исходниках данные о положении курсора, типе ПИКа и т. д. Теперь данные о ПИКах хранятся в файлах из папки Library. Появилась возможность вывода кратких подсказок в строке состояния, например, о назначении asm инструкции или директивы.
Чуть позже я добавлю файлы с описанием контроллеров.
Неплохим дополнениям был бы навигатор по предварительно выставленным меткам, как в PureBasic. Привык уже по программе одним щелчком находить то что нужно. При написании АСМ-а бы такую красоту
Пост N: 528
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 31.01.08 16:19. Заголовок: Новая версия програм..
Новая версия программы http://purik.nextmail.ru/AsmEditor/PicAsmEditor_2.05.rar Пявился внутрений буфер. Это что-то типа буфера обмена, только действует в пределах программы. Может быть полезен когда требуется что то скопировать не повредив содержимое буфера обмена.
Появилась возможность сохранять настройки программы (закладка "Разное" в настройках). Добавил несколько файлов с описанием контроллеров. Сделал меню в стиле Офиса 2003
И ещё много чего...
kaligraf пишет:
цитата:
Неплохим дополнениям был бы навигатор по предварительно выставленным меткам
Пётр, а можно добавить PIC16F877A, PIC18F252 и PIC18F452?
К сожалению я никогда не работал с этими контроллерами, даже даташита на них нет, плэтому мне будет трудно сделать для них нужные файлы. Если даташит ещё скачать можно, то для того чтобы составить подсказки требуется хоть какой-то опыт. Если хотите, можите сделать нужные файлы самостоятельно. В файлах с расширением paf (имя может быть любым) хранятся данные о ассемблерных инструкциях, директивах и псевдо инструкциях. Вот упрощёный вариант файла PicGeneral.paf
PsIns2_Name = Adddcf PsIns2_Help = ADDDCF f,d — Добавить бит 'DC' к регистру. Расшифровывается как BTFSC STATUS,1 : INCF f,d
Файл должен начинатся с секции [General] (квадратные скобки обязательны). Далее должна быть строка Type = General Потом следует секция [Asm] что означает - в ней расположены описания всех ассемблерных инструкций. Ключ Count указывает количество инструкций (может быть не более 200) Далее следуют ключи описывающие сами ниструкции, причём в середине ключа находится его порядковый номер, начиная с 1 Ключ AsmНОМЕР_Name должен содержать имя инструкции, а Ключ AsmНОМЕР_Help (необязательный и может отсутствовать) содержит подсказку для этой инструкции.
По такому же принципу создаются описания директив и псевдо инструкций.
В файлах с расширением pfr хранятся индивидуальные данные о каждом типе контроллера. При запуске программы она сканирует папку Library и добавляет в выпадающий список имена всех этих файлов. Вот упрощённая структура файла PIC16F84.pfr
[General_Data] Type = PicRegFile GeneralFile = PicGeneral.paf Accumulator_Name = W Accumulator_Address = 0 Accumulator_Help = Данные помещаются в аккумулятор Register_Name = F Register_Address = 1 Register_Help = Данные помещаются в регистр Reg = INDF TMR0 PCL STATUS ; Описание регистров [Indf] address = 0 help = INDF — Виртуальный регистр. Работает в паре с FSR и используется для косвенного обращения к регистрам CountBit = 0
[Pcl] address = 2 help = PCL — Младший байт регистра счетчика программ CountBit = 0
[Status] address = 3 help = Status — Регистр содержит флаги состояния АЛУ и причины сброса, биты выбора банков памяти CountBit = 8 Bit1_Name = IRP Bit1_address = 7 Bit1_help = IRP — Бит выбора банка памяти при косвенной адресации (STATUS) Bit2_Name = RP1 Bit2_address = 6 Bit2_help = RP1 — Бит выбора банка памяти (STATUS) Bit3_Name = RP0 Bit3_address = 5 Bit3_help = RP0 — Бит выбора банка памяти (STATUS) Bit4_Name = TO Bit4_address = 4 Bit4_help = TO — Флаг переполнения сторожевого таймера WDT (STATUS) Bit5_Name = PD Bit5_address = 3 Bit5_help = PD — Флаг включения питания (STATUS) Bit6_Name = Z Bit6_address = 2 Bit6_help = Z — Флаг нулевого результата (STATUS) Bit7_Name = DC Bit7_address = 1 Bit7_help = DC — Флаг десятичного переноса-заёма (STATUS) Bit8_Name = C Bit8_address = 0 Bit8_help = C — Флаг переноса-заёма (STATUS)
[Configuration Bits] CountBit = 2 Bit1_Name = _CP_ON Bit1_Data = 000F Bit1_help = _CP_ON — Бит защиты памяти программ установлен (CONFIG)
Bit2_Name = _CP_OFF Bit2_Data = 3FFF Bit2_help = _CP_OFF — Бит защиты памяти программ сброшен (CONFIG)
Файл должен начинатся с секции [General_Data] Далее следует строка Type = PicRegFile, обозначающая тип файла. Строка GeneralFile = PicGeneral.paf указывает на файл с описанием асемблерных инструкций директив и т. д. (рассматривался выше). Далее три строки описывают символ, обозначающий аккумулятор, а следующие 3 строки символ обозначающий регистр спец. назначения.
В ключе Reg нужно обозначить все регистры общего нахначения разделив их одним пробелом. Количество регистров не должно быть больше 90
Далее следуют секции с более подробным описанием регистров. Начинается секция и имени регистра, помещённого в квадратные скобки. Ключ address (может отсутствовать) сейчас программой не используется, он нужен для компилятора, который хочу сделать. Ключ help (может отсутствовать) должен содержать краткую подсказку. Ключ CountBit (может отсутствовать) должен содержать количество бит у регистра (не более 29) Если у регистра есть биты, то они описываются при помощи следующих ключей BitНОМЕР_Name имя бита BitНОМЕР_address (необязательный и может отсутствовать), сейчас не используется программой BitНОМЕР_Help (необязательный и может отсутствовать) подсказка, выводимая в строке состояния
Завершает файл секция [Configuration Bits] с описанием битов конфигурации.
Неплохим дополнениям был бы навигатор по предварительно выставленным меткам, как в PureBasic. Привык уже по программе одним щелчком находить то что нужно. При написании АСМ-а бы такую красоту
Сделал! Вчера отправил для рассылки, так что ждите.
Пост N: 108
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 08.02.08 14:40. Заголовок: Пётр пишет: Сделал!..
Пётр пишет:
цитата:
Сделал!
Здорово
Замеченный глюк - при изменении ширины навигатора - пропадает всё, что есть в окне. Потом восстанавливается. Неплохим вариантом показать/убрать навигатор было бы сделать как в "опере" - щелчёк мышью по краю окна. От себя могу сказать, что из-за наличия навигатора-при больших программах перейду на него. Дополнительное пожелание - сделать табуляцию как в MpLabe.
при изменении ширины навигатора - пропадает всё, что есть в окне. Потом восстанавливается
Об этом я знаю, но как с этим бороться пока не понял. Этим разделителем является SplitterGadget который автоматически изменяет размеры определённых гаджетов, в нашем случае панелей, причём как это происходит пока не ясно.
kaligraf пишет:
цитата:
Дополнительное пожелание - сделать табуляцию как в MpLabe
Я уже писал что табуляция "не дружит" с сортировщиком. Если она нужна только лишь для более быстрого перемешения по тексту с помощью кнопок со стелками, то можно просто отлавливать нажатия на эти кнопки и перемещать курсор к ближайшему слову (это как вариант).
Пост N: 109
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 09.02.08 01:08. Заголовок: Пётр пишет: Если он..
Пётр пишет:
цитата:
Если она нужна только лишь для более быстрого перемешения по тексту с помощью кнопок со стелками, то можно просто отлавливать нажатия на эти кнопки и перемещать курсор к ближайшему слову
Вполне сгодится - стрелки влево/вправо и галочка в настройках, включающая/выключаящая режим. Правда, если правее редактируемого слова что-то в строке будет, то с позиций в строке будет "уплывать", если конечно не придумать дополнительный контроль и фиксацию позиции начала слова в строке(при включенном режиме). Опять же придётся отслеживать чтоб редактируемое слово не наехало на следующее за ним
Пост N: 110
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 09.02.08 01:14. Заголовок: Пётр пишет: Этим ра..
Пётр пишет:
цитата:
Этим разделителем является SplitterGadget который автоматически изменяет размеры определённых гаджетов, в нашем случае панелей, причём как это происходит пока не ясно.
Не успевают панели перестроится. Загрузка компа наверное в этот момент приличная. Возможно задержка небольшая при событии нужна.(таймер может помочь)
Пост N: 397
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
1
Фото:
Отправлено: 09.02.08 09:58. Заголовок: Скачал я редактор, п..
Скачал я редактор, программа супер, но вот работает у меня не стабильно. Когда пытаюсь подправить текст в программе редактор просто слетает, вызвав ошибку с предложение отправить отчет в микрософт... Порой слетает сама по себе, а порой после ввода первой или второй буквы(если не слетела сама по себе, то после ввода второй буквы 100 процентов улетает), на пробелах пока не слетала. Кстати, а зачем перед метками ставить спец символы??? Мплаб ведь эти стороки будет комментировать, что создает громадные неудобства перед компиляцией и отладкой. Не проще ли было определять метки по другому, если в самой левой позиции курсора находится любая буква, значит это метка. Либо ориентироваться на пробел или точку с запятой. Ведь кроме меток и точки с запятой с пробелом в первой позиции ничего не может находиться, разве что в шапке программы, что легко обходится поиском первой директивы ORG 0x00 и последней END.
Возможно задержка небольшая при событии нужна.(таймер может помочь)
Нужна, только как её сделать, ведь за перестройку панелей отвечает функция SplitterGadget, единственное что можно сделать это добавить процедуру-обработчик событий с помощью API SetWindowLong_ только как в этой процедуре зделать задерхку пока незнаю, но что нибудь придумаю.
Алексей пишет:
цитата:
редактор просто слетает, вызвав ошибку...
У меня никогда такого не было А предыдущие версии нормально работают? Если хотите то можно узнать в чём причина. Для этого понадобится скачать программу PureBasic v4.10 (немногим больше 11Мб). Ссылки можно найти здесь http://pbasic.spb.ru/phpBB2/viewtopic.php?t=267 После установки программы, в её папку следует поместить библиотеку Droopy Library http://www.purebasicpower.de/downloads/DroopysLib_1.31.7_noinstaller.zip После распаковки архива, в нём следует найти файл Droopy_Ascii (у него нет расширения) , затем открыть папку с установленой программой PureBasic. В этой папке следует открыть папку PureLibraries а в ней папку UserLibraries. В неё следует скопировать выше указаный файл. Далее я вышлю на почту исходники и Вы запустите программу в среде PureBasic. В этом случае при возникновении ошибки уже не будет появлятся окно винды, а программу закроет отладчик и укажет номер строки где произошла ошибка, а также причину ошибки, тогда разобратся будет проще.
Алексей пишет:
цитата:
Кстати, а зачем перед метками ставить спец символы???
Имеются в виду на метки программы, а условные метки для навигации. В качестве такой метки может выступать любой комментарий со спец символами.
Пост N: 534
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 09.02.08 14:27. Заголовок: Нашёл причину ошибки..
Нашёл причину ошибки. Возникает она в процедуре сканирования текста на наличие условных меток в комментариях при попытке создать строку с нулевым количеством пробелов. Самое интересное в том что это происходит не во всех Asm файлах. Причина ясна, теперь устранить ошибку будет несложно.
Пост N: 111
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 09.02.08 20:13. Заголовок: Возможно задержка ..
цитата:
Возможно задержка небольшая при событии нужна.(таймер может помочь) Нужна, только как её сделать, ведь за перестройку панелей отвечает функция SplitterGadget
Можно поробовать WaitWindowEvent() отрабатывать только после дополнительной проверки таймера, чтобы обработка событий повторялась не чаще, чем, например 20 раз в секунду.
Смысла нет, поскольку эта функция возрващается ID события только после изменения размера, а нам требуется узнать об этом до изменения размера, т. е. перехватить событие, чтобы выполнить требуемые действия.
Пост N: 123
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 18.02.08 10:10. Заголовок: Последняя версия - у..
Последняя версия - уже нормально можно пользоваться. Навигатор - это вещь. Расставил дополнительные строки комментариев чуть выше самих меток такого вида: ; - start ; - proc1 ; - proc2 2000 строк программы как на ладони
Пост N: 539
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 18.02.08 12:06. Заголовок: Ну вот, в принципе з..
Ну вот, в принципе закончил писать эту прогу. Вроде все глюки отловил, но учитывая что прога состоит из 8300 строк, просто нереально проверить все сценарии работы за набольшой промежуток времени.
В текущей версии появилась возможность открючать меню в стиле Office 2003. Добавил опцию "Перенос по словам" (нужно в настройках включить), но учтите что это будет сильно тормозить работу редактора. В окне "Настройки программы" появилась закладка "Дополнительная панель". На этой закладке есть опция "Искать метки в фоновом режиме" если этот пункт активен, то метки навигации, отображаемые на дополнительной панели, будут искаться с помощью отдельного процесса. Это нужно чтобы программа не "тормозила" когда открыт исходник, содержащий несколько тысяч строк кода (например, калькулятор Игоря Батова). Поскольку в этом случае часть программы будет работать асинхронно с основной программой, то теоритически возможны сбои, хотя таковых пока не замечено.
Мне интересно, кто нибудь тестировал программу в операционных системах 95 или 98, а может быть в Висте, если да, тогда не глючит ли программа? Разработчики PureBasic утверждают что созданные с его помощью программы должны работать совместно с любой ОС из семейства Windows.
Ещё очень интересно как отображаются коментарии на Русском в ОС не поддерживающей Русский Я принудительно включил поддержку Русского в комментариях.
Пост N: 103
Зарегистрирован: 27.04.07
Откуда: Россия, Воркута
Рейтинг:
0
Фото:
Отправлено: 18.02.08 16:55. Заголовок: У меня не отображают..
У меня не отображаются метки, и с отступами не совсем сходится, если брать по умолчанию, то первый отступ получается через 11 пробелов. А так, глюков пока не проявилось.
Пост N: 541
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 18.02.08 18:50. Заголовок: Под метками имеется ..
Под метками имеется в виду не метки в самой программе, а метки для навигации по тексту. Такой меткой может служить коментарий со спец. символами. В рассылке есть пример.
Sergey Roslik пишет:
цитата:
отступ получается через 11 пробелов
Т. е. в настройках стоит 12, а в стоке состояние отображается 11?
А насчёт глюков, то они есть, уже прибил парочку, правда они не очень серёзные.
Кажется, становлюсь поклонником программы. Что у меня получается. С помощь PicDisasm перевел hex в asm, потом PicAsmEditor. Коррекция текста, перевод в нормальный для понимая вид очень оптимальна и быстра. Я имею в виду переименование регистров и меток в удобный вид. Есть такая функция заменить, то на то. Кстати, можно так - же заменить спец. регистры другого семейства пика на их нормальное название. Очень сильно ускоряется оформление. Песня. А потом в MPLAB и нормальная работа с уже понятным текстом.
Пост N: 134
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 21.02.08 21:07. Заголовок: Возникла касательно ..
Возникла касательно дальнейшего усовершенствования редактора одна мысль - пока правда достаточно расплывчато, но попытаюсь изложить.
Когда пишу программу на асме, то каждый новый блок начинаю с новыми переменными. Чтобы избежать конфликтов между подпрограммами. То есть чтобы одна подпрограмма не попортила регистры другой. Особенно такая вероятность возрастает при использовании прерываний.
По ходу написания проги количество переменных растёт. Часть используется в основном цикле - часть в программах прерывания.
Идея такая: - составить список меток переменных в куске кода(например внутри маркеров свёртки) - составить такой же список для другого куска кода - сравнить списки меток - если есть пересечения(одинаковые метки - выделить)
Метки переменных главного цикла не должны пересекаться с метками программ прерывания - при сравнении это возможно отследить.
Если есть несколько счётчиков в программах главного цикла, то для них можно использовать те-же самые регистры. Неплохо было бы проанализировать и освободить часть регистров, а часть использовать в нескольких подпрограммах(в "одном потоке программы")
То-же самое и для "потока" прерывания.
Как конечная цель - использовать минимум регистров и избежать пересечений переменных. Насколько такая возможность может быть полезной? Может быть удасться развить эту мысль до практического применения...
Пост N: 544
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 23.02.08 18:06. Заголовок: Идея очень хорошая, ..
Идея очень хорошая, только трудно реализуемая. Допустим, просканировали весь текст и составили список. Далее если нашли совпадения в блоках, то выделили их, например, волнистой линией как Ворд делает (если не ошибаюсь, редактор Scintilla это поддерживает). Наибольшие трудности могут возникнуть при логическом анализе текста. Нужно чтобы программа не поднимала лишний раз "тревогу", например, если одни и те же переменные "легально" используются в разных участках программы. Без логического анализа от этой опции толку будет мало, слишком часто врать будет.
Пост N: 135
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 23.02.08 20:27. Заголовок: Понятно что сырая по..
Понятно что сырая пока мысль. Может и не стоит - а то реализация трудна, а практическая польза неясно будет или нет. Обнаружил пару небольших глюков.
- при форматировании текста, если текст взят из MPLAB с символами табуляции, перед командами ставит как положено 12 пробелов, а вот перед командами определёнными в #DEFINE всего 2 пробела - при попытке нажать клавишу табуляции в конце файла есть 12 пробелов только один раз, на повторные нажатия TAB не реагирует
Думал ещё над тем как проще можно было бы режим табуляции осущетвить. Контролировать надо 4 кнопки: лево, право, TAB и "забой"( <-- ).
- TAB вставляет 12 пробелов - лево - переход к последнему символу слова, которое слева, если оно ближе чем через 12 пробелов или на 12 пробелов влево - право - переход к первому символу слова справа, если оно ближе, чем через 12 пробелов, или на 12 пробелов вправо - забой - стереть все пробелы до ближайшего слова слева, если оно ближе, чем через 12 пробелов, или стереть 12 пробелов
Внутри слов естественно все операции только в пределах одного символа.
при попытке нажать клавишу табуляции в конце файла есть 12 пробелов только один раз, на повторные нажатия TAB не реагирует
Для того чтобы кнопка TAB сработала повтороно нужно ввести 1 или более символов. Причём это не глюк.
kaligraf пишет:
цитата:
Думал ещё над тем как проще можно было бы режим табуляции осущетвить. Контролировать надо 4 кнопки: лево, право, TAB и "забой"( <-- ).
Ты это про "быстое" перемещение по тексту? Я пробовал что-то подобное осуществить, и это получалось, но проблемы были если нажимать на кнопки "вверх" и "вниз", в этом случае курсор перемещается на тот сумвол в следующей строке, где был курсор дл "быстой" табуляции. Если был бы только один редактор, то с этим в принципе ещё можно было справится, но многозакладочная структура сильно усложняет это. По этой причине пришлось отказатся, поскольку была нестабильная работа при переходе между закладками.
kaligraf пишет:
цитата:
при форматировании текста, если текст взят из MPLAB с символами табуляции, перед командами ставит как положено 12 пробелов, а вот перед командами определёнными в #DEFINE всего 2 пробела
А если повторно форматировать текст, обычно помогает.
Пост N: 136
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 24.02.08 15:06. Заголовок: Пётр пишет: Я пробо..
Пётр пишет:
цитата:
Я пробовал что-то подобное осуществить, и это получалось, но проблемы были если нажимать на кнопки "вверх" и "вниз", в этом случае курсор перемещается на тот сумвол в следующей строке, где был курсор дл "быстой" табуляции.
В MpLab в режиме табуляции курсор вообще не может находится в поле строки между словами. Он обязательно или внутри слова, или на краю слова. При перемещениях вверх вниз он в тех же границах слов или на краю слов. Вообще в Lab-е этот режим очень удобно сделан. Привык, понимаешь, трудно теперь от этого удобства отказаться
Пост N: 137
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 24.02.08 15:13. Заголовок: Пётр пишет: при фор..
Пётр пишет:
цитата:
при форматировании текста, если текст взят из MPLAB с символами табуляции, перед командами ставит как положено 12 пробелов, а вот перед командами определёнными в #DEFINE всего 2 пробела
А если повторно форматировать текст, обычно помогает.
Проверил только-что. Не помогло - так-же два пробела.
Проверил только-что. Не помогло - так-же два пробела.
Точно не помогает. И еще. Некоторые программы выводятся со стрелками и точками(вперемешку) вместо пробелов. Если стрелку удалить, то вместо нее можно ТАВом вставить точки. Это все вручную. Так и есть? В меню сказано только про точки(отображать или нет).
Про дополнительную панель. А можно ли ее отключать совсем, что б не выскакивала? Бывает, что временно не нужна. И как курсором на нее попадешь, так она выскакивает - отвлекает дюже. В стальном
Пост N: 138
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 24.02.08 18:45. Заголовок: Пётр пишет: Если м..
Пётр пишет:
цитата:
Если можно, сбрось мне на мейл исходник, в котором это происходит, буду разбираться.
Исходник у тебя уже есть - последний с программатром. Пробовал на нём - он сделан в Lab-е везде табуляция.
Насчёт панели навигатора - можно сделать кнопку вдоль всего правого края окна, шириной 2...4 пикселя и скрывать/показывать по щелчку на этой кнопке. В опере так управляется панель закладок - очень удобно. Или без кнопки отслеживать щелчёк мышой в этой области(если его конечно возможно отследить).
Пост N: 139
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 24.02.08 20:10. Заголовок: Пётр пишет: Точно, ..
Пётр пишет:
цитата:
Точно, глючит. Значит счас "прибъю" этот глюк!
Обрати внимание - перед словами, определёнными в #DEFINE везде два пробела - даже там где должен быть один. С позиций табуляции в этих местах смещается на один пробел правее. Это если между именем метки и таким словом оставлен один пробел(табуляция), то при форматировании добаляется ещё один.
Пост N: 553
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 25.02.08 18:39. Заголовок: После открытия окна ..
После открытия окна "Найти/Заменить", в поле "найти" помещаем слово, которое будем искать, т. е. Status. Далее ставим галку в пункте "Заменить". При этом будут активированы поле и две кнопки. В поле "Заменить" помещаем слово на которое следует заменить, в нашем случае STATUS. После чего нужно нажать на экранную кнопку "заменить всё". При этом все слова Status будут заменены на STATUS. Поиск слов начинается с текущей позиции курсора, так что если нужно заменить всё, следует поместить курсор в начало документа и выбрать направление поиска "Вниз" либо поместить курор в конец документа и указать направление поиска "Вверх". Если будет отмечен пункт "С учётом регистра" будут различатся при поиске/замене заглавные и строчные буквы. Пункт "Слово целиком" позволит производить поиск только целого слова, т. е. если допустим задать поиск слова mov то будет искатся только это слово, если в этом пункте галки нет, то будут найдены слова movlw, movwf, movf и т. д. Пункт "Не искать в комментариях" позволяет исключать из поиска/замены текст комментариев.
kaligraf пишет:
цитата:
командами ставит как положено 12 пробелов, а вот перед командами определёнными в #DEFINE всего 2 пробела
Разобрался. Так происходило потому что при сортировке сначала производился поиск asm инструкций и если после #DEFINE была инструкция, то эта директива считалась меткой со всеми вытекающими... Это исправил (сейчас прежде всего ищутся директивы), скоро разошлю новую версию редактора.
Пост N: 556
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 26.02.08 16:35. Заголовок: У меня появилась сле..
У меня появилась следующая идея: а что если при наведении курсора на переменнуцю, будет появлятся всплывающее окошко с её (переменной) именем, адресом и комментарием, т. е. будет отображатся стока объявления переменной. Это может здорово помощь в написании программ. Тоже хочу сделать для макросов и директив #define
Пост N: 143
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 27.02.08 05:08. Заголовок: Пётр пишет: Если по..
Пётр пишет:
цитата:
Если поместить курсор на переменную, по появляется всплывающее окошко.
Штука хорошая - только галочку отключения в настройках - на всякий случай, вдруг кому-то лишним покажется А дополнительную панель показать/спрятать - можно кнопку вывести на панель инструментов.
Пост N: 23
Зарегистрирован: 13.12.07
Откуда: г.Макеевка
Рейтинг:
0
Отправлено: 27.02.08 11:55. Заголовок: kaligraf пишет: А д..
kaligraf пишет: [quote]А дополнительную панель показать/спрятать - можно кнопку вывести на панель инструментов Вот это и нужно.
Я чего спрашивал по поводу найти-заменить. Эти операции проделывал в точности, но при нажатии на кнопку "заменить все", кнопка висла и ничего не происходило . Попытка закрыть окно приводила к вылету редактора. Но в конечном итоге разобрался почему так происходит. Если открыть любую программу и сразу пытаться редактировать "найти-заменить", то программа повиснет. Перед редактированием необходимо обязательно кликнуть на любую строчку и все будет работать Это что б редактор мог двигаться вверх-вниз(есть в опциях).
Может для забывчивых выводить сообщение: "Строка не выбрана"?
Пост N: 560
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 27.02.08 14:10. Заголовок: Редактор вис из-за о..
Редактор вис из-за ошибки в коде процедуры "Заменить всё". Там указывалось только первоначальная позиция слова, а вот позиции слоедующих слов не указывались, вот и получалась такая бяка. Вот закончу с выводом всплывающих подсказок и разошлю обновлённый вариант без этого глюка, а пока что лучше пользоватся кнопкой "Заменить".
kaligraf пишет:
цитата:
А дополнительную панель показать/спрятать - можно кнопку вывести на панель инструментов
Не всё так просто, этому мешает SplitterGadget (именно с его помощью можно изменять размеры панелей). Панели находятся под управлением этого гаджета, и если попробовать его отключить, то панели тоже исчезают. По этой причине, пока получается только с перезагрузкой редактора.
Пост N: 27
Зарегистрирован: 13.12.07
Откуда: г.Макеевка
Рейтинг:
0
Отправлено: 28.02.08 19:10. Заголовок: По доп.панели - я н..
По доп.панели - я не в курсе как работает SplitterGadget, просто выскажу свои соображения. Если SplitterGadget, задает размеры панели, то может можно задать такие(как вариант) маленькие, чтоб и видно не было Я сейчас пока работаю в вер.2.04 , это по настроению
то может можно задать такие(как вариант) маленькие, чтоб и видно не было
Что-то подобное происходит при скрытой дополнительной панели. Если полностью не заблокировать SplitterGadget, то он будет всё равно менять размеры панелей что может вылится в очень неприятый глюк, а заблокировав его, полностью потеряем управление над панелями. Так что пока всё это (полное отключение дополнительной панели) можно сделать только перезагрузкой редактора.
Пост N: 29
Зарегистрирован: 13.12.07
Откуда: г.Макеевка
Рейтинг:
0
Отправлено: 29.02.08 17:29. Заголовок: Пётр пишет: Если по..
Пётр пишет:
цитата:
Если полностью не заблокировать SplitterGadget, то он будет всё равно менять размеры панелей что может вылится в очень неприятый глюк, а заблокировав его, полностью потеряем управление над панелями
Ну нет-так нет. Это маленькое неудобство не портит общей картины. Я уже потихоньку приспосабливаюсь.
Пост N: 565
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 04.03.08 19:56. Заголовок: Текущая версия редак..
Текущая версия редактора 2.20
Удалось таки запрещать и разрешать отображение дополнительной панели без перезагрузки редактора. Это можно сделать с помощью кнопки (находиться возле выпадающего списка) на панели инструментов.
Добавлена возможность подсветки строк (типа DT "строка" ), при этом если нет закрывающей кавычки, комментарий будет окрашен в тот же цвет что и строка. Это не глюк, я специально так сделал.
Добавлена возможность перехода на последнюю строку. Причём запоминается строка только в том случае если её номер отличается более чем на 20.
Были добавлены "горячие клавиши" для некоторых пунктов меню.
Был добавлен инструмент "Просмоторщик переменных" (вызывается из меню "Инструменты"). С его помощью можно просмотреть данные из директив Equ, Set, Constant и др. Кроме того данные об этий директивах могут отображатся во всплывающем окне. Настроить вывод этого окна можно на закладке "Подсказки" окна "Настройки программы".
Индикатор прогресса подсветки синтаксиса был перенесён с панели инструментов в строку состояния. Индикатор будет появлятся на месте отображения данных о текущей закладке.
На закладке "Редактор" окна "Настройки программы" появился пункт "Посимвольные повтор/отмена последних действий".
В меню "Переход" появился пункт "Открыть папку с файлом", с помощью которого можно открыть папку, содержащую файл из текущей закладки.
Были исправлены некоторые ошибки и учтены советы из этой ветки.
Пост N: 601
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 21.03.08 15:58. Заголовок: Вот сейчас пишу прож..
Вот сейчас пишу прожку для ПИКа и понимаю что лвиная доля времени уходит на набор имён asm инструкций, директив, и т. д. Вот подумал, а что если присвоить каждому имени горяцие клавиши. Допустим, нажали на Alt+M и в текущей позиции курсора появилась инструкция movlw, нажали на Alt+A, а в тексте появилось addlw
Если идея понравилась, то предлагайте какие сочитания клавиш присвоить каждой инстукции.
Пост N: 562
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
2
Отправлено: 21.03.08 18:02. Заголовок: Мне кажется, что тог..
Мне кажется, что тогда львиная доля времени уйдёт на изучение и запоминание комбинаций клавиш. Три десятка с хвостиком команд и для каждой нужно запомнить кодовую комбинацию! А если ещё и директивы...
Пост N: 563
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
2
Отправлено: 21.03.08 18:23. Заголовок: Я тут вот о чём поду..
Я тут вот о чём подумал... Что если вместо кодовой комбинации клавиш сделать интерактивный ввод. Т.е. при наборе первой буквы команды, к примеру andwf, будет выскакивать подсказка с 4-мя вариантами команд на букву а (addlw, addwf, andlw, andwf) и щелчком мышки по нужному варианту выбираем команду. На букву b - 4 варианта (bcf, bsf, btfsc, btfss) и т.д. И нужно добавить возможность выбора команды не только мышкой, но и курсорными клавишами вверх - вниз, и ввод клавишей Enter, чтобы не перебрасывать руку с клавиатуры на мышку.
интерактивный ввод. Т.е. при наборе первой буквы команды...
Что-то типа этого?
В принципе редактор Scintilla.dll это поддрерживает (показан скрин этого редактора) и там как раз выбор слов осуществяется стрелками, а потверждение нажанием Enter или щелчком мышкой. Так что изобретать колесо не придётся, нужно только разобраться как задействовать эту опцию.
Пост N: 564
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
2
Отправлено: 21.03.08 20:21. Заголовок: Пётр пишет: Что-то ..
Пётр пишет:
цитата:
Что-то типа этого?
Да, конечно. Учитывая то, что команд на отдельно взятую букву немного, ниспадающий список будет небольшим. Выбирать команду из списка будет очень удобно и оперативно.
Учитывая то, что команд на отдельно взятую букву немного, ниспадающий список будет небольшим. Выбирать команду из списка будет очень удобно и оперативно.
Пост N: 611
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 23.03.08 19:58. Заголовок: RW1ZK пишет: будет ..
RW1ZK пишет:
цитата:
будет выскакивать подсказка с 4-мя вариантами команд на букву а (addlw, addwf, andlw, andwf) и щелчком мышки по нужному варианту выбираем команду
Добавил список авто завершения Ссылка
В архиве только исполняемый файл. Им следует заменить уже существующий. На данный момент в списке отображаются asm инструкции, псевдо инструкции, директивы и регистры. Возможности отключать вывод списка пока нет (позже сделаю). Есть какие-то замечания либо пожелания?
Пост N: 747
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 18.07.08 19:03. Заголовок: Я немного доработал ..
Я немного доработал редактор... Отправлять его в обменник как то не хочется - не хочю лишний раз Евгения Александровича беспокоить по пустякам. Если бы доработка была связана с ошибкой в программе, то естественно в обменник сбросил а так... В общем немного улучшил внешний вид. Добавил поддержку стиля меню "Офис 2000", "Офис XP" и "Офис 2003" Пока выкладываю скриншоты Если кого это заинтерисует - выложу пакет обновления.
Пост N: 331
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг:
0
Отправлено: 18.07.08 19:48. Заголовок: Хотелось бы иметь во..
Хотелось бы иметь возможность, управлять параметрами страницы. Это я говорю к тому, что в программе всё красиво и ровно, а как скопируешь в WORD, так бардак получается. WORD ограничен размером бумаги и полями. А в редакторе таких ограничений нет. Вот длинные комментарии и лезут на команды.
Пост N: 748
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 18.07.08 22:06. Заголовок: igor пишет: Это я г..
igor пишет:
цитата:
Это я говорю к тому, что в программе всё красиво и ровно, а как скопируешь в WORD, так бардак получается
Просто в Ворде по умолчанию устанолвлен не моноширинный шрифт. Пропробуйте установить шрифт Lucida Console и текст станет ровным.
igor пишет:
цитата:
WORD ограничен размером бумаги и полями. А в редакторе таких ограничений нет. Вот длинные комментарии и лезут на команды.
Как вариант можно сделать выделение части комментария, которая длинее заданого лимита. Например, если комментарий окажется длинее положенного, он будет подчёркнут красной волнистой линией (как в Ворде) или выделен каким то другим способом.
Пост N: 332
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг:
0
Отправлено: 19.07.08 07:25. Заголовок: А если часть коммент..
А если часть комментария, которая длинее заданого лимита, не выделять, а сразу автоматически переносить на другую строчку? Не нарушая при этом границы колонок. Так можно?
Пост N: 336
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг:
0
Отправлено: 19.07.08 12:55. Заголовок: Вот и хотелось бы, ч..
Вот и хотелось бы, чтобы этот перенос по словам, происходил в пределах столбца комментариев. В основном, именно неупорядоченные комментарии, мешают удобочитаемости текста. Или это трудно сделать?
Пост N: 750
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 19.07.08 13:31. Заголовок: igor пишет: Вот и х..
igor пишет:
цитата:
Вот и хотелось бы, чтобы этот перенос по словам, происходил в пределах столбца комментариев.
Честно говоря я что то понять не могу о чём Вы говорите! Нужно чтобы все комментарии переносились в новую строку или требуется переность текст если его длина превышает заданную?
Пост N: 751
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 19.07.08 18:17. Заголовок: А вот значит что был..
А вот значит что было нужно... Сделать можно, но думаю это следует выполнить в виде отдельного инструмента, при выборе которого будет считан весь текст из текущшей закладки. После чего в новом окне отобразится результат преобразования...
Пост N: 752
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 19.07.08 19:33. Заголовок: На сколько мне извес..
На сколько мне известно, редактор не позволяет это делать, но возможно это и не нужно. Ведь нам нужно ограничивать только длину строки. Если её длина превышает заданный лимит (можно будет менять), то часть комментария будет перенесена на новую строку.
Пост N: 765
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 29.07.08 17:52. Заголовок: Вот обновление для т..
Вот обновление для текущей версии редактора http://purik.nextmail.ru/IBM/PAE_2.54_Update.rar Содержимое архива нужно извлечь в папку с редактором (по умолчанию C:\Program Files\PicAsmEditor) Для того чтобы программа перенесла "длинные" коментарии в новую строку нужно в меню "Инструменты" выбрать "Ограничение длины строк". В открывшемся окне выбираем желаемую длину строки и жмём на кнопку... Перед этим желательно упорядочить текст выбрав в меню "Инструменты" пункт "Отступы".
Стиль меню можно выбрать в разделе "Общие" настроек программы". Доступны стили "Офис 2000", "Офис XP" и "Офис 2003"
Пост N: 766
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 29.07.08 17:59. Заголовок: Да, и ещё забыл. Пер..
Да, и ещё забыл. Перед запуском инструмента "Ограничение длины строк" сохраняется текущий текст. Если нужно его можно вернуть просто выбрав в меню или на панели инструментов пункт "Отменить".
Пост N: 767
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 29.07.08 18:16. Заголовок: igor пишет: А кстат..
igor пишет:
цитата:
А кстати, при копирывании в WORD, форматирование сохраняе
Текст копируется в ASCII формате, что означает что в буфере обмена или в файле будет находится только текст без дополнительной информации, такой как имя и размер шрифта. Форматирование сохраняется, но только при условии что в Ворде выбран моноширинный шрифт, например, "Lucida Console" и размер шрифта не очень большой.
Пост N: 363
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг:
0
Отправлено: 29.07.08 23:41. Заголовок: Очень даже хорошо по..
Очень даже хорошо получается. Я скопировал в WORD, при длинне строки =70. Шрифт :LUCIDA CONSOLE , 10 Поля : левое-3см., правое-1,5см. Как раз для печати. Вот только, выделенное красным, не вписывается в общий интерьер. Можно, так же подредактировать?
Все даты в формате GMT
3 час. Хитов сегодня: 8
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет