ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
11 июля
361761 Топик полностью
mazur (14.10.2012 21:07, просмотров: 259) ответил tvi на Подскажите, пожалуйста, как в ассемблере передавать параметры при вызове подпрограммы и как менять значения переменных? Я пытался использовать для этого директиву SET, но у меня ничего не получилось - демопрогу этого эксперимента прилагаю.
Да, команды есть 2 и 4 байтные. Поэтому забудьте rjmp PC-1 или rjmp PC+2. Иначе получите непонятное поведение программы, так как не учли, что команды могут быть 4 байтные. Нужно делать переход на метки.  Delay: ldi r16, 100 Delay_Cycle: dec r16 brne Delay_Cycle ret А вот глухое зацикливание прекрасно можно делать так: Cycle: rjmp PC И не нужно лишний раз писать название метки, что порой удручает. Рожать названия меток.