Вт мар 10, 2020 21:01:24
Угу. Если это моя константа. Я же утверждаю, что так должны были сделать нормальные разработчики тех самых наборов описаний оборудования, которые мы включаем по .include для конкретного камня. А эти курили траву.Alexeyslav писал(а):Это не трава, а тот же самый способ задания констант что и ваш. Только более безопасный. Ваша константа в инклуднике даже в таком виде является магической - это просто плохая практика написания кода, которая предрасполагает к ошибкам по невнимательности
;----------
; Кусочек из содержимого 1200def.inc
.EQU ACD =0x80
.EQU ACO =0x20
.EQU ACI =0x10
.EQU ACIE =0x08
.EQU ADIany =0x00
.EQU ADI10 =0x02
.EQU ADI01 =0x03
;----------
.include <1200inc.def>
; мой код
; ...............
LDI R16,AD01 | ACD ; запретим аналоговый компаратор и сделаем прерывания от него по переключению выхода компаратора из 0 в 1
OUT ACSR,R16
; .................
CBI ACSR,bitno(ACD) ; включим аналоговый компаратор
; ..................
SBI ACSR,bitno(ACI) ; Разрешим прерывания от аналогового компаратора.
Вт мар 10, 2020 21:09:46
Вт мар 10, 2020 21:42:24
Вт мар 10, 2020 21:55:09
за всех не поручучь, но за себя могу сказать: в состоянии.КРАМ писал(а):Или Вы и впрямь не в состоянии понять элементарное?
Вт мар 10, 2020 21:58:16
а чем "именованная область" в ОЗУ отличается от "именованной области" в ЕЕПРОМе?КРАМ писал(а):Проблема с ЕЕПРОМом не в том, что код содержит более одной инструкции, а в том, что оный ЕЕПРОМ в принципе не расположен в поле определения переменных
если скопировал ты данные из ЕЕПРОМа в ОЗУ, то и там в AVR не сможешь ими пользоваться напрямую, так как ни сложить, ни вычесть и никакую другую операцию со своей мнимой "переменной" в ОЗУ ты сделать не сможешь, пока не скопируешь ее в регистр.КРАМ писал(а):Но можно пользоваться и копией, назвав ее подобающим образом
Вт мар 10, 2020 22:01:45
и не только в AVR, а вообще в любом ассемблере (за небольшим исключением системы команд i80x86)Starichok51 писал(а):то и там в AVR не сможешь ими пользоваться напрямую
Вт мар 10, 2020 22:10:18
Нет, это особенности мышления отъявленного паскалянта, не видевшего ничего, кроме Паскаля на писюке. И не видевшего ни одного приличного макроассемблера. Да, под современные "большие" процессоры на асме особо не попрограммируешь - что под писюк, что под АРМ - и задачи для них, обычно, такие, что без языка высокого уровня не обойдешься, и требуется взаимодействие с большим количеством "чужого" софта - с операционкой, с библиотеками чужих программ и т.п. Соответственно, и ассемблеры для них не особо показательные. А вот на старых системах были шикарные макроассемблеры - что на Системе-360/370, что на PDP-11. Посмотрели бы, как это делается "по-взрослому", а потом и сочиняли асм для своего АВР...BOB51 писал(а):Это особенности риск - упрощенной системы команд.
Ср мар 11, 2020 04:52:30
Ср мар 11, 2020 07:26:04
если по-вашему это не меняет ничего, то нет разницы вот вообще никакой и между разными языками программирования вообще - от ассемблера не отличается ни паскаль, ни Си, ни даже php... так? подумаешь, идеология языков разная - программист-то все равно один и тот же...КРАМ писал(а):А что, собственно, это меняет
Ср мар 11, 2020 08:50:02
Ср мар 11, 2020 08:57:43
нет, я использую разные аналогии из предметной темы и вне её для более красочной демонстрации собственных мыслей.КРАМ писал(а):Вы постоянно подменяете предмет обсуждения.
ассемблер - вполне самостоятельный язык программировния с давным-давно устоявшимися "традициями". понятное дело, что ряд важных моментов является платформозависимым (я бы даже сказал - производителезависимым), например, мнемоники команд, но добрая часть остального (формат записей, способ комментирования, ряд ключевых слов, понятие макросов, меток, терминология и т.п.) является устоявшейся и неизменнойКРАМ писал(а):Разница между языками высокого уровня никакого отношения к разнице между ассемблером и ЯВУ не имеет.
нет. ассемблер МОЖЕТ это делать, но НЕ ОБЯЗАН. ассемблер - вполне самостоятельный язык для создания проектов без привлечения ЯВУ, примеров множество.КРАМ писал(а):То есть ассемблер так или иначе должен сублимировать абстракции того ЯВУ с которым он взаимодействует.
программист - может. но из-за этого в ЯЗЫКЕ эти абстракции не появляются.КРАМ писал(а):Поскольку написание на ассемблере связано с рядом известных сложностей, программист вынужден применять методы и абстракции ЯВУ
это несущественно для разбора ЯЗЫКА. в неумелых руках ЛЮБОЙ код, даже на ЯВУ, будет безобразным, и будет вызывать проблемы.КРАМ писал(а):Без этого код полученный на ассемблере будет безобразным во всех отношениях, а реализация на нем задач чуть более сложных, чем условное "мигание светодиодом", будет вызывать значительные проблемы.
модули ассемблера с ЯВУ взаимодействуют только одним способом - через соглашение о вызовах и передачи параметров, более никакой логики не требуется. это интерфейс между модулями, и, как правило, при этом используется именно термин "область памяти", а не "переменные". даже для реализации взаимодействия между модулями на разных ЯВУ, например, Си и Паскаля.КРАМ писал(а):Если программист понимает логику взаимодействия системы команд МК с ЯВУ, переход на другую платформу не вызовет никаких сложностей
логика существует, кто ж спорит.КРАМ писал(а):И оная логика ВСЕГДА СУЩЕСТВУЕТ, ибо система команд МК (начиная с некоторых пор, естественно) всегда адаптирована под компиляторы ЯВУ.
Ср мар 11, 2020 09:27:40
Ср мар 11, 2020 09:36:17
Ср мар 11, 2020 10:02:56
спишем это на эффект от переедания устрицКРАМ писал(а):По мне, так ... Пользы - никакой.
обратите свой взор вверх страницы - тему видите? разве там упомянут ассемблер, как этап компиляции? как этап он вообще мало кого интересует, т.к. ассемблерный код порождается, используется и уничтожается компилятором Си (или иного ЯВУ), и пролетает мимо программиста со свистом. а вот как инструмент разработки - очень даже.КРАМ писал(а):Как обычно. Подмена предмета.
ну, я бы не сказал... возможно, у вас плохо выходят проекты на "чистом" ассемблере, но даже на этом форуме есть люди, у которых это получается хорошо... поговорите с ними, может, и вам что-то поможет из их практик? учиться никогда не поздно, и вам в том числеКРАМ писал(а):Программы на нем лепит программист как ему Бог на душу положит. Результат примерно такой же.
это по большей части просто никому не нужно, т.к. проблема взаимодействия ассемблерных модулей с модулями на ЯВУ беспокоит явное меньшинство всех разработчиков...КРАМ писал(а):Это ровно то, чем большинство или ленится, или брезгует заниматься.
нет, скорее это для тех, кто имеет в себе силы и мужество подняться над этой формой и взглянуть без шор и темных очков на реальностьКРАМ писал(а):Для тех, кто не желает ничего знать кроме этой формы
Ср мар 11, 2020 10:08:26
Ср мар 11, 2020 10:11:02
Ср мар 11, 2020 10:13:55
я из большого спорта вышел по возрасту, и сейчас отношусь к зрителям. но былое все-таки бередит...КРАМ писал(а):Если Вы относитесь к большинству, тогда зачем пишите всякую ерунду про макросы для меньшинства?
Сб мар 21, 2020 15:00:35
Сб мар 21, 2020 15:55:52
Мяукните! писал(а):В идеале, должны поддерживаться на русском:
- имена меток (подпрограмм)
- имена макросов
- имена параметров в макросах
Сб мар 21, 2020 16:14:59