реклама на сайте
подробности

 
 
> PC +/- …
Wise
сообщение Apr 11 2011, 17:44
Сообщение #1


Пользователь забанен
*****

Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492



..Борюсь с атмегами.. о, как они мне не нравятся.. ну всё, буквально, претит.. rolleyes.gif

..Вопрос такой.
У PIC-ов есть возможность написать: гоу ту доллар +/-, скажем, 7.
И программа перейдет по указанному адресу.
У атмег, аналогичный вариант выглядит, как, PC +/- 7.
Как бы, это работает. Но, недавно, что-то не пошло, пришлось по фрагментам в студии рассматривать. И обнаружил, что не прыгает оно на семь указанных строчек, а прыгает на шесть. А в других случаях прыгало..
Если указать восемь, будет прыгать на семь.
..Это глюк такой или есть нюансы, которых не знаю?
..С PIC-ами таких проблем не было.

P.S. Настоятельная просьба ко всем, решившим сюда ответить: ни слова о Си. О его достоинствах, преимуществах и т. д. Ни слова! Или сразу закрою тему.


--------------------
It's me
Go to the top of the page
 
+Quote Post
12 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 99)
defunct
сообщение Apr 11 2011, 18:02
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Wise @ Apr 11 2011, 20:44) *
Или сразу закрою тему.

А про
LabelXX:
сказать можно?

По теме, длину команды учитываете? rjmp - одно слово, jmp - два.
Соответственно
rjmp PC + 7
jmp PC + 7
дадут разный результат, jmp прыгнет как раз на 6.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 11 2011, 18:08
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Wise @ Apr 11 2011, 21:44) *
... обнаружил, что не прыгает оно на семь указанных строчек, а прыгает на шесть. А в других случаях прыгало.. Если указать восемь, будет прыгать на семь.
Цифирка эта - число слов, а команда (ассемблерная строка) может занимать в памяти не одно слово. Вы это учитываете?
Go to the top of the page
 
+Quote Post
Wise
сообщение Apr 11 2011, 18:10
Сообщение #4


Пользователь забанен
*****

Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492



Цитата(defunct @ Apr 12 2011, 01:02) *
По теме, длину команды учитываете? rjmp - одно слово, jmp - два.
Соответственно
rjmp PC + 7
jmp PC + 7
дадут разный результат, jmp прыгнет как раз на 6.

Нет, не учитываю. В той атмеге, с которой сражаюсь, только команда rjmp.
А еще использовал команды типа brne, breq, brsh, brlo.
Вы не могли бы мне растолковать, что я должен учитывать?
..В описании команд не нашел понятие "число слов", там есть "машинные циклы".
Я-то считал, что, просто, должно отсчитать семь указанных строчек..

..Потому что, если смотреть все строчки, через которые оно должно перепрыгнуть, вариантов много может быть, за сколько тактов они исполняются.
И тогда, проще уже поставить метку. Но, с PIC-ами у меня ни разу такой хни не возникало. И там я никогда не подсчитывал никакие слова.. rolleyes.gif

..Можно ли сформулировать общее правило для подсчета, куда скакнет программа, поскольку, такая непредсказуемость обескураживает, а повсеместно ставить метки.. конечно, придется, но это только углубит "симпатии" к AVR.

..И еще, вопрос про АЦП. Есть программа, у которой два кольца. То есть, она может ходить по одному кругу, либо, по другому, в зависимости от ситуации. В обоих кругах, в числе прочего, оцифровывается одно и то же напряжение аккумуляторной батареи.
..Так вот! Результаты оцифровки разные, в каждом кругу, отличаются на 0,5--0,7 вольта! Хренею от атмеги.. rolleyes.gif
Не могу предположить, что здесь не так написано - совершенно одинаковые фрагменты программы в обоих случаях.
..Пока что, прагматично на это плюнул, еще не столь важно, но, в принципе, как же так.. rolleyes.gif


--------------------
It's me
Go to the top of the page
 
+Quote Post
нечитатель
сообщение Apr 11 2011, 23:56
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032



http://electronix.ru/forum/index.php?showt...st&p=896052

Цитата(Wise @ Apr 11 2011, 22:10) *
В описании команд не нашел понятие "число слов", там есть "машинные циклы".
LDS – Load Direct from Data Space... Words: 2 (4 bytes)
Цитата
отсчитать семь указанных строчек..
Адресов в памяти. Микросхема не умеет читать текст с экрана.
Цитата
если смотреть все... проще уже поставить метку.
Проще. И надёжнее. И читаемее.
Зато именованную метку нельзя в макросе. Который более чем один раз используется.
Зато для короткого перехода посчитать строчки адреса быстрее, чем напечатать MoePonyatnoeIUnikalnoeImyaMetki_nomer117.
Цитата
с PIC-ами у меня ни разу
Любая инструкция занимала в памяти ровно одно слово.
Цитата
общее правило для подсчета
Atmel AVR Instruction Set.
При внимательном рассмотрении понимается, что количество слов в каждой инструкции необходимо и достаточно для практического применения. И что это всё зубрить наизусть не обязательно, когда логика (что может поместиться в 16 бит opcode и что не может).

Цитата
И еще, вопрос про АЦП

http://electronix.ru/forum/index.php?showt...st&p=899169
http://electronix.ru/forum/index.php?showt...st&p=913607

Сообщение отредактировал нечитатель - Apr 12 2011, 00:32
Go to the top of the page
 
+Quote Post
alexeyv
сообщение Apr 12 2011, 05:58
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



Цитата
Зато именованную метку нельзя в макросе. Который более чем один раз используется.


Да ну?!?!
Код
.macro        read_eeprom
ee_r:    sbic    eecr,eewe
        rjmp    ee_r
        out        eearl,@1l
        out        eearh,@1h
        sbi        eecr,eere
ee_r1:    sbic    eecr,eewe
        rjmp    ee_r1
        in        @0,eedr
.endmacro
;Example ->    read_eeprom DAT_reg ,z


или ee_r1 и ee_r это не метки?
Go to the top of the page
 
+Quote Post
zombi
сообщение Apr 12 2011, 09:05
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Wise @ Apr 11 2011, 21:44) *
У атмег, аналогичный вариант выглядит, как, PC +/- 7.

Не могу понять о какой команде речь. Можно пример?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 12 2011, 09:45
Сообщение #8


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(zombi @ Apr 12 2011, 13:05) *
Не могу понять о какой команде речь. Можно пример?
Уже был:
Цитата(defunct @ Apr 11 2011, 22:02) *
rjmp PC + 7
jmp PC + 7
ИМХО писать программу с таким способом перехода - моветон (за очень и очень редким исключением).
Метки помогут отцу русской демократии.
Код
    ldi r16,5
loop:
    ....
    dec r16
    brne loop
И никаких запар с изменением размера тела цикла...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Wise
сообщение Apr 12 2011, 10:04
Сообщение #9


Пользователь забанен
*****

Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492



Цитата(demiurg_spb @ Apr 12 2011, 16:45) *
ИМХО писать программу с таким способом перехода - моветон (за очень и очень редким исключением).
Метки помогут отцу русской демократии.

..Метки отцу помогают..
Он ставит их в значимых местах программы.. и так, кое-где.. rolleyes.gif

..А вот "пи си плюс-минус" - очень удобно для тактических коротких переходов на обозримых кусках текста, моветон это или нет..
Потому что не наметишься.. если около сотни или больше всяких передвижений..

..А вообще, атмега - редкое фуфло..
Я как-нибудь соберу в кучу все свои претензии пользователя, да и выложу..
Пусть им (атмеговцам) будет стыдно.. rolleyes.gif


--------------------
It's me
Go to the top of the page
 
+Quote Post
zombi
сообщение Apr 12 2011, 10:22
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата
rjmp PC + 7
jmp PC + 7

Этож нафига такое нужно!?
Всю жизнь метки использую, и никаких проблем, прыгает всегда куда нужно biggrin.gif
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 12 2011, 10:28
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Wise @ Apr 12 2011, 14:04) *
Я как-нибудь соберу в кучу все свои претензии пользователя, да и выложу..
Пусть им (атмеговцам) будет стыдно..
Подозреваю, что стыдно им не будет. У них есть хорошая "отмазка": система команд оптимизированна под трансляторы с ЯВУ...
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Apr 12 2011, 10:35
Сообщение #12


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(zombi @ Apr 12 2011, 13:22) *
Этож нафига такое нужно!?
Всю жизнь метки использую, и никаких проблем, прыгает всегда куда нужно biggrin.gif

Ага, в макросах sm.gif - особенно! Много же там локальных меток можно наставить!
Атмеловские макросредства - это чудо структурно-прикладной лингвистики sm.gif

Цитата(Wise @ Apr 12 2011, 13:04) *
..А вообще, атмега - редкое фуфло..

и именно поэтому они дерут пики 18-е по скорости выполнения умножения 16*16 бит в 2 раза, и даже в 4 - на 20МГц biggrin.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 12 2011, 10:41
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(demiurg_spb @ Apr 12 2011, 13:45) *
ИМХО писать программу с таким способом перехода - моветон (за очень и очень редким исключением).
Метки помогут отцу русской демократии.

Спрошу интереса ради: какой-нибудь аврасм поновее не поддерживает ли временные метки?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Apr 12 2011, 11:51
Сообщение #14


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(aaarrr @ Apr 12 2011, 13:41) *
Спрошу интереса ради: какой-нибудь аврасм поновее не поддерживает ли временные метки?

Вроде нет до сих пор. Но могу ошибаться: после перехода на гнутый асм 3 года назад, как-то поотстал от шедевров.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Apr 12 2011, 11:55
Сообщение #15


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Вообще, не знаешь архитектуру = кривые руки.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 12 2011, 12:13
Сообщение #16


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Wise @ Apr 12 2011, 13:04) *
..А вообще, атмега - редкое фуфло..

Точно, поэтому бросьте затею с mega и работайте дальше с нетрыньдовым pic'ом у него команд меньше и все одной длины.


Цитата
Ага, в макросах - особенно! Много же там локальных меток можно наставить!

Любая метка объявленная внутри макроса становится локальной. Поверено.
Транслятор добавляет к имени метки @<имя макроса>@<уникальное число>.

Цитата
Спрошу интереса ради: какой-нибудь аврасм поновее не поддерживает ли временные метки?

уникальности внутренних меток можно добиться если не скупиться на длину оной и выработать правило для отличия внутренних от внешних меток.
Как для себя __ - значит внутренняя, потом первым словом копируется имя внешней метки и через двойное подчеркивание пишу имя локальной метки
Код
func1:

  ...
__func1__do_this:
  ...

__func1__do_that:
   ..
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Apr 12 2011, 12:17
Сообщение #17


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(defunct @ Apr 12 2011, 15:13) *
Любая метка объявленная внутри макроса становится локальной. Поверено.

С какой версии?
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 12 2011, 12:22
Сообщение #18


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(_Pasha @ Apr 12 2011, 15:17) *
С какой версии?

AVRASM: AVR macro assembler 2.1.42 (build 1796 Sep 15 2009 10:48:36)
Да и в более старых так было.

"С" какой именно версии - не отслеживал, но предположу что с очень древней, потому как, как начал пользовать макросы, так они себя и вели и ничего не менялось.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Apr 12 2011, 12:31
Сообщение #19


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(defunct @ Apr 12 2011, 15:22) *
Да и в более старых так было.

Наверняка оно в старых не работало. По этой причине макросы 16/32 битных операций образца 1999 - 2000 года были написаны без меток, с РС+N, и далее вопрос больше не подымался. Узнаю все больше нового.
Go to the top of the page
 
+Quote Post
Wise
сообщение Apr 12 2011, 14:08
Сообщение #20


Пользователь забанен
*****

Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492



Цитата(defunct @ Apr 12 2011, 19:13) *
Точно, поэтому бросьте затею с mega и работайте дальше с нетрыньдовым pic'ом у него команд меньше и все одной длины.

Да рад бы.. rolleyes.gif

..А если написал, что атмега - фуфло, значит, есть аргументы.


--------------------
It's me
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 12 2011, 14:14
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Apr 12 2011, 16:13) *
уникальности внутренних меток можно добиться если не скупиться на длину оной и выработать правило для отличия внутренних от внешних меток.
Как для себя __ - значит внутренняя, потом первым словом копируется имя внешней метки и через двойное подчеркивание пишу имя локальной метки

В том-то и дело, что уникальность эта вкупе с чрезмерной длиной даром не нужна, только текст засоряет.
Куда как удобнее было бы писать:
Код
0
    ...
    dec     r16
    brne   %b0
    ...
    brcs    %f0
    ...
0

Go to the top of the page
 
+Quote Post
zombi
сообщение Apr 12 2011, 14:51
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Интересно как сие решается у других процов (длина команды у которых может быть разной)?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Apr 12 2011, 15:01
Сообщение #23


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(zombi @ Apr 12 2011, 17:51) *
Интересно как сие решается у других процов (длина команды у которых может быть разной)?

Например, mlasm был такой, см. стр.60
Go to the top of the page
 
+Quote Post
zombi
сообщение Apr 12 2011, 15:46
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(_Pasha @ Apr 12 2011, 19:01) *
Например, mlasm был такой, см. стр.60

Прикольно, но как по мне, уж очень морочливо.
Проще уж метку поставить.
Тем более если
Цитата(defunct)
Любая метка объявленная внутри макроса становится локальной. Поверено.

Ну и навсяк случ скачать последнюю версию компилятора.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Apr 13 2011, 04:07
Сообщение #25


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Вообще- то по правильному это
Цитата
LOCAL <список-локальных-меток>

внутри макроса, и ессно до их использования.
Тем самым пересечение имен исключается на корню
Go to the top of the page
 
+Quote Post
ARV
сообщение Apr 13 2011, 04:33
Сообщение #26


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Цитата(Wise @ Apr 12 2011, 18:08) *
..А если написал, что атмега - фуфло, значит, есть аргументы.
блин, а мужики-то и не знают... biggrin.gif


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Apr 13 2011, 04:52
Сообщение #27


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Да, да. Атмегой плохо орехи колоть получается sm.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 13 2011, 05:12
Сообщение #28


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(aaarrr @ Apr 12 2011, 14:41) *
Спрошу интереса ради: какой-нибудь аврасм поновее не поддерживает ли временные метки?
За поновее не скажу, ибо с AVRASM лет 8 назад завязал, окромя крайне редких gnu-тых макро-асм вставок.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
ARV
сообщение Apr 13 2011, 06:19
Сообщение #29


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Цитата(demiurg_spb @ Apr 13 2011, 09:12) *
За поновее не скажу, ибо с AVRASM лет 8 назад завязал, окромя крайне редких gnu-тых макро-асм вставок.
вроде твердо помню: не поддерживал атмеловский ассемблер локальных меток в макросах... но вот под впечатлением от прочитанной темы взял и попробовал: гад, поддерживает! с какой именно версии стал поддерживать - не выяснил, но в ассемблерах (1 и 2 версий), идущих со студией 4.18 все метки в макросах являются локальными... в дизассемблированном коде переходы делаются правильно, ни ошибок ни варнингов о переопределении меток не выдается. чудеса! wacko.gif


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
zombi
сообщение Apr 13 2011, 12:24
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(ARV @ Apr 13 2011, 10:19) *
вроде твердо помню: не поддерживал атмеловский ассемблер локальных меток в макросах...

С чего Вы это взяли???

Специально тест написал:
CODE
;
.listmac
;--------------------------
.MACRO AAA
RJMP M2
M0: RJMP ME
M1: RJMP M0
M2: NOP
RJMP M1
ME: NOP
NOP
.ENDM
;--------------------------
;
CLI
RJMP RESET

.ORG $100

RESET: AAA
AAA
AAA
RJMP RESET


и странслировал двумя новыми AVRASMами:
Цитата(Atmel)
AVRASM: AVR macro assembler 1.77.3 (Nov 3 2009 14:11:39)
AVRASM: AVR macro assembler 2.1.42 (build 1796 Sep 15 2009 10:48:36)

и даже откопал 1996 года, куда уже старше biggrin.gif
Цитата(Atmel)
AVRASM: AVR macro assembler version 1.03a (Aug 26 1996 01:03:00)

ВСЕ НОРМАЛЬНО. ВСЕ МЕТКИ ЛОКАЛЬНЫ. НИКАКИХ ЕРРОРОВ!
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Apr 13 2011, 12:52
Сообщение #31





Guests






Цитата
Интересно как сие решается у других процов (длина команды у которых может быть разной)?

Очень просто все решается в нормальных процессорах. Во время выполнения текущей команды программный счетчик всегда смотрит на следующую команду. И это не зависит от длины текущей команды и ее функции (даже если это ветвление). Считается, что на момент выполнения выборка и декодирование команды уже произведены, и программный счетчик установлен уже на следующую (по естественному порядку выполнения) команду.
Если PC используется в качестве аргумента команды, то нужно считать, что он принимает именно такое значение.
Нормальные ассемблеры также принимают такое соглашение по умолчанию.
P.S. Естественно, что за всех производителей процессоров и всех писателей ассемблеров я ответить не могу. laughing.gif
Go to the top of the page
 
+Quote Post
zombi
сообщение Apr 13 2011, 13:25
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(@Ark @ Apr 13 2011, 16:52) *
Считается, что на момент выполнения выборка и декодирование команды уже произведены, и программный счетчик установлен уже на следующую (по естественному порядку выполнения) команду.

А разве бывает по другому?
Я так понял что речь о том что при выполнении команды
RJMP PC+X
происходит изменение PC на величину X адресов а "программистам" хотелось бы на X команд biggrin.gif
и если все команды занимают один адрес то все красиво, а вот если команды могут занимать более одного адреса вот тут-то и начинются чудеса у тех кто ленится метки использовать biggrin.gif biggrin.gif biggrin.gif
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 13 2011, 14:11
Сообщение #33


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Нефиг писать на ассемблере там где он не нужен.

Цитата(Wise @ Apr 11 2011, 21:44) *
...ни слова о Си. О его достоинствах, преимуществах и т. д. Ни слова! Или сразу закрою тему.
Давно пора.
Go to the top of the page
 
+Quote Post
zombi
сообщение Apr 13 2011, 15:15
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Wise @ Apr 12 2011, 14:04) *
..А вообще, атмега - редкое фуфло..
Я как-нибудь соберу в кучу все свои претензии пользователя, да и выложу..
Пусть им (атмеговцам) будет стыдно.. rolleyes.gif

Цитата(SysRq @ Apr 13 2011, 18:11) *
Цитата(Wise @ Apr 11 2011, 21:44) *
...ни слова о Си. О его достоинствах, преимуществах и т. д. Ни слова! Или сразу закрою тему.
Давно пора.

И что, так и будем дальше в неведении прозибать biggrin.gif
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 13 2011, 15:24
Сообщение #35


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(zombi @ Apr 13 2011, 19:15) *
И что, так и будем дальше в неведении прозибать biggrin.gif
Здесь одно из двух:

Цитата(Wise @ Apr 11 2011, 21:44) *
..Это глюк такой или есть нюансы, которых не знаю?

И очевидный ответ:
Цитата(GetSmart @ Apr 12 2011, 15:55) *
...не знаешь архитектуру = кривые руки.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Apr 13 2011, 17:28
Сообщение #36


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(zombi @ Apr 13 2011, 15:24) *
и даже откопал 1996 года, куда уже старше biggrin.gif

ДОСовский? Ы.
Go to the top of the page
 
+Quote Post
zombi
сообщение Apr 13 2011, 18:29
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(_Pasha @ Apr 13 2011, 21:28) *
ДОСовский? Ы.

Ага. Он даже про AT90S8515 ниче не знает!
Go to the top of the page
 
+Quote Post
forever_student
сообщение Apr 13 2011, 19:12
Сообщение #38


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 5-04-09
Из: Москва
Пользователь №: 47 180



Цитата(GetSmart @ Apr 13 2011, 08:52) *
Да, да. Атмегой плохо орехи колоть получается sm.gif

bb-offtopic.gif А гвозди забивать ваще никак crying.gif ...
Если уж совсем лениво Datasheet'ы читать, есть книга Евстифеева - практически их перевод на русский язык.

Цитата(Wise @ Apr 12 2011, 14:04) *
....А вообще, атмега - редкое фуфло...

Считал также первые три дня знакомства с ними (после PIC16).
Потом оказалось, что 99,9% их "фуфловости" - результат моих "гениальных" biggrin.gif упражнений в программировании.
Go to the top of the page
 
+Quote Post
Wise
сообщение Apr 13 2011, 20:37
Сообщение #39


Пользователь забанен
*****

Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492



Цитата(zombi @ Apr 13 2011, 20:25) *
Я так понял что речь о том что при выполнении команды
RJMP PC+X
происходит изменение PC на величину X адресов а "программистам" хотелось бы на X команд biggrin.gif
и если все команды занимают один адрес то все красиво, а вот если команды могут занимать более одного адреса вот тут-то и начинются чудеса у тех кто ленится метки использовать biggrin.gif biggrin.gif biggrin.gif

Еще раз пост Ark-а перечитайте, он хорошо поясняет причину, по которой задан вопрос в теме.
Возможно, вы не поняли..

..Может быть, я и программист в кавычках, как вы отметили, однако, я не просил вас давать оценку моему уровню.
Для симметрии, хотите услышать мою оценку вашего уровня? У меня сложилось некоторое мнение, на основании ваших постов здесь..


Цитата(SysRq @ Apr 13 2011, 21:11) *
Нефиг писать на ассемблере там где он не нужен.

Давно пора.



Цитата(SysRq @ Apr 13 2011, 22:24) *
Здесь одно из двух:


И очевидный ответ:

Вы провокатор или хам?
..Кажется, ясно и вежливо попросил, в самом начале..
Хотите на грубость нарваться? да легко..


Цитата(forever_student @ Apr 14 2011, 02:12) *
Если уж совсем лениво Datasheet'ы читать, есть книга Евстифеева - практически их перевод на русский язык.


..Считал также первые три дня знакомства с ними (после PIC16).
Потом оказалось, что 99,9% их "фуфловости" - результат моих "гениальных" biggrin.gif упражнений в программировании.

Вы с чего взяли, что я не читал дэйтшиты и книги Евстифеева?
На чем такая уверенность основана, на том, что я задал вопрос?
Так для этого и форум..
..А книг, могу еще штук 16 перечислить, хотите?

..Я сказал, что выложу все свои "фи" атмегам, а их много накопилось, и выложу.
Но, сейчас я занят. Все позже.. rolleyes.gif


--------------------
It's me
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 20:52
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Wise @ Apr 12 2011, 14:04) *
..Метки отцу помогают..
Он ставит их в значимых местах программы.. и так, кое-где.. rolleyes.gif

..А вот "пи си плюс-минус" - очень удобно для тактических коротких переходов на обозримых кусках текста, моветон это или нет..
Потому что не наметишься.. если около сотни или больше всяких передвижений..


Чушь. Сударь явно любит садо-мазо. В особо извращенной форме - с ассемблером.
Переходите лучше на MS Paint
http://i.min.us/ikq8hS.gif


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2011, 21:01
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Oldring @ Apr 14 2011, 00:52) *
Чушь. Сударь явно любит садо-мазо.

Запомнить пару-тройку не однословных команд - садо-мазо? По-моему, сочинять безумные названия для меток куда хуже.
PC+/- - это единственная адекватная альтернатива временным меткам, к сожалению.
Go to the top of the page
 
+Quote Post
Wise
сообщение Apr 13 2011, 21:04
Сообщение #42


Пользователь забанен
*****

Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492



Цитата(Oldring @ Apr 14 2011, 03:52) *
Чушь. Сударь явно любит садо-мазо.

..Узнаю форум.. Понеслась..
Ваш пост, конечно, обоснован и не чушь?
Может быть, мне предположить, что вы любите?

..Если ветка будет сползать в сторону вот таких постов, как последние, закрою.
..Вот знал же, что бесполезно (мне) задавать здесь вопросы - на один корректный ответ по теме, будет дюжина дряни..
Но, профессионалы же ведь.. люди тактичные, вежливые, точные в своих ответах..
Щас, размечтался.


--------------------
It's me
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 21:06
Сообщение #43


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(aaarrr @ Apr 14 2011, 01:01) *
Запомнить пару-тройку не однословных команд - садо-мазо? По-моему, сочинять безумные названия для меток куда хуже.
PC+/- - это единственная адекватная альтернатива временным меткам, к сожалению.


Единственная адекватная альтернатива, когда проект разрастается и меток становится слишком много - воспользоваться достижениями цивилизации в виде полноценной среды с нормальными макрассемблером и линкером, позволяющими собирать проект из отдельных модулей. Хоть IAR, хоть гнушными тулзами.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Wise
сообщение Apr 13 2011, 21:12
Сообщение #44


Пользователь забанен
*****

Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492



Цитата(aaarrr @ Apr 14 2011, 04:01) *
Запомнить пару-тройку не однословных команд

Для 48-ой атмеги (с которой бьюсь rolleyes.gif) - ровно четыре, если не ошибся.


--------------------
It's me
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 13 2011, 21:15
Сообщение #45


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(Wise @ Apr 14 2011, 00:37) *
Вы провокатор или хам?
Си, сеньор lol.gif


Цитата(aaarrr @ Apr 14 2011, 01:01) *
По-моему, сочинять безумные названия для меток куда хуже.
Зачем безумные? Названия должны помогать читать написанный алгоритм. Правильные названия меток и переменных куда лучше часто встречающихся в коде комментариев типа "; переход, если не равно".
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 21:16
Сообщение #46


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Wise @ Apr 14 2011, 01:12) *
Для 48-ой атмеги (с которой бьюсь rolleyes.gif) - ровно четыре, если не ошибся.


В древние времена многим приходилось писать и без всякого ассемблера, в машинных кодах. Первые ассемблеры были написаны так совершенно точно. Команд там всего-ничего, для настоящего профи их запомнить - не проблема. У меня до сих пор валяется программируемый калькулятор, как память, в котором приходилось коды команд помнить

Так зачем вам вообще ассемблер? laughing.gif


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2011, 21:29
Сообщение #47


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(SysRq @ Apr 14 2011, 01:15) *
Названия должны помогать читать написанный алгоритм. Правильные названия меток и переменных...

90% локальных меток название не нужно вообще. Алгоритм читать они только помешают.

Цитата(Oldring @ Apr 14 2011, 01:06) *
Единственная адекватная альтернатива, когда проект разрастается и меток становится слишком много...

Их всегда слишком много, даже если проект на две копейки.
Go to the top of the page
 
+Quote Post
Wise
сообщение Apr 13 2011, 21:30
Сообщение #48


Пользователь забанен
*****

Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492



Цитата(SysRq @ Apr 14 2011, 04:15) *
Си, сеньор lol.gif

..То есть, с вами нечего церемониться..
Да вы, похоже, еще и дурак - вопрос-то был риторический..

Цитата
Названия должны помогать читать написанный алгоритм.

Я тоже так думаю:
Цитата
..Метки отцу помогают..
Он ставит их в значимых местах программы.. и так, кое-где..


Цитата
Так зачем вам вообще ассемблер?

Олдринг, вы тоже хам и провокатор?
Я же просил, не обсуждать (сравнивать) ассемблер и Си.. или что там еще..
Это уже было и плохо кончилось..
Вы читать умеете?


