Перейти к содержанию

Отличие Ассемблеров


ток

Рекомендуемые сообщения

Всем привет.

Попробую сформулировать свой вопрос правильно. Решил заняться электроникой. Начну с аналоговой с прицелом на AVR. Пока буду разбираться с детальками, простыми схемами, решил параллельно изучать "компьютерный" ассемблер(NASM).

Вопрос такой: сильно ли "компьютерный" ассемблер отличается от AVR-ского? Разные имена команд, названия регистров - не в счёт. Как бы логика работы этих ассемблеров одинакова? Или не стоит тратить время на "компьютерный" ассемблер, мол, в AVR всё по-другому.

Надеюсь, что понятно сформулировал вопрос.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Ассемблер - язык, жёстко привязанный к архитектуре процессора. Естественно, для i386 и AVR он абсолютно разный. Переучиваться потом будет трудно. Знаю по своему опыту, когда пришлось переучиваться с PDP-8 (компьютер БК0010-01) на MCS-51, потом на PIC и AVR.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Переучиваться - это выбросить теперешние знания и всасывать другие. С ассемблером всё не так. Старого не бывает. ток, не слушайте предыдущего поста. Учите постепенно всё, завсегда пригодится. И ассемблер уляжется в голове для разных архитектур, и бэйсик ))), и Си, и Фортран, и Паскаль и всё остальное. Как что-то понадобится - слёту вспомнится. Но лучшая метода - учить по мере надобности, а не вхолостую, ради интереса.

Я не раздаю удочки. Я продаю рыбу.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

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

На ассемблере, скорее приходится мыслить категориями железа, нежели самого языка.

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

Ссылка на комментарий
Поделиться на другие сайты

Да не такой уж ассемблер и разный...И переучиваться - это не правильно подобранное слово.

Сам принцип команд на базовом уровне остаётся один и тот же, меняются только набор(количество) и мнемоники команд.

Допустим мне с 8080 на Z-80 "переучиваться" , было не так уж и сложно. У З-80 набор команд пошире и называются они по другому но принцип действия один и тот же..Команды пересылки данных не зависимо от количества регистров имеют один и тот же принцип, команды условного - безусловного (не зависимо короткий переход или длинный ) перехода то же ...и т.д.

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

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

Остаётся ещё синтаксис ассемблера...

Вот у ПЛИС наверное другой ассемблер, там всё совсем иначе чем у процессоров и одним набором команд и названиями тут не обойтись...

Изменено пользователем Лалюна

Не квалифицированный, но везучий электрик знает в лицо всех архангелов.

Прогресс сделал розетки недоступными для большинства детей. Умирают только самые одаренные.

Ссылка на комментарий
Поделиться на другие сайты

У ПЛИСин, ассемблера как такового быть не может по определению, там языки описания логики.

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

Ссылка на комментарий
Поделиться на другие сайты

Может, слово "переучиваться" я употребил неправильно. Нужно помнить особенности железа. Например, у PIC и AVR порты ввода/вывода устроены по разному, соответственно и инициализировать, писать-читать, включать подтяжку по разному. Ну и RISC и MISC - даже в работе с переменными (хранить всё в регистрах или памяти) идеология разная. У начинающего будет путаница при переходе на другую архитектуру.

Ссылка на комментарий
Поделиться на другие сайты

...Как бы логика работы этих ассемблеров одинакова?...

Как бы, да. Ассемблер - инструмент, с помощью которого, Вы будете задавать логику работы МК. Для этого нужно больше знать "железо". Поэтому делайте упор на изучение "внутренностей" МК, архитектуру, периферию, организацию памяти и др., параллельно изучая Ассемблер AVR.

"Компьютерный" пока оставьте в покое. Вам он не поможет в работе с МК AVR.

Ссылка на комментарий
Поделиться на другие сайты

В работе с компьютером тоже. В повседневном программировании он не применяется - только разработка уж совсем критичных к скорости мест и некоторых драйверов. К тому же AVR-ассемблер ИМХО проще x86-го.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

В работе с компьютером тоже. В повседневном программировании он не применяется - только разработка уж совсем критичных к скорости мест и некоторых драйверов. К тому же AVR-ассемблер ИМХО проще x86-го.

