Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Нужна вставка на Асме
brown Дата: Ср, 24.02.2010, 20:57  |                                                                                                                Сообщение # 16
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 333
Репутация: 12   ±
Замечания:   ±
На сайте с 18.09.2007

Статус: Offline

Quote (demanik)
Только вместо rlf я поставил rclf У моего пика такой команды нет.

Вполне возможно, для ПИК18 команды изменили, дополнили. Вообще-то я в АСМе не силен, изучал когда то на сайте Корабельникова, а потом вкусил РВР и .... Для моих любительских целей достаточно.


Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
доцент2 Дата: Вт, 12.06.2018, 08:55  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 293
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Не могу понять как определить кол-во циклов необходимых на выполнение вставки:
;delay = 100 machine cycles   
Pause       movlw       .33              ' число 33
                 movwf       Reg_1        ' запись в переменную     1 цикл
wr             decfsz       Reg_1, F    '                                          1 цикл
                 goto          wr               '                                          2 цикла
                            итого 1 + 33*(1+2) = 100   здесь понятно!
А вот тут никак не соображу:
;delay = 790 machine cycles
Pause       movlw       .5               ' число 5
                 movwf       Reg_1       ' запись в переменную     1 цикл
                 movlw       .2               ' число 2
                 movwf       Reg_2       ' запись в переменную     1 цикл
wr             decfsz       Reg_1, F   '                                          1 цикл
                 goto         wr               '                                          2 цикла
                 decfsz      Reg_2, F    '                                          1 цикл
                 goto         wr               '                                          2 цикла
Итого 1 + 1 +( 5*(1+2)) * (2*(1+2)) =92 не могу сообразить как считать при введении второй переменной.
Прошу помощи.
ivan_fd Дата: Вт, 12.06.2018, 12:06  |                                                                                                                Сообщение # 18
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

;delay = 790 machine cycles
Pause       movlw       .5               ' 1 цикл
movwf       Reg_1       ' 1 цикл
movlw       .2               ' 1 цикл
movwf       Reg_2       '  1 цикл
wr             decfsz       Reg_1, F   '  1 цикл
goto         wr               '  2 цикла
decfsz      Reg_2, F    '  1 цикл
goto         wr               '  2 цикла

Задержка = 1 + 1 + 1 + 1 + (Reg_1 * (1 + 2) - 1) + ((256 * 3 - 1) * (Reg_2 - 1)) + (Reg_2 * (1 + 2) - 1) = 790

Сообщение отредактировал ivan_fd - Вт, 12.06.2018, 12:52
доцент2 Дата: Вт, 12.06.2018, 16:39  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 293
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

ivan_fd
спасибо. мудрено блин.
не дают покоя мне эти задержки в частотомере. Вот решил попробовать разобраться.
Есть, пока далекая, мысль попробовать переделать под 40МГц генератора МК код частотомера на 16f84a. Там есть подсчет переполнений с дополнительной переменной.
(терзают меня смутные сомнения, что самостоятельно разберусь. не завидую первопроходцам этого языка).

Сообщение отредактировал доцент2 - Вт, 12.06.2018, 16:42
ivan_fd Дата: Вт, 12.06.2018, 17:00  |                                                                                                                Сообщение # 20
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Цитата доцент2 ()
Есть, пока далекая, мысль попробовать переделать под 40МГц генератора МК код частотомера на 16f84a. Там есть подсчет переполнений с дополнительной переменной.

Там счет идет с предделителем, вообще голову сломаете. smile
доцент2 Дата: Вт, 12.06.2018, 17:18  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 293
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Это точно! На простом примере уже голову сломал wacko . Второй раз за пивом сходил, и чувствую это не предел happy . Как же быть!?
Сообщение отредактировал доцент2 - Вт, 12.06.2018, 17:18
ЯНДЕКС Дата: 12.06.2018
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: