Страница 138 из 400
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт май 25, 2012 13:48:25
shads
ILYAUL писал(а): Плиз. А сдвиги Вам считать не надо , компил сам разберётся
Я имел ввиду, в моем варианте, несколько бит за раз не получится..... Если пользоваться макросами:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт май 25, 2012 13:54:46
ploop
SBR - Set Bit in Register
CBR - Clear Bit in Register
ИМХО не сложно запомнить...
Можно продолжить:
SBRS - Skip if Bit in Register Set
SBRC - Skip if Bit in Register Clear
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт май 25, 2012 13:57:09
ILYAUL
shads писал(а):Я имел ввиду, в моем варианте, несколько бит за раз не получится..... Если пользоваться макросами:
Во , точно . уберите их нафинг. Столько места сразу спасёте во flash
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт май 25, 2012 13:59:06
shads
ploop писал(а):SBR - Set Bit in Register
CBR - Clear Bit in Register
ИМХО не сложно запомнить...
Да это то понятно, я имел ввиду эти: стрелочки, скобочки, палочки.....
Хотя для винды когда на С пишу, они меня не напрягают..... Странно

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт май 25, 2012 14:07:02
ILYAUL
shads писал(а):Да это то понятно, я имел ввиду эти: стрелочки, скобочки, палочки.....
Есть такое понятие в ASМ -
Операторы вот читайте
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт май 25, 2012 14:13:19
shads
ILYAUL писал(а):Есть такое понятие в ASМ - Операторы вот читайте
Прикольная справка, с примерчиками, надо будет подтянуться.....
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт май 25, 2012 14:20:03
ILYAUL
Предупреждение получили, а правила опять нарушаем?
ploop
Плиз
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт май 25, 2012 14:26:17
shads
ILYAUL писал(а):Система команд AVR RISC8.pdf
Интересно, а что было до 165 страницы?
Какие здесь модераторы внимательные, прям муха не проскочит.....
Предупреждение получили, а правила опять нарушаем?
Что называется в раж входим.....
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт май 25, 2012 14:37:12
ILYAUL
shads писал(а):интересно, а что было до 165 страницы?
Что называется в раж входим.....
Не знаю , так достался.
Чувствую забанят нас сегодня
Просто чаще надо нажимать эту кнопку: 
Тогда не забанят. А так да, скоро кто-то нарвётся.
ploop
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб май 26, 2012 08:01:55
BOB51
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб май 26, 2012 21:48:05
ILYAUL
BOB51 писал(а):а просто дать ссылки:
Сегодня ссылки есть завтра их может и не быть. К тому же они могут и устареть.Т.ч. предпочитаю хранить доки у себя . И что бы давать ссылки на английские источники , надо быть всё таки увереным в том , что тот кому их дают , хоть чуть -чуть разумеет на сём языке. А тот так , как мертвому припарка.
Кстати последнюю версию можно найти
www.atmel.com
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс май 27, 2012 11:34:32
BOB51
for ILYAUL
Заниматься электроникой без знаний английского (хотя-бы со словарем) просто нереально, тем более, что попасть на сей сайт можно только с помощью компьютера, что уже подразумевает знание иностранных языков
Относительно ссылок:
если Вы их смотрели, то первая на самое последнее описание системы команд указывает, а вторая не первоисточник Вашего "Asm_AVR_rus.pdf"
При всей моей нелюбви к платному авторскому праву на публикуемое в интернет изданиях, по возможности, первоисточник надо всё-же указывать - из уважения к автору и к тем, кто первым его публикацию доступной сделал!
Другое дело - пересылка лично кому-то за пределами общественного доступа - на этом форуме для таких целей есть "ЛС" , да и e-mail никто пока еще не запрещал
А вот давать ссылку на сайт "взагали" для поиска конкретного datasheet или другого материала - не очень то и корректно - у новой редакции атмел весьма хитроумный способ построения, если первый раз посетить или не знать особенностей "где чего искать", то очень просто и не найти...

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс май 27, 2012 11:45:48
Alexeyslav
что уже подразумевает знание иностранных языков
Все что нужно чтобы выйти в интернет на современном компьютере - это выбрать язык в UEFI-BIOS... при этом даже не заходя в операционную систему.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс май 27, 2012 12:33:35
BOB51
тогда начинающий спец по МК мой котейко - лапками старается детальки на столе перекладыавть и иногда кнопки на клаве нажимает, да за курсором на мониторе охотится

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс май 27, 2012 17:53:53
мелкая
Код: Выделить всё
randomize: MOV R30,random1 ;N=X
MOV R31,random2
LSL random1
ROL random2
LSL random1
ROL random2
ADD R30,random1
ADC R31,random2
LSL random1
ROL random2
ADD R30,random1
ADC R31,random2
LSL random1
ROL random2
LSL random1
ROL random2
LSL random1
ROL random2
ADD R30,random1
ADC R31,random2
ADIW R30,1
MOV random1,R30
MOV random2,R31
ANDI R31,0xFE
CPI R31,0xC0
BRCC randomize
SWAP R31
LSR R31
INC R31
MOV random,R31
Может кто нибудь объяснит как изменить код что бы получить интервал 1)0-6 2)0-9
X(i+1)= ( A*X(i) + B) mod 65536
A= 77 (A mod 4= 1)
B= 1 нечетное
т.е мне надо выставить m=10 a=1 b=3 получится:
0,3,6,9,2,5,8,1,4,7,0
Длина периода 10
Но никак не получается реализовать!
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс май 27, 2012 19:34:58
Alexeyslav
Если реализовать алгоритм получения остатка от деления - то все получается просто - A mod 10 дает результат 0..9.
Чтобы не заморачиваться, оставляешь от результата младшие 4 бита, и вычитаешь из числа "10 = 0x0A" пока результат не станет меньше или равен 9. Для 4 бит это 0 или 1 раз.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс май 27, 2012 19:40:32
мелкая
А можно сразу на моем примере расписать??? а то очень нужно...... боюсь напутать....
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс май 27, 2012 19:58:06
Alexeyslav
Результат куда ложится?
Получаешь результат в виде байта 0..255 (это может быть любой частью регистра сдвига на котором основан ГСЧ), копируешь его в отдельный регистр, например в R16 (любой из R16..R31)
Затем...
Код: Выделить всё
ANDI R16, 0x0F
loop:
CPI R16, 0x0A ; - это константа до которой надо ограничить результат.
BRLO no_correct
SUBI R16, 0x0A ; - это та же самая константа
RJMP loop ; в данном случае можно обойтись и без этой строчки
; т.к. вычитание максимум надо выполнить только один раз
; Но если применять другие параметры(константу меньше
; или ровно 8) - может понадобится
no_correct:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс май 27, 2012 20:49:23
мелкая
Код: Выделить всё
randomize: MOV R30,random1 ;N=X
MOV R31,random2
LSL random1 ;*2
ROL random2
LSL random1 ;*4
ROL random2
ADD R30,random1 ;N=N+X*4
ADC R31,random2
LSL random1 ;*8
ROL random2
ADD R30,random1 ;N=N+X*8
ADC R31,random2
LSL random1 ;*16
ROL random2
LSL random1 ;*32
ROL random2
LSL random1 ;*64
ROL random2
ADD R30,random1 ;N=N+X*64 èòîãî N= X*77
ADC R31,random2
ADIW R30,1 ;N=N + 1
MOV random1,R30 ;X=N
MOV random2,R31
; ANDI R31,0xE0 ;xxx0 0000
; CPI R31,0xC0
; BRCC randomize
; 0...5,0 0000
ANDI R31, 0x0F
loop: CPI R31, 0x0A
BRLO next
SUBI R31, 0x0A
rjmp loop
next: SWAP R31
LSR R31
; INC R31 ;0000 0,1...6
MOV random,R31
Я правильно сделала? числа выводится только 0,5,8(
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс май 27, 2012 21:09:58
Alkul
мелкая писал(а):Может кто нибудь объяснит как изменить код что бы получить интервал 1)0-6 2)0-9
под "интервалом" тут понимается количество итераций?