Модификация операндов машинной команды при линковке

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Модификация операндов машинной команды при линковке

Сообщение scorpi_0n »

ptr128 писал(а): Всем давно известно, что в ядре Cortex-M3 проблема атомарности сброса и установки битов решена аппаратным путем благодаря специальным регистрам BSRR и BRR.
Боюсь что это известно только вам и никому более. Вы опять несёте бред! Cortex-M3 никакого отношения к BSRR не имеет! Cortex-M3 это ядро от АРМ, а BSRR это регистр периферии от СТМ. Понимаете разницу? Думаю что нет!
Остановитесь уже и приведите свои мозги в порядок!
Реклама
Аватара пользователя
ptr128
Вымогатель припоя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Re: Модификация операндов машинной команды при линковке

Сообщение ptr128 »

scorpi_0n писал(а):
ptr128 писал(а): Всем давно известно, что в ядре Cortex-M3 проблема атомарности сброса и установки битов решена аппаратным путем благодаря специальным регистрам BSRR и BRR.
Понимаете разницу? Думаю что нет!
Не понимаю и понимать не хочу до тех пор пока ты не ответишь на два заданных вопроса и не принесешь извинения за хамство.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Модификация операндов машинной команды при линковке

Сообщение dosikus »

ptr128, упертый выходец с пц?
Знакомо до жути, все те же амбиции при полном отсутствии знаний...
Аватара пользователя
ptr128
Вымогатель припоя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Re: Модификация операндов машинной команды при линковке

Сообщение ptr128 »

dosikus писал(а):ptr128, упертый выходец с пц?
Знакомо до жути, все те же амбиции при полном отсутствии знаний...
Вы проявили потрясающие знания в этой фразе )))

Может быть, если Вы столь большой знаток, то сможете ответить на вопрос, на который scorpi_0n никак не может ответить?
scorpi_0n писал(а): Младшие ПИКи могут менять любой бит любого порта, регистра или ячейки памяти одной командой
...
Одной командой можно, потому что, дословно, "позволяют использовать номер бита или номер порта в команде из регистра."
В какой команде младшие PIC могут использовать номер бита из регистра, а не из кода команды?
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Модификация операндов машинной команды при линковке

Сообщение dosikus »

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

Кто виновен, что задачу выбрали под чип а не наоборот, как предписано? Теперь изобреДаете костыли со скриптами линкера.

Вам вопрос - что было причиной выбора как чипа так и дисплея? Что одно, что другое не лучший вариант.
Хотя, что толку -вы слышите только себя.
Реклама
Аватара пользователя
ptr128
Вымогатель припоя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Re: Модификация операндов машинной команды при линковке

Сообщение ptr128 »

dosikus писал(а): Вам вопрос - что было причиной выбора как чипа так и дисплея?
Я не понимаю Вас. Какая Вам разница, почему именно этот чип и этот дисплей?
Это шоу выглядит примерно так:

Подъезжает на велосипеде человек к группе людей и спрашивает:
- Как мне быстрее всего проехать к гастроному хлеба купить?
В ответ слышит:
- Да брось свой велосипед и иди прямо через эту стройку и по лестнице, там и магазин увидишь.
- Да вот автобуса дождись и на нем и езжай.
- Да выкинь свой велосипед и купи скуттер - быстрее доедешь
- На роликах можно правильней доехать, чем на твоем велосипеде.
- Что за уродство ездить на велосипеде? Купи автомобиль и не задавай глупых вопросов!
- И вообще велосипед - это навоз и ездить надо на мотоцикле!
- И велосипед у тебя с одной передней звездочкой и рама не их углеродного волокна.
- У тебя ни знаний и каша в голове, раз ты на велосипеде, а не на квадрацикле.

А ведь человек просто спросил, как ему быстрее на велосипеде за хлебом смотаться...
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Реклама
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Модификация операндов машинной команды при линковке

Сообщение scorpi_0n »

BOB51 писал(а): Однако...
речь идет о применении относительной адресации - указания произвольного адреса порта и произвольного адреса бита
(библиотечный модуль с подстановкой параметров "по настроению")
и выигрыш при том весьма спорный - что для АВР, что для "среднемладших" прийдется использовать команды косвенной адресации и "вспомогательные регистры" указателей адреса порта и номера бита.
8)
воть тут то и "гвоздик"...
ежли для АВР при дополнительном расходе трех регистров РОН это выглядит как уже вышеприведенное:
ld some_reg, X ; 2
or some_reg, some_mask ; 1
st X, some_reg ; 2
то у ПИКа...
ладушки... с косвенным адресом порта еще с горем пополам конструкция
bcf INDF,bit/bsf INDF,bit
разобраться может - НО... отдельно для каждого из бит порта и при "потере" единственного регистра косвенной адресации (у АВР таковых аж три - одним меньше...).
У новых ПИК16 два INDF, а у новых ПИК18 - три!
А вот как быть с произвольным номером бита порта?
Ведь также без помощи дополнительной маски и режима "чтение-модификация-запись" обойтись не получится.
К тому же еще стоит добавить кардинальное различие в организации самого обмена с портами ввода-вывода у АВР и "среднемладших" - простой установкой вывода маской без дополнительной трахотни в случае многоцелевого применения порта не обойтись...
У новых ПИК16 и ПИК18 есть регистр LATx.
A write operation to the LATx register has the same
effect as a write to the corresponding PORTx register.
A read of the LATx register reads of the values held in
the I/O PORT latches, while a read of the PORTx
register reads the actual I/O pin value.
Т.е. корявой ситуации с read-modify-write не будет. Там всё сведётся к двум командам - загрузки маски и обработки с выводом в порт. Два цикла против пяти на Меге.
Аватара пользователя
ptr128
Вымогатель припоя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Re: Модификация операндов машинной команды при линковке

Сообщение ptr128 »

scorpi_0n писал(а):
BOB51 писал(а): А вот как быть с произвольным номером бита порта?
Ведь также без помощи дополнительной маски и режима "чтение-модификация-запись" обойтись не получится.
У новых ПИК16 и ПИК18 есть регистр LATx.
Т.е. корявой ситуации с read-modify-write не будет. Там всё сведётся к двум командам - загрузки маски и обработки с выводом в порт. Два цикла против пяти на Меге.
LATx служит для совсем других целей.
Продолжение цитаты:
A read-modify-write operation on the LAT register, associated with an I/O port, avoids the possibility of writing the input pin values into the port latches. A write to the LATx register has the same effect as a write to the PORTx register.
То есть, для output pins ATMega мы тот же эффект получаем, читая не PINx регистр, а PORTx, как все нормальные люди и делают.

Все еще жду ответа на два вопроса:
1. Где пруф?
scorpi_0n писал(а): Младшие ПИКи могут менять любой бит любого порта, регистра или ячейки памяти одной командой
...
Одной командой можно, потому что, дословно, "позволяют использовать номер бита или номер порта в команде из регистра."
По второму вопросу в личке все еще пусто.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Модификация операндов машинной команды при линковке

Сообщение BOB51 »

Ну и нафлудили!
:shock:
Уважаемый scorpi_0n ежли есть желание к анализу "какая система команд и какое ядро МК в конкретном случае имеет конкретное перимущество", да с пользой для окружающих - прошу в мою тему:
http://radiokot.ru/forum/viewtopic.php?f=62&t=94201
только там требуется соблюдать правила насчет применяемых при обсуждении программ IDE и/или компиляторов/графических редакторов дабы любой смог повторить и проверить каждое из предложенных решений.
8)
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Модификация операндов машинной команды при линковке

Сообщение scorpi_0n »

BOB51 писал(а): Уважаемый scorpi_0n ежли есть желание к анализу "какая система команд и какое ядро МК в конкретном случае имеет конкретное перимущество", да с пользой для окружающих - прошу в мою тему:
Уважаемый BOB51! Спасибо большое за приглашение, но это больше ваша тема, тема-ностальжи. Зная о проблеме комплектующих в вашем регионе эта тема вполне имеет право на жизнь. Меня же больше интересуют новые МК, типа СТМ8 и СТМ32. Но если что-то подвернётся, обязательно воспользуюсь вашим приглашением. :beer:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Модификация операндов машинной команды при линковке

Сообщение BOB51 »

Вот так всегда как флудить - всегда рады, как конкретика - "а то усе старьё!"
8)
"Каждой деталюшке свое место и назначение"
:wink:
Ответить

Вернуться в «Разные вопросы по МК»