Я не собираюсь прям уж программировать для компа. Мне нужно просто привыкнуть к ассемблеру, чтобы потом перейти к AVR более-менее готовым.

Я, конечно, могу начать с протеуса, и сразу начать изучать AVR, но, помимо программирования, там ещё и схемы составлять надо, а я только собираюсь этому учиться.

Ссылка на комментарий
Поделиться на другие сайты

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

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Или родной отладчик Студии, или Протеус, если в железе лень. А VMLAB поддерживает AVR?

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Ясно. Но все равно в железе интереснее делать.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

На компьютерном ассемблере почти не пишут. Возьмите лучше Си. В отличие от ассемблера он кроссплатформенный (не без помощи программиста, конечно) и гораздо чаще используется.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Лучше чем изучать i386 ассемблер, изучать Си и его стандартные библиотеки.

Асм использовать только при оптимизации вручную.

Ссылка на комментарий
Поделиться на другие сайты

Ясно. Но все равно в железе интереснее делать.

В отличие от Студии, "железа" в VMLAB предостаточно. Даже на осциллограф тратиться не придется. :)

Что на столе разместить удалось (далеко не все). Есть некоторый набор внешней периферии (обвязка), подключаемая к выводам МК, работу которой можно наблюдать в том же Scope (осциллографе).

post-16151-0-27354900-1435560367_thumb.jpg

Си тоже принимает.

Изменено пользователем Геннадий
Ссылка на комментарий
Поделиться на другие сайты

В Протеусе тоже куча переферии. И отладчики кода там тоже есть.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

А в Протеусе есть компилятор и редактор? Протеус может представлять значения регистров в бинарном, шестнадцатеричном, десятичном значениях(одинарном и двойном размерах), в кодах ASCII? Он позволяет оперативно изменять значения регистров, RAM, портов ВВ, служебных регистров периферии, флагов (непосредственно во время отладки, без перезапуска)? Останавливать программу при обращении к ячейке памяти (запись/чтение/модификация)? Сколько каналов у осциллографа в Протеусе? Нет, для окончательной отладки схемы в целом он хорош. Для отладки/редактирования алгоритмов программы - хуже (менее удобен и неповоротлив).

Изменено пользователем Геннадий
Ссылка на комментарий
Поделиться на другие сайты

Большинство, из перечисленного, может. Даже коммпиллеры есть(ассембл. по минимуму), а если не устраивают, подключаются внешние.

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

Ссылка на комментарий
Поделиться на другие сайты

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

А есть ли у Протеуса режим Multiprocess? Одновременная отладка/компиляция/редактирование двух программ, взаимодействующих между собой МК (связанных по какому-либо интерфейсу или порту)?

Ссылка на комментарий
Поделиться на другие сайты

Редактор есть. Компилятор вроде тоже, мне его запустить не удалось, но тут возможно, система чудит. Она даже Студии компилировать мешает. Пока не починил утверждать отсутствие функционала не могу.

Значения регистров только шестнадцатеричные, причем придется вручную искать нужные адреса. С переменными проще, их отображение можно настраивать как угодно. Жаль нельзя скрыть ненужные.

Как менять значения на лету не нашел.

У одного осцилографа 4 канала, но никто не мешает использовать больше. Кроме того есть логические анализаторы, там каналов больше.

Одновременная симуляция нескольких контроллеров возможна, в том числе разных семейств (x51, ARM, AVR, PIC, Z80, x86 и др), хватило бы мощности компьютера. Кроме того, большое разнообразие аналоговых деталей.

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

Согласен. Отлаживать на нем каждый чих контроллера - ждать замучаешься. Но вот быстро "заглянуть в мозги" устройству, которое почему-то не желает работать вполне удобно.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Вот она ключевая фраза - "хватило бы мощности...". LABa справляется легко с двумя синхронизированными проектами без таких оговорок (отладка/редактирование/компиляция). Да и интерфейс более дружественный и удобный.

Если честно, у меня даже I7 захлебывается в Протеусе - осциллограф чудит (то есть линии, то нет). Больше 12-ти 595-х - все приехали (индикации не видно, только мерцание отдельных строк). Компилировать, даже пробовать не стал... Хотя большинство внешней периферии ведет себя предсказуемо и вполне могло бы оставаться в голове (не обязательно при отладке), всегда тянет нарисовать полную схему (при таки-то возможностях!) и все чаще встречаюсь с отсутствием моделей именно тех, которые требуются. А раз так, то и преимущества Протеуса пропадают.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Согласен, очень криво объяснил. Это работа трёх вольтовой линии, просто на диод шотки сдвоенный, на один анод приходит сигнал напрямую с трансформатора, а на второй через дроссель. Вольт/деление 5 вольт в клетке, тайминг по моему 10 МС. Третья фотография это сигнал на катодах уровень земли ровно по центру экрана. Но все линии по итогу в порядке 3.3 в, 5, в, 12 в и -12 в. Нагрузить все линии не могу сразу ,так как тут же выгорают транзисторы (имеется нагрузка 250 ватт по 10 ампер на каждую линию за исключением-12в), поэтому нагружаю 3.3 вольтовую линию на 10 ампер,  подключаю переменный резистор 50 ватт на 15 ом на 5 вольтовую линию и постепенно довожу до той той картины с перекосом (это гдето  50 ватт общее). По поводу микросхемы, вверху имеется скрин где между импульсами проскакивает мини импульс, если так можно сказать, он проскакивает и на одной  и на второй ноге (7,8). Микросхема не tl 494, а lw4933/abx942.1/c9421646. Далее они приходят на базы транзисторов 945g  коллекторы этих транзисторов соединены с  выводами трансформатора. Просто схема типовая, легче мне кажется просто привести фото самого блока, для тех кто разбирается будет гораздо информативне.  Диод шотки по 12 вольтовой линии был подгоревший, заменил на донора. Приводить скрины не буду что бы не захламлять тему. В итоге, пока все так же, при достижении определенной нагрузки суммарно где-то 50 ватт, появляется этот "выброс и перекос". По этому имеются мысли на два варианта, это микросхема , этот мини импульс между периодами, на низкой нагрузке особо не влияет, но при достижении определенной приводит с самовозбуждению входной цепи и непроизвольному открытию транзистора нижнего плеча. Либо дело в "горячей части", плавающий дефект в обвязке силовых ключей.  Спасибо за ответ.
    • @Gomerchik а вы контролировали как меняется уровень сигнала на А1 ардуины?
    • Спасибо за совет. Автором данного проекта я не являюсь, мне нужно было воссоздать уличный датчик для метеостанции взамен пропавшего(( Из разного найденного в интернете этот проект работает с моей станцией Орегон (спасибо автору). В понедельник попробую последовать Вашему совету. Но все равно куча непоняток  как блин это работает)) Если дело в неправильной отправки команды, то как на это влияет подключение датчика температуры? Если совсем не подключать таймер, то передача идет один раз (как и прописано в программе), станция принимает и отображает, но минут через сколько-то естественно станция уже ни чего не показывает, но с таймером питание полностью не пропадает с ардуинки, но передача сигнала каким-то образом работает по таймеру.  В моем понимании данная команда подается один раз потому, что таймер должен отключать питание МК после передачи сигнала и каждые 43 сек снова подавать питание (так того требует станция).  Ардуино передает показания температуры отключается полностью и 43 секунды мк не работает.  Сейчас у меня питание пока сделано на подпитке от солнечной батареи, но пару пасмурных дней и аккумулятор съедается до отключения(
    • thickman Так и сделаю. Вытащу из бу БП.  Буду знать, как отличить. Благодарю. Заменил транзисторы на IRFB20N50K. Картина стала, совсем другой.  Похоже трудность не в драйвере, на момент подвозбуда, переходные процессы, в нем, завершены. Увеличил затворные резисторы до 50ом, стало немного лучше.  Не понятно, почему верхний ключ греется несколько сильнее. Возможно, стоит посмотреть ток в коллекторе.  Снабберные емкости временно удалил, изменений не произошло.  Замена ТГР на другой, на кольце MSTN-16A-TH, так же, результата не принесла.   irfb20n50k.pdf
    • А что нить из ассортимента активных щупов производства СССР..))
    • Типа такого: https://aliexpress.ru/item/2044864227.html?sku_id=58855020183
×
×
  • Создать...