а по-подробней можно.
а по-подробней можно.
ibiza11, ты не прав!_noise писал(а): которой считать полные циклы таймера
Из выше сказаного не понял ни хр..на, но, ОДИН ТАЙМЕР в одно и тоже время может работать только на одной частоте.
Код: Выделить всё
;домножение результата на 4.875
LDI R21,4 ;Умножаем число на 4
MUL R18,R21 ;Умножаем младшие разряды
MOV R2,R0 ;Переносим
MOV R3,R1
MUL R19,R21 ;Умножаем старший разряд
ADD R3,R0 ;Складываем вместе
LSR R19 ;Делим на 2, складываем
ROR R18
;BRCC ;Проверка на перенос
ADD R2,R18
ADC R3,R19
LSR R19 ;Делим на 2, складываем
ROR R18
;BRCC ;Проверка на перенос
ADD R2,R18
ADC R3,R19
LSR R19 ;Делим на 2, складываем
ROR R18
;BRCC ;Проверка на перенос
ADD R2,R18
ADC R3,R19
MOV R18,R2 ;Перенос результата
MOV R19,R3
Склонность к оптимизации.Первый раз вижу человека, которому проще посчитать смещение
что и дает +- 64 или +-2048 слов для перехода, или мы тебе тут что-то другое говорили?_noise писал(а): первой команды семь бит в коде предусмотрено для указания смещения, второй же в коде для указания смещения - 12 бит.
Э-э... Всё равно не понял, почему компилятор ругается на смешение 2 или 1 или 0?_noise писал(а):первой команды семь бит в коде предусмотрено для указания смещения
Вот собственно интересно, уломать его никак смещение напрямую брать?потом компилятор посчитает смещение до этого адреса и получится опкоде.