Страница 203 из 400
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Чт сен 05, 2013 11:25:45
akl
Gudd-Head писал(а):Единственное что они могли сделать во всех АВРках, это чтобы стек после ресета настраивался сам.
Замечу, не во всех.
В той же mega8a до сих пор нет. Так что стек лучше настраивать вручную.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Чт сен 05, 2013 11:26:03
Gudd-Head
COKPOWEHEU писал(а):Не стоит.
Да ну? Лучше когда там $0000, что ли? И при первом же push'е сваливается в $FFFF?
akl писал(а):В той же mega8a до сих пор нет.
Я имел в виду МОГЛИ БЫ.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Чт сен 05, 2013 11:38:19
COKPOWEHEU
Да я знаю что там этого не сделано

Я про то что делать это и не надо, тем более что у разных контроллеров разный объем ОЗУ, соответственно разный адрес ее конца. Да и нагляднее так: если уж руками выставил стек, может будешь помнить что туда писать что попало не стоит. А если автоматически сгенерировалось, как в ЯВУ, например, так там и к памяти просто так не обратишься.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Чт сен 05, 2013 11:41:50
Gudd-Head
COKPOWEHEU писал(а):тем более что у разных контроллеров разный объем ОЗУ, соответственно разный адрес ее конца

Естессно. Для каждого МК свой адрес стека. А СДЕЛАНО это, например, у 13-й Тиньки.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Чт сен 05, 2013 12:43:48
COKPOWEHEU
Да? Не знал. Но все равно лучше перестраховаться и указать стек явно.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Чт сен 05, 2013 12:46:06
Gudd-Head
COKPOWEHEU писал(а):Да? Не знал.
И не только у неё, во
всех многих новых камнях.
COKPOWEHEU писал(а):Но все равно лучше перестраховаться и указать стек явно.
Лучше перестраховаться и почитать самый последний ДШ. Или вы перестраховываетесь и после ресета всю периферию отключаете и порты в Z-состояние переводите?

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Чт сен 05, 2013 13:51:29
COKPOWEHEU
Конечно инициализирую. Не отслеживать же чем этот ресет был вызван, началом работы, сбросом или там собакой.
Слово "переносимость" знакомо?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Чт сен 05, 2013 22:02:10
FreshMan
и снова о старом:
rcall годится при обьеме памяти до 8к
call годится при обьеме памяти до 64к
а что же используется в тех МК где память перевалила за рубеж 64к ?

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Чт сен 05, 2013 22:35:18
Alexeyslav
А там используют iCall и/или "удлинители". Как правило, контроллеры с таким объемом флеша не содержат столько кода, объем этот преимущественно используется для размещения ресурсов(таблиц преобразования, картинок, шрифтов, звуков).
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Чт сен 05, 2013 23:12:03
ploop
Что rcall/call, что rjmp/jmp применяется к месту. Если в МК 64 кило флеша, это не значит, что все прыжки будут с начала в конец. Подавляющее большинство - всего на несколько слов, может только раз или два во всём проекте пригодится прыгнуть дальше.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт сен 06, 2013 10:03:03
FreshMan
ploop писал(а):может только раз или два во всём проекте пригодится прыгнуть дальше.
и шо тогда делать?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт сен 06, 2013 10:31:01
a_skr
прыгать два (или больше) раза:
jmp m1
...
m_1: rjmp m_2
m1: jmp m2
m_2:
...
m2:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт сен 06, 2013 10:31:14
ploop
и шо тогда делать?
Использовать rjmp/rcall и не париться. Если вдруг размер прыжка превысит их возможности - компилятор выдаст ошибку, сотрёшь буквочку R, и волосы станут мягкими и шелковистыми.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт сен 06, 2013 15:14:59
Kavka
FreshMan писал(а):и снова о старом:
rcall годится при обьеме памяти до 8к
call годится при обьеме памяти до 64к
а что же используется в тех МК где память перевалила за рубеж 64к ?

Начнём с того, что слово объём пишется с твёрдым знаком.
Далее. Вы странный какой-то. Что ж вы про BRNE и и прочие BRxx не написали. А они вообще +-64 слова позволяют прыгать. И что, по вашему, их нигде нельзя использовать?

Продолжим. RCALL/RJMP прыгают на +-2 кило
слова, что соответствует +-4 килобайта, т.е. 8 кб. Тут нормально.
А вот CALL/JMP адресуют 64 кило
слова, т.е. вплоть до
128 килобайт никаких наворотов в виде EICALL/EIJMP не требуется.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт сен 06, 2013 15:36:09
FreshMan
Kavka писал(а):Начнём с того, что слово объём пишется с твёрдым знаком.
покорнейше прошу меня извинить, если это вас так задело......, училися я в украинской школе и русский язык знаю по наслышке, поэтому покорнейше прошу вас не презирать меня за это
по остальному: буду учить

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт сен 06, 2013 18:39:28
Kavka
Не, не задело. Надо же с чего то начать.

Меня самого тут поймали и носом ткнули, что с ошибками написал.

Так что никто не застрахован от ошибок. Поторопились, отвлеклись там, или ещё чего и опа...

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб сен 07, 2013 11:10:28
FreshMan
правильно ли я разумею
если при сложении двух регистров их сумма не превысит 255 и соответственно не будет переноса то только тогда мы прыгнем на строчку
nocarry
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб сен 07, 2013 11:34:02
Kavka
Правильно.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс сен 08, 2013 11:59:34
FreshMan
штудирую ликбез
http://radiokot.ru/start/mcu_fpga/avr/12/
не совсем понятно вот это место

может кто в силах обяснить более понятно зачем там умножение на 2 ?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс сен 08, 2013 12:30:45
Alexeyslav
А что именно из написанного до тебя не доходит? дескать, чтобы умножить на два зачем мы умножаем на два?