--------------------
It's me
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 13 2011, 21:31
Сообщение #49


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(aaarrr @ Apr 14 2011, 01:20) *
90% локальных меток название не нужно вообще. Алгоритм читать они только помешают.
Ежели не трудно, приведите пример хороший такой ситуации. Хотелось бы все же понять логику такого подхода.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Apr 13 2011, 21:34
Сообщение #50


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(aaarrr @ Apr 14 2011, 01:01) *
Запомнить пару-тройку не однословных команд - садо-мазо? По-моему, сочинять безумные названия для меток куда хуже.
PC+/- - это единственная адекватная альтернатива временным меткам, к сожалению.

+1024. И вот конструкция breq PC+2 rjmp xxx мне кажется куда более наглядной, чем тупая установка очередной метки. Правда, если вдруг не доглядеть, и rjmp при очередной переделке превратится в jmp, будет неприятно..
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 21:37
Сообщение #51


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(aaarrr @ Apr 14 2011, 01:29) *
Их всегда слишком много, даже если проект на две копейки.


Это сколько же у вас меток в одном модуле встречается? laughing.gif
26 букв английского алфавита плюс 10 цифр дают 35594 различные метки длиной до трех символов, что, как мне кажется, должно полностью удовлетворить любителей бессмыссленных меток. Вы не пробовали преодолеть границы сознания, расширив кругозор до 4 символов?

Цитата(Wise @ Apr 14 2011, 01:30) *
Олдринг, вы тоже хам и провокатор?


Я трачу своё время на обучение начинающего, поместившего свой вопрос в теме "в помощь начинающему". Вы против того, что я при этом еще и немного веселюсь?


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2011, 21:39
Сообщение #52


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(SysRq @ Apr 14 2011, 01:31) *
Ежели не трудно, приведите пример хороший такой ситуации. Хотелось бы все же понять логику такого подхода.

Пожалуйста:
Код
brne    PC + 2
rjmp    xxx

...

sbis    REG, BIT
rjmp    PC - 1

А еще короткие (на 3-5 строк) циклы и тому подобное.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 21:40
Сообщение #53


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(aaarrr @ Apr 14 2011, 01:39) *
Пожалуйста:


Повбивав би cranky.gif


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2011, 21:43
Сообщение #54


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Oldring @ Apr 14 2011, 01:40) *
Повбивав би cranky.gif

Надо полагать, ваше сознание не вмещает столь сложные конструкции, весельчак вы наш?
Go to the top of the page
 
+Quote Post
Wise
сообщение Apr 13 2011, 21:45
Сообщение #55


Пользователь забанен
*****

Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492



Цитата(Oldring @ Apr 14 2011, 04:37) *
Я трачу своё время на обучение начинающего, поместившего свой вопрос в теме "в помощь начинающему". Вы против того, что я при этом еще и немного веселюсь?

Вы думаете, что форум "для начинающих" - место для веселья?
Администрация, вероятно, вас не поймет.
А если вы продолжите - я сам лично, вас пошлю..
Надеюсь, в этом нет сомнений?


--------------------
It's me
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 21:47
Сообщение #56


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(aaarrr @ Apr 14 2011, 01:43) *
Надо полагать, ваше расширенное сознание не вмещает столь сложные конструкции, весельчак вы наш?



Да, я не помню и не хочу помнить, как именно там работает PC. На ARM, например, счетчик команд работает совершенно иначе.
И интересно было бы посмотреть на вас, пишущего в таком же стиле на x86 ассемблере.

Цитата(Wise @ Apr 14 2011, 01:45) *
Вы думаете, что форум "для начинающих" - место для веселья?
Администрация, вероятно, вас не поймет.
А если вы продолжите - я сам лично, вас пошлю..
Надеюсь, в этом нет сомнений?


Я думаю, что веселиться можно везде - правила форума этого не запрещают.
Пошлете вы или нет - вот это мне совершенно безразлично, профи вы наш. laughing.gif


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 13 2011, 21:50
Сообщение #57


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(aaarrr @ Apr 14 2011, 01:39) *
Пожалуйста:
Плохой пример sad.gif Вполне стоит поставить метку, именем её показать чего же мы тут ждём в этом коде. С ветвлениями аналогично: указать, к примеру, причину, вызвавшую переход в ту или иную ветку. С циклами вообще печально, ибо при последующих правках вероятность случайно заложить ошибку в коде резко возрастает.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2011, 21:51
Сообщение #58


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Oldring @ Apr 14 2011, 01:45) *
Да, я не помню и не хочу помнить, как именно там работает PC.

Да просто он там работает, в том-то и дело.

Цитата(Oldring @ Apr 14 2011, 01:45) *
На ARM, например, счетчик команд работает совершенно иначе.

И что же, мне это как-то помешает писать, например:
Код
mov     lr, pc
bx      r0

?
Совсем даже наоборот.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 21:53
Сообщение #59


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(aaarrr @ Apr 14 2011, 01:51) *
Да просто он там работает, в том-то и дело.


Главное, чтобы там он не думал.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2011, 21:54
Сообщение #60


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(SysRq @ Apr 14 2011, 01:50) *
С ветвлениями аналогично: указать, к примеру, причину, вызвавшую переход в ту или иную ветку.

А если причина - выход за допустимые пределы команды branch? Собственно, такой пример я и показал.

Цитата(SysRq @ Apr 14 2011, 01:50) *
С циклами вообще печально, ибо при последующих правках вероятность случайно заложить ошибку в коде резко возрастает.

Я не утверждаю, что в циклах нужно использовать PC+/- (и не использую), но название метки там тоже в подавляющем большинстве случаев не нужно.
Go to the top of the page
 
+Quote Post
Wise
сообщение Apr 13 2011, 21:54
Сообщение #61


Пользователь забанен
*****

Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492



Цитата(Oldring @ Apr 14 2011, 04:47) *
Я думаю, что веселиться можно везде - правила форума этого не запрещают.
Пошлете вы или нет - вот это мне совершенно безразлично, профи вы наш. laughing.gif

Нет, не везде..
Тем более, если вас заранее попросили..

..Я вас попросил, потом предупредил..
Профи я ваш или нет, а пойдете на ... публично, со страшной силой.


--------------------
It's me
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 21:57
Сообщение #62


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(aaarrr @ Apr 14 2011, 01:54) *
А если причина - выход за допустимые пределы команды branch? Собственно, такой пример я и показал.


Ну и напишите ту же метку с префиксом not например


Цитата(Wise @ Apr 14 2011, 01:54) *
Профи я ваш или нет, а пойдете на ... публично, со страшной силой.


Если вы готовы цинично и публично нарушить правила этого форума - вперед. Я сам с удовольствием зарепорчу ваш пост модераторам.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2011, 21:59
Сообщение #63


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Oldring @ Apr 14 2011, 01:57) *
Ну и напишите ту же метку с префиксом not например

Нет уж, спасибо - не хочу я на пустом месте плодить бездумную писанину.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 22:01
Сообщение #64


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(aaarrr @ Apr 14 2011, 01:59) *
Нет уж, спасибо - не хочу я на пустом месте плодить бездумную писанину.


Да пожалуйста. Надеюсь, мне никогда не придется читать ваш код с подобными переходами. А сами себе делайте что угодно.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 13 2011, 22:06
Сообщение #65


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(aaarrr @ Apr 14 2011, 01:54) *
А если причина - выход за допустимые пределы команды branch?
Очень натянуто как-то. При наличии команды пропуска следующей команды, срабатывающей при выполнении заданного условия, и, поскольку веток две, всегда можно сделать переход жестко, безусловными переходами.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2011, 22:07
Сообщение #66


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Oldring @ Apr 14 2011, 02:01) *
Надеюсь, мне никогда не придется читать ваш код с подобными переходами.

Должен вас обрадовать - это крайне маловероятно.

Цитата(Oldring @ Apr 14 2011, 02:01) *
А сами себе делайте что угодно.

Спасибо, дохтур.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 22:07
Сообщение #67


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(SysRq @ Apr 14 2011, 02:06) *
Очень натянуто как-то. При наличии команды пропуска следующей команды, срабатывающей при выполнении заданного условия, и, поскольку веток две, всегда можно сделать переход жестко, безусловными переходами.


Не всегда, но это не аргумент пользоваться такими "упрощениями".


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2011, 22:11
Сообщение #68


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(SysRq @ Apr 14 2011, 02:06) *
При наличии команды пропуска следующей команды, срабатывающей при выполнении заданного условия...

Какой такой команды? Для замены BRGE что предложите?
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 13 2011, 22:11
Сообщение #69


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(Oldring @ Apr 14 2011, 02:07) *
Не всегда...
Пример, пример давайте! Тема предметная, без примеров начинаются фломастеры на вкус и цвет rolleyes.gif
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 22:12
Сообщение #70


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(aaarrr @ Apr 14 2011, 02:07) *
Спасибо, дохтур.



Я не "дохтур".
Но вас я уже по этой истории конечно уже запомнил как человека, отстаивающего извращения в программировании.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Wise
сообщение Apr 13 2011, 22:13
Сообщение #71


Пользователь забанен
*****

Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492



Цитата(Oldring @ Apr 14 2011, 04:57) *
Если вы готовы цинично и публично нарушить правила этого форума - вперед. Я сам с удовольствием зарепорчу ваш пост модераторам.

Я-то готов, всегда.. когда не вижу других способов образумить..
Что вы провокатор - общеизвестно..
Флудите здесь который пост, да и нагло..

..Завтра днем зайду, если такая хрень продолжится - либо обматерю, либо обращусь к администрации.
Дерзайте..


--------------------
It's me
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Apr 13 2011, 22:14
Сообщение #72


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(SysRq @ Apr 14 2011, 02:06) *
Очень натянуто как-то. При наличии команды пропуска следующей команды, срабатывающей при выполнении заданного условия, и, поскольку веток две, всегда можно сделать переход жестко, безусловными переходами.

Где в AVR команда пропуска по условию ? По битам в i/o или в регистрах - да. А вот по битам в регистре состояния - облом. Вообще, IMHO, глупо было выносить SREG из зоны доступности sbis/sbic - в PIC16 этот момент гораздо приятнее...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2011, 22:15
Сообщение #73


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Oldring @ Apr 14 2011, 02:12) *
Я не "дохтур".

А похожи.

Цитата(Oldring @ Apr 14 2011, 02:12) *
Но вас я уже по этой истории конечно уже запомнил как человека, отстаивающего извращения в программировании.

Ну, если включать иногда на секунду мозг считается извращением, то я бессилен что-либо возразить.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 22:25
Сообщение #74


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(SysRq @ Apr 14 2011, 02:11) *
Пример, пример давайте! Тема предметная, без примеров начинаются фломастеры на вкус и цвет rolleyes.gif


Уже написали. brge/brlt.

Цитата(Wise @ Apr 14 2011, 02:13) *
..Завтра днем зайду


Приятных вам снов.

Цитата(aaarrr @ Apr 14 2011, 02:15) *
Ну, если включать иногда на секунду мозг считается извращением, то я бессилен что-либо возразить.


Нет, "включать мозги" как раз извращением не считается.
Извращение - это думать, что включаешь мозги, когда на самом деле - нет.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2011, 22:29
Сообщение #75


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Oldring @ Apr 14 2011, 02:21) *
Уже написали. brge/brlt.

Даже хуже. Как верно заметил rx3apf, SREG не попадает в область IO, соответственно, никакие из его флагов не доступны командам sbic/sbis.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 22:33
Сообщение #76


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(aaarrr @ Apr 14 2011, 02:29) *
Даже хуже. Как верно заметил rx3apf, SREG не попадает в область IO, соответственно, никакие из его флагов не доступны командам sbic/sbis.



Даже хуже, но это всё равно не аргумент, чтобы заниматься подобной хакерней.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 13 2011, 22:44
Сообщение #77


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(rx3apf @ Apr 14 2011, 02:14) *
По битам в i/o или в регистрах - да. А вот по битам в регистре состояния - облом.
Да. Но команда IN флаги не меняет, насколько я помню.

--

Цитата(aaarrr @ Apr 14 2011, 02:11) *
Для замены BRGE что предложите?
Осмысленные метки, я их изначально предлагаю biggrin.gif Ежели доводить до абсурда, то разложить на составляющие результат BRGE тоже возможно.

Цитата(aaarrr @ Apr 14 2011, 02:15) *
Ну, если включать иногда на секунду мозг считается извращением...
Вряд ли извращением, конечно, но неоправданным риском точно. Доверять сие стоит лишь транслятору с ЯВУ, т.к. он не ошибается.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2011, 22:50
Сообщение #78


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Oldring @ Apr 14 2011, 02:33) *
Даже хуже, но это всё равно не аргумент, чтобы заниматься подобной хакерней.

Нет, батенька, не тянут такие конструкции на "хак": слишком уж просто и очевидно.

P.S. Блестящий, остроумнейший неологизм! Примите мои искренние поздравления, маэстро.

Цитата(SysRq @ Apr 14 2011, 02:44) *
Да. Но команда IN флаги не меняет, насколько я помню.

Код
in      reg, SREG
sbrc    reg, BIT
rjmp    xxx

Несколько вычурно, не находите? Да и с GE/LT все равно облом.

Цитата(SysRq @ Apr 14 2011, 02:44) *
Вряд ли извращением, конечно, но неоправданным риском точно. Доверять сие стоит лишь транслятору с ЯВУ, т.к. он не ошибается.

Объясните мне, где я рискую ошибиться в такой конструкции:
Код
brhs    PC + 2
rjmp    xxx
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 13 2011, 23:06
Сообщение #79


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(aaarrr @ Apr 14 2011, 02:50) *
Нет, батенька, не тянут такие конструкции на "хак": слишком уж просто и очевидно.


Именно на хак и тянет.
Экономия в набивании нескольких символов за счет того, что повышается риск ошибоок при модификации программы и ухудшает видимость структуры программы. Метки, кстати, служат еще одной важной функции - показывают, куда может быть передано управление. Соответственно, иногда только текстовым поиском можно легко найти все места, откуда осуществляется переход на помеченную инструкцию.

Цитата(aaarrr @ Apr 14 2011, 02:50) *
Объясните мне, где я рискую ошибиться в такой конструкции:
Код
brhs    PC + 2
rjmp    xxx


На первый взгляд, конечно, кажется, что "brhs PC + 2" текстуально полностью эквивалентно скипу следующего rjmp, если применять единообразно. Но это неверно. Помню, как-то ради быстрого перехода на больший кристалл заменил в проекте все rjmp и rcall на jmp и call текстовой заменой wink.gif

Цитата(SysRq @ Apr 14 2011, 02:44) *
Доверять сие стоит лишь транслятору с ЯВУ, т.к. он не ошибается.


Все врут. laughing.gif

В моей практике было несколько случаев, когда аккуратное расследование показывало, что наврал именно транслятор. Даже такой хорошо известный и очень надежный транслятор, как MSVC 6.0


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 13 2011, 23:07
Сообщение #80


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(aaarrr @ Apr 14 2011, 02:50) *
Несколько вычурно, не находите?
Нахожу, конечно же. Однако, информативность кода та же, что без меток, но меньше шансов ляпнуть ошибку.

Цитата(aaarrr @ Apr 14 2011, 02:50) *
Да и с GE/LT все равно облом.
Нет, не облом, если декомпозировать команду. Но выглядеть будет крайне идиотски, не спорю.

Цитата(aaarrr @ Apr 14 2011, 02:50) *
Объясните мне, где я рискую ошибиться в такой конструкции:
Код
brhs    PC + 2
rjmp    xxx
В процессе правки заменить rjmp на jmp, потому что код разросся (а правили сложно, долго, и где-то много ниже этого вот места), и компилятор ругался на невозможность relative jump. Ошибка по невнимательности. Человеческий фактор.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 13 2011, 23:29
Сообщение #81


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Oldring @ Apr 14 2011, 03:06) *
Именно на хак и тянет.
Экономия в набивании нескольких символов за счет того, что повышается риск ошибоок при модификации программы и ухудшает видимость структуры программы. Метки, кстати, служат еще одной важной функции - показывают, куда может быть передано управление. Соответственно, иногда только текстовым поиском можно легко найти все места, откуда осуществляется переход на помеченную инструкцию.

Какой текстовый поиск? Речь идет об очевидных конструкциях. Ну куда еще может быть передано управление командой "rjmp PC - 1", кроме как на предыдущую?

Цитата(SysRq @ Apr 14 2011, 03:07) *
Нахожу, конечно же. Однако, информативность кода та же, что без меток, но меньше шансов ляпнуть ошибку.

Информативность много ниже. Я уж не говорю о потерянном времени и затраченном регистре.

Цитата(SysRq @ Apr 14 2011, 03:07) *
Нет, не облом, если декомпозировать команду. Но выглядеть будет крайне идиотски, не спорю.

Ну, так можно и до виртуальной машины дойти потихоньку.

Цитата(Oldring @ Apr 14 2011, 03:06) *
На первый взгляд, конечно, кажется, что "brhs PC + 2" текстуально полностью эквивалентно скипу следующего rjmp, если применять единообразно. Но это неверно. Помню, как-то ради быстрого перехода на больший кристалл заменил в проекте все rjmp и rcall на jmp и call текстовой заменой wink.gif

Цитата(SysRq @ Apr 14 2011, 03:07) *
В процессе правки заменить rjmp на jmp, потому что код разросся (а правили сложно, долго, и где-то много ниже этого вот места), и компилятор ругался на невозможность relative jump. Ошибка по невнимательности. Человеческий фактор.

Если уж мы имеем дело с ассемблером, то человеческий фактор и так проявляется на каждом шагу. В конце концов, можно и метку в процессе copy-paste воткнуть не туда. Поэтому элементарную внимательность никто не отменяет.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 13 2011, 23:58
Сообщение #82


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(aaarrr @ Apr 14 2011, 03:29) *
В конце концов...
Класс и цена ошибки другие. Время и усилия на поиск и устранения больше, последствия намного более непредсказуемые, поддерживать код сложнее.
Не вижу ничего хорошего в таком подходе, эх sad.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 14 2011, 00:21
Сообщение #83


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(SysRq @ Apr 14 2011, 03:58) *
Класс и цена ошибки другие. Время и усилия на поиск и устранения больше, последствия намного более непредсказуемые, поддерживать код сложнее.
Не вижу ничего хорошего в таком подходе, эх sad.gif

Я далек от того, чтобы вводить классификацию ошибок. А время на поиск и устранение вообще трудно предсказать. Вот попробуйте найти ошибку в такой конструкции:
Код
    ldi     r16, 0
    sbrс    r17, 2
    ldi     r16, 1

Пример вполне себе из жизни. Не дословно, конечно, но изюминка сохранена.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 14 2011, 00:48
Сообщение #84


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(aaarrr @ Apr 14 2011, 04:21) *
Вот попробуйте найти ошибку...
Чесгря, шрифты ошибку сдали сразу (сглаживание не работает на латинице в [сode]). Но, однако, разве компилятор не предупреждает о подобном?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 14 2011, 00:55
Сообщение #85


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(SysRq @ Apr 14 2011, 04:48) *
Но, однако, разве компилятор не предупреждает о подобном?

Не знаю, как на новых, но аврасм из студии 3.56 даже не морщится.
Да со шрифтами тогда мне так не повезло, естественно biggrin.gif
Go to the top of the page
 
+Quote Post
forever_student
сообщение Apr 14 2011, 02:30
Сообщение #86


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 5-04-09
Из: Москва
Пользователь №: 47 180



Цитата(Wise @ Apr 14 2011, 00:37) *
Вы с чего взяли, что я не читал дэйтшиты и книги Евстифеева?
На чем такая уверенность основана, на том, что я задал вопрос?

Sorry, если обидел... Не хотел.
Не уверенность, а , скорее, удивление ... не тому, что задан вопрос, а
какой вопрос задан.

Цитата(Wise @ Apr 14 2011, 00:37) *
..А книг, могу еще штук 16 перечислить, хотите?

Смысл? Их читать надо rolleyes.gif

Цитата(Wise @ Apr 14 2011, 00:37) *
..Я сказал, что выложу все свои "фи" атмегам, а их много накопилось, и выложу.
Но, сейчас я занят. Все позже.. rolleyes.gif

Было бы очень интересно.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 14 2011, 05:01
Сообщение #87


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(aaarrr @ Apr 14 2011, 04:21) *
Я далек от того, чтобы вводить классификацию ошибок. А время на поиск и устранение вообще трудно предсказать. Вот попробуйте найти ошибку в такой конструкции:
Код
    ldi     r16, 0
     sbrс    r17, 2
     ldi     r16, 1

Пример вполне себе из жизни. Не дословно, конечно, но изюминка сохранена.

Что-то не прожевать изюминку. Не вижу ничего криминального.
Колитесь, в чём фишкаsm.gif


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 14 2011, 05:31
Сообщение #88


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(demiurg_spb @ Apr 14 2011, 09:01) *
Колитесь, в чём фишкаsm.gif
Не можем. Топикстартер просил ни слова о том, что тут только кажется таковым, создавая фишку biggrin.gif
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 14 2011, 05:45
Сообщение #89


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Так ведь интересно!


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Apr 14 2011, 07:17
Сообщение #90


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Да интересно. Хоть я понял в чём ошибка решил проверить , а поймает её студия и получил результат не ловит. Хотя шрифт тут же ее выдал
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Rst7
сообщение Apr 14 2011, 07:18
Сообщение #91


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE (rx3apf @ Apr 14 2011, 01:14) *
Где в AVR команда пропуска по условию ? По битам в i/o или в регистрах - да. А вот по битам в регистре состояния - облом. Вообще, IMHO, глупо было выносить SREG из зоны доступности sbis/sbic - в PIC16 этот момент гораздо приятнее...



QUOTE (aaarrr @ Apr 14 2011, 01:29) *
Даже хуже. Как верно заметил rx3apf, SREG не попадает в область IO, соответственно, никакие из его флагов не доступны командам sbic/sbis.



QUOTE (Oldring @ Apr 14 2011, 01:33) *
Даже хуже, но это всё равно не аргумент, чтобы заниматься подобной хакерней.



Простите, господа, но не ожидал я от Вас такого загона. Скажите, какая разница между SBxx (выполнение следующей команды через такт или невыполнение стоимостью 2 такта) и BRxx (с крайним случаем перехода через команду - выполнение следующей команды через такт (переход не выполняется) или невыполнение при помощи перехода, а не пропуска, тоже ценой 2 такта)?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 14 2011, 07:36
Сообщение #92


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(ILYAUL @ Apr 14 2011, 11:17) *
...решил проверить , а поймает её студия и получил результат не ловит.
У меня противоположный результат (проверил только вот; дома AVRStudio не было на ПК). AVRASM: AVR macro assembler 2.1.42 (build 1796 Sep 15 2009 10:48:36) успешно обнаруживает и соответствующим образом ругается.

--

Цитата(Rst7 @ Apr 14 2011, 11:18) *
Скажите, какая разница...
В первом случае отсутствие необходимости указать куда переходить. Метка. Суть темы, собственно.
Go to the top of the page
 
+Quote Post
zombi
сообщение Apr 14 2011, 07:37
Сообщение #93


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Wise @ Apr 14 2011, 00:37) *
..Может быть, я и программист в кавычках, как вы отметили, однако, я не просил вас давать оценку моему уровню.

Под "программистами" я не имел ввиду конкретно Вас, сорри если Вы приняли на свой счет.
Цитата(Wise @ Apr 14 2011, 00:37) *
Для симметрии, хотите услышать мою оценку вашего уровня? У меня сложилось некоторое мнение, на основании ваших постов здесь..

Представляю оценку biggrin.gif . Стыдно признаться, но я ни разу не использовал мнемонику PC+/-7.
Цитата(Wise @ Apr 14 2011, 00:37) *
Еще раз пост Ark-а перечитайте, он хорошо поясняет причину, по которой задан вопрос в теме.
Возможно, вы не поняли..

Возможно и я не понял.

Но я всетаки хочу разобраться и понять вконце концов суть вашего вопроса.
Попробую сформулировать по другому:
Вы утверждаете что ATMELовские трансляторы не правильно компилируют некоторые команды у которых аргументом является програмный счётчик?
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Apr 14 2011, 07:40
Сообщение #94


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Rst7 @ Apr 14 2011, 11:18) *
Простите, господа, но не ожидал я от Вас такого загона. Скажите, какая разница между SBxx (выполнение следующей команды через такт или невыполнение стоимостью 2 такта) и BRxx (с крайним случаем перехода через команду - выполнение следующей команды через такт (переход не выполняется) или невыполнение при помощи перехода, а не пропуска, тоже ценой 2 такта)?

Разница принципиальная - с тупого конца разбивать, или с острого ! Присоединяйтесь к нашей партии !!! wink.gif
Go to the top of the page
 
+Quote Post
Rst7
сообщение Apr 14 2011, 07:44
Сообщение #95


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
В первом случае отсутствие необходимости указать куда переходить. Метка. Суть темы, собственно.


Нет. Суть темы - явно в кривых руках топикстартера. А это локальный оффтопик про якобы "говносистему команд". Причем, от профессионалов, что и удивляет.

QUOTE
Разница принципиальная - с тупого конца разбивать, или с острого !


Ах в этом смысле biggrin.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 14 2011, 07:45
Сообщение #96


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Rst7 @ Apr 14 2011, 11:18) *
Скажите, какая разница между SBxx (выполнение следующей команды через такт или невыполнение стоимостью 2 такта) и BRxx (с крайним случаем перехода через команду - выполнение следующей команды через такт (переход не выполняется) или невыполнение при помощи перехода, а не пропуска, тоже ценой 2 такта)?


Текстуальная. Что мы и обсуждаем.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 14 2011, 07:46
Сообщение #97


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



За всю жизнь переход без метки использовал только один раз:
CODE
        .section .drv.vectors,"ax",@progbits

        RJMP    ColdStart
        RJMP    . + 0x800 - 2      ; INT0_vect, redirect to application section
        RJMP    . + 0x800 - 2      ; INT1_vect, redirect to application section
        RJMP    . + 0x800 - 2      ; TIMER2_COMP_vect, redirect to application section
        RJMP    . + 0x800 - 2      ; TIMER2_OVF_vect, redirect to application section
        RJMP    TX_START_Handler   ; TIMER1_CAPT_vect
        ........
В остальных случаях хватало локальных и временных меток потому что гнутый асм их поддерживает. А студийный кроме них не поддерживает еще кучу всего и за это идет лесом сразу.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Rst7
сообщение Apr 14 2011, 07:48
Сообщение #98


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
Текстуальная.


Да ну? Напомню начальный вброс:

QUOTE
Вообще, IMHO, глупо было выносить SREG из зоны доступности sbis/sbic - в PIC16 этот момент гораздо приятнее...


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 14 2011, 07:52
Сообщение #99


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Rst7 @ Apr 14 2011, 11:48) *
Да ну? Напомню начальный вброс:


Не, фразой "даже хуже" обсуждалось, что brxx нельзя заменить на аналог sbrc без метки и хака с PC.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Apr 14 2011, 07:52
Сообщение #100


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Rst7 @ Apr 14 2011, 11:48) *
Да ну? Напомню начальный вброс:

Да ладно, грызня была уже до этого. Доступ к SREG разнообразил бы ассортимент команд, не плодя лишние опкоды, но и только. А основной вопрос - кошерно ли использовать PC в команде перехода. При наличии пропусков по состоянию бита в SREG во многих случаях такое и не потребовалось, но не всегда. В том и вопрос, что нагляднее - PC+2 или лишняя метка.
Go to the top of the page
 
+Quote Post

12 страниц V   1 2 3 > » 
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 09:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.0275 секунд с 7
ELECTRONIX ©2004-2016