Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/119: Рейтинг темы: голосов - 119, средняя оценка - 4.72
2 / 2 / 0
Регистрация: 11.02.2011
Сообщений: 187

STM8 IDE asm mini - личное оружие фаната ассемблера

09.10.2013, 14:13. Показов 23467. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Фанам ассемблерного дзена разных кристаллов мой респект!

1. тема не поиск ответов на вопросы, цель - поделиться с народом тем, что использую сам

2. как то встретил в облаках интернета китайскую поделку в виде кастрации фирменного ST Tools в плане
портабельности среды кодинга и упрощенного использования пакета, отладки.
Скачал, попробовал понравилось, добавил, подчистил, кое что поправил так сказать под себя.
Года 2 юзаю, недавно скачал 4.3.4 ST Tool решил посмотреть и "обновить" свой боекомплект.

3. особенности:
- все исполнимые файлы и dll-ки без изменений или бинарных модификаций взяты из
рабочих папок ST Tool от ~210 Мб осталось ~27МБ
- файлы настроек и инициализаций необходимые для связки и правильной навигации среды поправлены так, чтобы файлы были найдены внутри папки локально
- не требует установки, с флешки работает
- из отладчиков оставлен ST Link для дискавери, остальное выкинуто
- новый проект создается с использованием "первичных файлов" из подпапки /buylder !!!
в ней оставлены некоторые РАБОЧИЕ МОИ исходники и наглядно можно посмотреть, как
и что устроено в ASM проекте среды, как я его модульно составил, как типовой и структурно разложил

4. была мысль по началу статейку тиснуть на сайт, даже ее начал делать, но потом лень и апатия + мысль кому это надо? Победили.

5. собственно -> скачать STM8_IDE_mini

6. на холивар, закидывание гнилыми помидорами не реагирую, дельные вопросы по существу и замечания (ошибки) по возможности отвечу

7. материал предназначен на более менее опытного человека, который сам все поймет и разрулит мелочи...
2
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.10.2013, 14:13
Ответы с готовыми решениями:

IDE для для работы с STM8 (на ASM и C) и STM32 (на C, ASM)
Планирую перезод на МК от STM. Сегодня стал обладателем платки STM32F4-Dyscovery и пакетика восьмибитных STM. Под восьмибитники планирую...

STM8. ST Visual Develop на ASM
пробую разобраться в первом шаге работы с STVD на asm, делаю следующее: создаю новый проект, выбираю кристалл, создается некий файл на...

STM8 в IAR (ASM). Настройка портов
Написал пробную программу для STM8S-Discovery, где порт, к которому подключен СИД (анодом на плюс питания), конфигурируется на выход и...

13
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
09.10.2013, 14:47
Цитата Сообщение от vostomy
все исполнимые файлы и dll-ки без изменений или бинарных модификаций взяты из рабочих папок ST Tool от ~210 Мб осталось ~27МБ
А что было в отброшенных 180 Мегабайтах? В двух словах.

Цитата Сообщение от vostomy
наглядно можно посмотреть, как и что устроено в ASM проекте среды, как я его модульно составил, как типовой и структурно разложил
4. была мысль по началу статейку тиснуть на сайт, даже ее начал делать, но потом лень и апатия + мысль кому это надо? Победили.
Жаль, жаль. STM8 всё ещё актуален, и на форуме время от времени задают вопросы по нему. Статья бы не помешала.
0
2 / 2 / 0
Регистрация: 11.02.2011
Сообщений: 187
09.10.2013, 16:28  [ТС]
Цитата Сообщение от OtyxPM
А что было в отброшенных 180 Мегабайтах? В двух словах.
Это у фирмы надо спросить :)
Приблизительно то же, что валяется в папках WINDOWS, по сравнению с тем объемом файлов, которых ей хватает, чтоб загрузиться и обслужить простейшие запросы пользователя...
На вскидку: доки, примеры, поддержка ST7 и ее барахло типа либы, связки, DLL-ки только для неё, minGW...
Мне нужно было ИМЕННО то, что стреляет, а не валяется впрок, на случай ядерной войны и к ней чертеж )))
+ "прямая трёхлинейка, что стреляет убойно на 3км с одного патрона", работает c STM8 дискаверерЁй с любого ноута "в поле"..., компа любого чела, друга..., без интсаллов и запросов, что нехватает файла... или в реестре чего то там нет...
Типа так.
На идеальность не претендую.
Цитата Сообщение от OtyxPM
Жаль, жаль. STM8 всё ещё актуален, и на форуме время от времени задают вопросы по нему. Статья бы не помешала.
А я и не говорил ,что не актуален, даже наоборот - ПРОДЕМОНСТРИРОВАЛ, как все просто и легко со средой в принципе. А думать головой и как и куда, выбирает каждый сам.
По статье посчитал, что будет типа повтор, вводная по среде где то есть, она мне помогла вкурить.
НУ наберется тут голосов ЗА, тады посмотрим.
0
ниивный
09.10.2013, 17:30
Вот попытался файл скачать, а он в IE - просит обновить flash player, в Operе - обновить браузер. Это нормально?
2 / 2 / 0
Регистрация: 11.02.2011
Сообщений: 187
09.10.2013, 17:47  [ТС]
думаю нормально. Они там вроде намутили Google технологий... На хроме и файерфоксе не видно этого.
0
2 / 2 / 0
Регистрация: 11.02.2011
Сообщений: 187
30.10.2013, 19:36  [ТС]
В виду возникшей нужности и валяющейся жмени STM8S003 - "работа" по среде продолжается...
Более детальные изучения, доводки, макросы + своя софтина для безошибочного старта проекта (пустой, пустышка проект в котором все связывается, линкуется, компилится, отлаживается, нужно только наращивать "мясо")
Сегодня обнаружен глюк компилятора, который превратился в интеллектуальную фичу при написании хитрого макроса.
Фича в принципе опять тянет на статью, но как бы лень тратить время... интересует количество потенциальных читателей, но пока "зрею" :)
Кто возился с макросами и ассЁмблером попробую испугать сегодняшним макросом, заодно увидим кто "в теме"
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
BytMask  MACRO m k p1 p2 p3 p4 p5 p6 p7 p8
#IFIDN m A  ;это биты для аккумулятора ?
#DEFINE  op ld
#ELSE
#IFIDN m X  ;может это будут биты WORD регистра X ?
#DEFINE  op ldw
#ELSE
#IFIDN m Y  ;может это будут биты WORD регистра Y ?
#DEFINE  op ldw
#ELSE
#DEFINE  op mov   ;выбора нет, это работа с памятью или портом (с адресом)
#ENDIF
#ENDIF
#ENDIF
;тип опкода определён, далее генерим значение эквивалентное битовым параметрам макроса
#IFIDN k ~
#IFB p2
op   m, #{255 XOR {1 SHL p1}}
#ELSE
#IFB p3
op   m, #{255 XOR {{1 SHL p1} OR {1 SHL p2}}}
#ELSE
#IFB p4
op   m, #{255 XOR {{1 SHL p1} OR {1 SHL p2} OR {1 SHL p3}}}
#ELSE
#IFB p5
op   m, #{255 XOR {{1 SHL p1} OR {1 SHL p2} OR {1 SHL p3} OR {1 SHL p4}}}
#ELSE
#IFB p6
op   m, #{255 XOR {{1 SHL p1} OR {1 SHL p2} OR {1 SHL p3} OR {1 SHL p4} OR {1 SHL p5}}}
#ELSE
#IFB p7
op   m, #{255 XOR {{1 SHL p1} OR {1 SHL p2} OR {1 SHL p3} OR {1 SHL p4} OR {1 SHL p5} OR {1 SHL p6}}}
#ELSE
#IFB p8
op   m, #{255 XOR {{1 SHL p1} OR {1 SHL p2} OR {1 SHL p3} OR {1 SHL p4} OR {1 SHL p5} OR {1 SHL p6} OR {1 SHL p7}}}
#ELSE
op   m, #{255 XOR {{1 SHL p1} OR {1 SHL p2} OR {1 SHL p3} OR {1 SHL p4} OR {1 SHL p5} OR {1 SHL p6} OR {1 SHL p7} OR {1 SHL p8}}}
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ELSE
#IFB p1
op   m, #{1 SHL k}
#ELSE
#IFB p2
op   m, #{{1 SHL k} OR {1 SHL p1}}
#ELSE
#IFB p3
op   m, #{{1 SHL k} OR {1 SHL p1} OR {1 SHL p2}}
#ELSE
#IFB p4
op   m, #{{1 SHL k} OR {1 SHL p1} OR {1 SHL p2} OR {1 SHL p3}}
#ELSE
#IFB p5
op   m, #{{1 SHL k} OR {1 SHL p1} OR {1 SHL p2} OR {1 SHL p3} OR {1 SHL p4}}
#ELSE
#IFB p6
op   m, #{{1 SHL k} OR {1 SHL p1} OR {1 SHL p2} OR {1 SHL p3} OR {1 SHL p4} OR {1 SHL p5}}
#ELSE
#IFB p7
op   m, #{{1 SHL k} OR {1 SHL p1} OR {1 SHL p2} OR {1 SHL p3} OR {1 SHL p4} OR {1 SHL p5} OR {1 SHL p6}}
#ELSE
op   m, #{{1 SHL k} OR {1 SHL p1} OR {1 SHL p2} OR {1 SHL p3} OR {1 SHL p4} OR {1 SHL p5} OR {1 SHL p6} OR {1 SHL p7}}
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
MEND
Самое ХОРОШЕЕ в этом, что ЭТО таки работает!!!
Успехов!
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
30.10.2013, 19:48
А код из этого макроса компилируется такой же огромный? Что-то мне подсказывает, что да.
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,112
30.10.2013, 20:14
Там кода несколько байте. Все остальное для прекомпилятора.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
30.10.2013, 20:26
Цитата Сообщение от OmykymForti
Там кода несколько байте. Все остальное для прекомпилятора.
Вы проверяли по листингу?
Одна только строчка:
op m, #{255 XOR {{1 SHL p1} OR {1 SHL p2} OR {1 SHL p3} OR {1 SHL p4} OR {1 SHL p5} OR {1 SHL p6}}}
- далеко не несколько байт. Или подразумевается, что p1..p6 всегда будут константами?
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
30.10.2013, 21:33
А зачем его урезать (рискуя, что от урезания что-то сломается), если всё равно остаётся изрядно большим?
(Как-то привычно, что всё нужное для разработке на асме сопоставимо по размеру с дискетой)
0
2 / 2 / 0
Регистрация: 11.02.2011
Сообщений: 187
31.10.2013, 01:58  [ТС]
Ай, ай, ай, а вот про БагоФичу никто не спросил то...!? А ведь это самое вкусное тутычки будет пожалуй.

