Т.е. тебе места не хватает на месте "st -X,Shift_REG"? Сделай rjmp куда-нибудь, скажем перед Not_Conflict , сделай что надо там и rjmp назад.
Или дважды sbrc count,Value_8
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Карма: 15
Рейтинг сообщений: 70
Зарегистрирован: Ср мар 28, 2012 21:45:24 Сообщений: 906 Откуда: ВО
Рейтинг сообщения:0
Мне не хватает "ширины шага" команды SBRC . Надо записать в SRAM и обнулить count . Shift_REG - может втолкнуть в себя только 8-бит , а надо же 64. Ставить 8 регистров - какое-то гадостное душевное чувство не позволяет. А два rjmp для одного действия - перебор. Похоже придётся всё таки к BR** " обращаться".
+1 Я не стесняюсь ставить две skip-команды с одинаковым условием подряд (не по периферии, конечно )
Код:
sbrc count,Value_8 st -X,Shift_REG sbrc count,Value_8 clr count
просто чтобы метку не ставить, глаз об неё не тормозить потом (gnu as имеет локальные метки, так что выдумывать не надо, но чтобы не рябило). По сравнению с
Код:
sbrc reg, bit rjmp 1f command1 command2 1:
вариант
Код:
sbrc reg, bit command1 sbrc reg, bit command2
по размеру кода не отличается, по времени выполнения на один такт больше в случае невыполнения условия и одинаково в случае выполнения.
_________________ Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения