|
AVRASM2, продублировать макрос N раз |
|
|
|
Apr 14 2017, 20:24
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Если код имеет сотни повторов, и это дает прирост в скорости которой нельзя заменить на вызовы пп, это означает только то, что Вы неправильно выбрали платформу, либо алгоритм хромает. Вы довольно грубо ведете диалог, без явной на то причины. Возможно, Вам имеет смысл подтянуть культуру общения. С такими комментариями, Вам,уважающие себя люди, помогать не будут.
|
|
|
|
|
Apr 14 2017, 20:41
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Цитата(adc @ Apr 14 2017, 23:24)  Если код имеет сотни повторов, и это дает прирост в скорости которой нельзя заменить на вызовы пп, это означает только то, что Вы неправильно выбрали платформу, либо алгоритм хромает. Вы довольно грубо ведете диалог, без явной на то причины. Возможно, Вам имеет смысл подтянуть культуру общения. С такими комментариями, Вам,уважающие себя люди, помогать не будут. Люди которые на конкретно поставленный вопрос вместо ответа начинают писать всякую ... не вызывают у меня уважения и уж тем более помощи от таких людей я не жду. А о культуре общения Вам лучше промолчать.
|
|
|
|
|
Apr 15 2017, 14:19
|
Местный
  
Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709

|
Цитата(zombi @ Apr 15 2017, 02:41)  А о культуре общения Вам лучше промолчать. Вообще-то вам ответили на вопрос. Мало того, вы сами ответили. 10 макросов - 10 раз вызываем. 100 макросов - 100 раз. Это и есть циклы. Ваши макросы не развернуты. Остается только телепатировать. Вам намекнули на культуру общения. А вы в бутылку полезли. Прежде чем ответить, подумайте 10 раз. Здесь не пацанские встречи. Разговаривайте вежливо. Ваш собеседник может быть владельцем фирмы, занимать серьезную должность, серьезным специалистом. Любой специалист по электронике закончил как минимум 1 высшее учебное заведение. А это уже другой уровень общения. Ругаться может никто и не будет, но отвечать вам больше не будут. Время и нервы дороже.
Сообщение отредактировал demiurg1978 - Apr 15 2017, 14:21
|
|
|
|
|
Apr 15 2017, 14:50
|
Местный
  
Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709

|
Цитата(zombi @ Apr 15 2017, 20:30)  Прочтите мой вопрос и процитируйте ответ на него. Эээ, мнэээ, кхе-кхе, кхм... Тело макроса вставляется в код как есть, только каждый макрос спрятан за определенное ему название. Вставили один раз, будет один раз вставлен весь код макроса, вставили 10 раз, будет 10 раз вставлено тело макроса. Код .macro OUT_SRAM ldi XH,HIGH(@0) ldi XL,LOW(@0) ldi Data_H,HIGH(@1) ldi Data_L,LOW(@1) rcall _OUT_SRAM .endmacro
.macro OUTI_SRAM ldi XH,HIGH(@0) ldi XL,LOW(@0) ldi r17,@1 ldi r16,@2 rcall _OUT_SRAM .endmacro
_OUT_SRAM: st X+,r16 dec r17 brne _OUT_SRAM ret Написали 1 раз OUT_SRAM. Будет вставлено 1 раз. Написали 10 раз, будет вставлено 10 раз. Это жрет flash память МК. Значит делаем циклы. Все просто...
|
|
|
|
|
Apr 15 2017, 15:24
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 14-02-10
Пользователь №: 55 490

|
Может, как-то встроить в технологическую цепочку пред-обработчик вроде GNU M4Смутно помню, что в ассемблере PDP-11 был макрос .REPT\.ENDR
Сообщение отредактировал Владивольт - Apr 15 2017, 15:26
--------------------
#define TRUE (4==(2*2))
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|