Что макросы, макросы они или дебильны по возможностям или реально "интеллектуальны", чтобы облегчить жизнь кодера (пример FASM компилятор для x86 и те финты, что творят на нём продвинутые кодеры!).
Всё зависит от разработчика КОМПИЛЯТОРА, а в данном случае без мата говорить трудно!!!
Я имею в виду папуасов, которые для STTools сляпали файло ..\asm\asm.ixi - в жутких традициях доисторических компиляторов.

Ладно, опустим печаль ассемблерщика по данному поводу.

Теперь о приятных моментах, которые нарисовались в виду их индусского кодинга! )))))

1. макрос, как правило (большинство компиляторов), требует при его использовании в листинге программы передать ему столько параметров, сколькими он представлен (описан) в месте, где объявлен

2. для витиеватости, поумнения, интеллектуализации макросов используют разные "вкусности": с условиями, динамическими подстановками, разбором строковых параметров и т.д. о чем подумал и позаботился РАЗРАБОТЧИК среды, КОМПИЛЯТОРА

3. мои потуги с макросами в последние дни для сабжа, были направлены на поиски и пробы - ну хоть, как то попытаться упростить жизнь с макросами в дебильном компиляторе, т.к. возможностей сделать хотябы "хитрые макросы" почти нет!
Всё что можно себе самому предложить для попыток интеллектуализации процесса разбора параметров в макросе это STM фирменное блюдо в "лице": #IF, #IFB, #IFIDN, #IFDEF, #IFLAB
Результат только с ними мизерный.

4. попытки "заставить" компилятор передавать макросу при компиляции параметры не все из объявленных, а лишь часть - случайно увенчалисть успехом. На изучение поведения этой случайности ушло дня три..
4.1 после детальных проб принято решение, использовать как фичу, тем более, что НЕ ВЕРЮ, что папуасы исправят её в следующих версиях, даже если её описать и сообщить об этом им.

5. Т.е. после изложения сути, принципа и правил использования - это уже механизм работы фичи, рецепт её использования.

Итак, данный макрос уже в своём названии BytMask говорит сам за себя!
Он решает трудности кодера при возюкании с битами, которые мы имеем в виде их номеров, как позиции (установ или сброс бит) при получении собственно byte(word) маски в компилятор для:
- адреса в памяти
- порта
- аккумулятора
- word X или Y регистра
Под трудностями понимать и то, что количество битов может быть различным, как и их позиция!
И это процесс творческий, где и как - решает автор кодинга, т.е. юзер среды программирования.
Мало того с использованием сего макроса, повышается читабельность и упрощается понимание сути шаманства кодера :)
Он + багофича позволяет делать самое главное, т.е.
разбирать сколько параметров передано сечас ему из данной строки листинга 2, 4, 6... или 8 ???
Мало того, ошибки компилятор не выдает и компилит именно с тем количеством, что указал кодер в данной строке вызова макроса.

Наконец то красивая суть юзанья.

Примеры:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
;установ битов 0, 3, 5, 7 по адресу 5000
 
BytMask 5000,0,3,5,7,
или так
BytMask 5000, 0, 3, 5, 7,
или так тоже можно
BytMask 5000 0 3 5 7,
 
;сбросить биты 0, 3, 5, 7 на выходах шины D, неуказанные (все остальные) будут в "1"!
 
BytMask PD_ODR ~ 0 3 5 7,
 
;сбросить биты 1, 5, 6 в аккумуляторе, остальные в "1"
 
BytMask A ~ 1 5 6
 
;или даже для WORDовских регистров справедливо использовать его так
 
BytMask X,0,3,5,7,
BytMask Y 0 3 5 7,
СУТЬ ФИЧИ:
ОБЯЗАТЕЛЬНЫМ УСЛОВИЕМ ЯВЛЯЕТСЯ НАЛИЧИЕ ЗАПЯТОЙ В КОНЦЕ СТРОКИ, ПОСЛЕ КОТОРОГО СЛЕДУЕТ "ПРЕВОД СТРОКИ" !!!
Важно именно так.
Любые символы после запятой, даже пробел - ошибка компиляции!
А вот, как СИЕ скомпилится в результате умностей макроса, Вы увидите самостоятельно при "проходе" дебагом по коду...
Спасибо за внимание!
Читабельного, смыслового листинга и Приятной компиляции!
73!
VoStaNi (c) 2013
0
zitimyy
14.02.2015, 14:48
не дает скачивать -Your browser seems a bit outdated -
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
14.02.2015, 16:04
Текст макроса вызывает желание положить в тот же дистриб m4 или ещё какой внешний препроцессор.
Был бы хоть elif - читать бы можно было, он более-менее линейный...
0
1 / 1 / 0
Регистрация: 17.11.2020
Сообщений: 1
18.11.2020, 00:15
Спасибо автору темы за выложенную версию STM8 IDE. Особенно понравился шаблон проекта с исходниками, который лично мне очень помог в освоении STM8. Кстати, как в полной версии STVD, так и у автора темы редактор выделяет не все ключевые слова ассемблера. За это отвечает файл asm_lang.xml из папки STVD. Во вложении - дополненный файл.
Вложения
Тип файла: zip asm_lang.zip (1.6 Кб, 26 просмотров)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.11.2020, 00:15
Помогаю со студенческими работами здесь

IDE для ассемблера
Привет всем! Хочу рассказать о простой среде разработки для языка ассемблера NASM, написанной мной. SASM (SimpleASM) — бесплатная...

IDE для ассемблера
Ребят, подскажите новичку, есть ли какая-нибудь IDE, что все компиляторы и все что нужно было в ней, или подскажите какие программы...

IDE для ассемблера
Ребят, кто какую среду использует для нормального человечного кодинга? Хотелось бы примерно следующее: - Поддержка MASM/TASM (или...

Оцените IDE для Ассемблера
Недавно нашёл новый IDE для ассемблера: http://sites.google.com/site/gssvisasm Что вы о нём скажите? Может чтото лучше есть?

Ищу полноценную IDE для ассемблера в Linux
Доброго времени суток. Нуужна полноценная среда разработки приложений на ассемблере исключительно, которая идет только еа Линукс. Сам очень...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru