0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
1

Как нарастить константу?

08.01.2011, 20:14. Показов 4059. Ответов 9
Метки нет (Все метки)

Здравствуйте, подскажите пожалуйста начинающему. У меня есть константа Z12=300
и есть код который использует эту константу:
Код
_main:
ldi   cntstepH,high(Z12)  ;заполняем счётчик шагов
ldi   cntstepL,low(Z12)
cbr     flags,1<<f_somplit      ;сбрасываем флажок
clr   tmpa
out   TCNT1H,tmpa             ;обнуляем таймер
out   TCNT1L,tmpa

in   tmpa,TCCR1A
sbr   tmpa,1<<COM1A1          ;подключаем выход
out   TCCR1A,tmpa
_loop_1:
sbrs   flags,f_somplit         ;ждем, пока выскочит
rjmp   _loop_1                 ;флажок

in   tmpa,TCCR1A
cbr   tmpa,1<<COM1A1          ;отключаем выход
out   TCCR1A,tmpa
;Где то здесь, я так понимаю её надо нарастить.
И дальше пошел следующий код. Мне надо чтобы при каждом проходе через этот код константа Z12 увеличивалась на 4. Как это можно сделать? Заранее спасибо!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.01.2011, 20:14
Ответы с готовыми решениями:

Внешняя память PIC: как нарастить внутреннюю память данных?
Я только начал разбираться с ПИКами и пока не все понимаю. Мне нужно организовать систему сбора и...

Добавить строку как константу
Добавить строку как константу, чтобы она отражалась в файле hex в явном виде (fasmg для AVR) В...

Как нарастить ТИЦ?
Сайт тиц 90 пр5 Сайт в я-директе В я-каталоге нет. Задача: нарастить тиц при помощи покупных...

Как нарастить память до 8 (16) ГБ?
У меня мамка GIGABYTE GA-M68MT-D3, отчет АИДы прикладываю. Судя по всему, на мамке только 2 слота...

9
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
08.01.2011, 20:23 2
Константа не меняется во время выполнения программы. т.е. НИКАК. Но можно сделать переменную и работать с ней.
0
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
08.01.2011, 20:30 3
.def VarZ12L = r24
.def VarZ12H = r25
...
Начальная настройка.
ldi VarZ12H,high(Z12) ;заполняем счётчик шагов
ldi VarZ12L,low(Z12)

...
Прибавляем 4 там где нужно.
odyw VarZ12L,4

как-то так.
0
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
08.01.2011, 20:45 4
Цитата Сообщение от S_Otyx
.def VarZ12L = r24
.def VarZ12H = r25
...
Начальная настройка.
ldi VarZ12H,high(Z12) ;заполняем счётчик шагов
ldi VarZ12L,low(Z12)

...
Прибавляем 4 там где нужно.
odyw VarZ12L,4

как-то так.
Я попробовал:
Код
.def VarZ12L = r24
.def VarZ12H = r25

ldi VarZ12H,high(Z12)
ldi VarZ12L,low(Z12)

_main2:
ldi   cntstepH,high(VarZ12)  ;заполняем счётчик шагов
ldi   cntstepL,Low(VarZ12)
Не получается cntstepH и cntstepL загрузить значения. Пишет ошибку.
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
08.01.2011, 20:49 5
нада делать mov :)
0
0 / 0 / 0
Регистрация: 27.08.2010
Сообщений: 77
08.01.2011, 21:07 6
Таки, "наростив константу", вы ее погубите, как константу! :D
0
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
08.01.2011, 21:18 7
Цитата Сообщение от dsodir
нада делать mov :)
Пробую MOV. По идее вот так должно работать:
Код
.def VarZ12L = r24
.def VarZ12H = r25

ldi VarZ12H,high(Z12)
ldi VarZ12L,low(Z12)
_main2:
mov   cntstepH,VarZ12H  ;заполняем счётчик шагов
mov   cntstepL,VarZ12L
cbr     flags,1<<f_somplit      ;сбрасываем флажок
clr   tmpa
out   TCNT1H,tmpa             ;обнуляем таймер
out   TCNT1L,tmpa

in   tmpa,TCCR1A
sbr   tmpa,1<<COM1A1          ;подключаем выход
out   TCCR1A,tmpa
_loop_2:
sbrs   flags,f_somplit         ;ждем, пока выскочит
rjmp   _loop_2                 ;флажок

in   tmpa,TCCR1A
cbr   tmpa,1<<COM1A1          ;отключаем выход
out   TCCR1A,tmpa

odyw VarZ12L,4 ;Нарастить константу
Ан нет! Трижды выдает: error: Invotyd caracter: C (0xd1) В чем опять косяк?!
0
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 727
08.01.2011, 21:19 8
Оно там еще номер строчки выдает в которой ошибка...
0
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 3,496
08.01.2011, 21:25 9
cntstepH - где-нибудь объявлен?
0
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
08.01.2011, 21:37 10
Всем спасибо! Всё работает! Это у меня в дальнейшем коде косяк.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2011, 21:37
Помогаю со студенческими работами здесь

Как нарастить значение в Excel
Как заполнить следующую ячейку тем же значением только больше на 1 еденицу? Есть значение...

Как быстро нарастить тиц?
Вопрос к тем кто силен в яше Как быстро нарастить тиц? Сам я занимаясь продвижением только в...

как нарастить траф с поиск. по НЧ и СЧ запросам
Сайту 3 месяца, в поисковиках только месяц. Адрес сайта: Без цензуры. И у меня возникла проблема...

Как нарастить ТИЦ новостному сайту
Сейчас у сайта ТИЦ 60 у ближайшего конкурента 140, в идеале нужно 310. Посоветуйте способ наростить...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru