19.03.2011, 04:35
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Есть идеи как сделать настраиваемым из хидера содержимое функций на ассемблере?
Собственно задача - bccm MEM,PIN
Нужно как то передать туда адрес и номер вывода.
#define из сишного хидера не проходят.
Попытка там же встроить что то типа:
Код:
|
// h файл
#pragma asm
MEM: equ 1234
PIN: equ 1
#pragma endasm
// с файл
void testfunc(void)
{
#asm
BCCM MEM,PIN
#endasm
} |
Не канает.
Ошибку вызывает только PIN, т.е. такая конструкция работоспособна:
Код:
|
void testfunc(void)
{
#asm
BCCM MEM,#1
#endasm
} |
Что бы еще попробовать?
Последний раз редактировалось Falconist; 13.04.2011 в 23:48.
|
|
|
|
19.03.2011, 04:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Прикольно, только написал сюда, как нашлось - bccm MEM,#PIN
|
|
|
|
19.03.2011, 08:32
|
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от st_1
|
Да, будет. Но с другой стороны, необходимость подобных ухищрений уже однозначно говорит о слабом камне... или что он на грани.
|
Это не ухищрения. Это стандартная оптимизация, обычно выполняемая компилятором. Ну, а в данном случае, просто моя привычка к оптимизации кода, даже если он пишется на asm.
Последний раз редактировалось Falconist; 13.04.2011 в 23:48.
|
|
|
|
19.03.2011, 09:39
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от Bill
|
Это не ухищрения. Это стандартная оптимизация, обычно выполняемая компилятором.
|
Компилятор компилятору тоже рознь. Одни доводят этот процесс до маразма, другие хромают на обе ноги.
Цитата:
|
Ну, а в данном случае, просто моя привычка к оптимизации кода, даже если он пишется на asm.
|
Нет предела совершенству... а я вот стал лениться в последнее время в этом отношении.
Последний раз редактировалось Falconist; 13.04.2011 в 23:48.
|
|
|
|
19.03.2011, 10:34
|
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от st_1
|
Компилятор компилятору тоже рознь. Одни доводят этот процесс до маразма, другие хромают на обе ноги.
Нет предела совершенству... а я вот стал лениться в последнее время в этом отношении.
|
Компиляторы тоже людьми пишутся. Глюки можно везде встретить. Правда, мне почему-то они не встречаются. А насчет совершенства... право, не знаю. Я стараюсь писать как можно проще и делаю это автоматом. Но иногда возникают ощущения, что тот или иной код можно оптимизировать, и тогда поневоле начинаешь думать над оптимизацией. И пока не решишь эту задачку, мысль все время сидит в голове. И потом, все должно быть красиво, в том числе и код. Или нет?
Последний раз редактировалось Falconist; 13.04.2011 в 23:48.
|
|
|
|
19.03.2011, 11:34
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от Bill
|
И пока не решишь эту задачку, мысль все время сидит в голове. И потом, все должно быть красиво, в том числе и код. Или нет?
|
+1000 .
А STM мне все больше нравится ...
__________________
Осторожно , злой кот
Последний раз редактировалось Falconist; 13.04.2011 в 23:48.
|
|
|
|
19.03.2011, 13:44
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от Bill
|
И пока не решишь эту задачку, мысль все время сидит в голове. И потом, все должно быть красиво, в том числе и код.
|
Да. Тот переход из начала в конец функции как-то резал глаз...
Сообщение от kison
|
Прикольно, только написал сюда, как нашлось - bccm MEM,#PIN
|
Должно же было быть. В тех же (не будем произносить вслух) есть @variable.
Последний раз редактировалось Falconist; 13.04.2011 в 23:47.
|
|
|
|
19.03.2011, 13:50
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от omercury
|
Да. Тот переход из начала в конец функции как-то резал глаз...
|
Бывает хуже...
https://kazus.ru/forums/showthread.p...EB%FF%F2%EE%F0
__________________
Осторожно , злой кот
Последний раз редактировалось Falconist; 13.04.2011 в 23:46.
|
|
|
|
19.03.2011, 13:56
|
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от omercury
|
Да. Тот переход из начала в конец функции как-то резал глаз...
|
Это реализация оператора while. Да я уже как-то писал об этом. http://caxapa.ru/lib/CwithoutC.html
Последний раз редактировалось Falconist; 13.04.2011 в 23:46.
|
|
|
|
19.03.2011, 14:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от dosikus
|
Бывает хуже...
|
Кто бы спорил. Но и тут есть варианты - удлиннители коротких переходов. Хотя, в данном случае какой-то код странный - может прикалывается кто? Компиляторы обычно метки на переходы не ставят. Шуруют сразу по абсолютному адресу.
Этот
Сообщение от Bill
|
while
|
легко реализован в конце цикла Вами же.
Последний раз редактировалось Falconist; 13.04.2011 в 23:46.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:29.
|
|