существует ли пособие типа крупник изучаем си но асму?
с чего начать? хотелось бы базу понять.
в xp debug был помню. можно было com-файлы создавать.
но изучать не стал. хотя помню было интересно.
еще IL в дотнете, это ж тоже по сути асм.
только вот в корке компайлера нет кажись.
Осознай хотя бы то, что на асме твоя производительность упадёт в 10 раз. И не факт, что улучшится скорость программ. Понимаемость программы — эээ... она попросту отсутствует. Сопровождаемость — где-то возле плинтуса. Ты ЭТОГО хотел??
vaa>еще IL в дотнете, это ж тоже по сути асм.
Вообще ни разу. IL — это высокоуровневый псевдокод, к процам имеет довольно слабое отношение.
vaa>только вот в корке компайлера нет кажись.
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>GNU Assembler бери, по нему много книжек, он доступен сам-по-себе (а это важно).
Что такое "доступен само по себе"? На венде его в принципе нет.
А с т.з. синтаксиса это вообще капец полный — ты его потому и советуешь, что ничего на нём никогда не писал.
Если уж маяться ассемблерной дурью, то либо fasm, либо nasm.
Здравствуйте, vaa, Вы писали:
vaa>существует ли пособие типа крупник изучаем си но асму? vaa>с чего начать? хотелось бы базу понять. vaa>в xp debug был помню. можно было com-файлы создавать.
vaa>но изучать не стал. хотя помню было интересно. vaa>еще IL в дотнете, это ж тоже по сути асм. vaa>только вот в корке компайлера нет кажись.
Здравствуйте, SergeyIT, Вы писали:
SIT>Здравствуйте, vaa, Вы писали:
vaa>>существует ли пособие типа крупник изучаем си но асму?
SIT>Начинать надо с программирования в кодах, тогда и asm и си понятнее будут
Здравствуйте, SergeyIT, Вы писали:
vaa>>существует ли пособие типа крупник изучаем си но асму? SIT>Начинать надо с программирования в кодах, тогда и asm и си понятнее будут
Не, начинать надо с проектирования комбинационных схем, потом автоматов с памятью. Потом переходить к эмуляторам процессоров, чтобы не просто машинные коды, а видно было как блоки ЦПУ работают. И только потом можно машинные коды писать.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Не, начинать надо с проектирования комбинационных схем, потом автоматов с памятью. Потом переходить к эмуляторам процессоров, чтобы не просто машинные коды, а видно было как блоки ЦПУ работают. И только потом можно машинные коды писать.
Ты не поверишь, я почти так и делал. Хотя, в маш кодах я научился ещё в школе, а КС и автоматы уже в институте делал. Потом еще было программирование в микрокодах для устройства, где АЛУ регистры и пр были отдельными узлами. Был преподом выданный симулятор и примеры микрокодовых прог. Я тогда еще дизасм написал для этих микрокодов, и что-то типа асма
Здравствуйте, пффф, Вы писали:
П>Ты не поверишь, я почти так и делал.
А я еще и изучал как логические элементы устроены различных типов. Только есть разные уровни, скажем так, погружения в тему, и для создания какого нибудь сервиса это все не особо нужно.
Здравствуйте, Ночной Смотрящий, Вы писали:
П>>Ты не поверишь, я почти так и делал.
НС>А я еще и изучал как логические элементы устроены различных типов.
Это само собой. На ФОМЭ — как оно в кристалле работает, на ТА — чуть повыше уровнем. Как раз перед тем, как КС делать и минимизировать учили
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Не, начинать надо с проектирования комбинационных схем, потом автоматов с памятью. Потом переходить к эмуляторам процессоров, чтобы не просто машинные коды, а видно было как блоки ЦПУ работают. И только потом можно машинные коды писать.
Зачем всё это? Пиши в 16-ричном редакторе что хошь, и все дела.
Я хотел писать на ассемблере для микроконтролеров.
Но это оказалось слишком сложно.
Могу только посоветовать не использовать raspi pico. Они для ассемблера плохо подходят.
В остальном ARM-ассемблер, который в микроконтролерах простой. Я его выучил за пару дней. Но писать не получается, слишком сложное устройство этих микроконтролеров. Позже планирую осилить.
Есть подозрение, что stm32 будут проще. Но это не точно.
Здравствуйте, vsb, Вы писали:
vsb>Я хотел писать на ассемблере для микроконтролеров.
Микроконтроллеры AVR. От азов программирования до создания практических устройств
есть на руьрекере
vsb>Могу только посоветовать не использовать raspi pico. Они для ассемблера плохо подходят.
не знаю как у вас но в США купить atmega это реальный квест
pico стоит 4$ работает на 100 мГц и в магазинах запасы сотни тысяч
на американских форумах постепенно переходят на него
Здравствуйте, sergey2b, Вы писали:
vsb>>Я хотел писать на ассемблере для микроконтролеров.
S>Микроконтроллеры AVR. От азов программирования до создания практических устройств S>есть на руьрекере
Мне кажется, что это устаревшая технология и сейчас лучше ARM использовать.
vsb>>Могу только посоветовать не использовать raspi pico. Они для ассемблера плохо подходят.
S>не знаю как у вас но в США купить atmega это реальный квест S>pico стоит 4$ работает на 100 мГц и в магазинах запасы сотни тысяч S>на американских форумах постепенно переходят на него
Я сам их себе 50 штук купил зачем-то.
Если писать как положено, с ихним SDK, на C/C++, собирать cmake-ом, то, наверное, оно нормально будет.
Я столкнулся с двумя проблемами.
Во-первых openocd из официального репозитория с ним не работает. У них есть свой форк. То бишь просто поставить из репозитория нельзя, надо качать исходники и собирать. Мне это не понравилось. Причём, похоже, в апстрим эти изменения не попадут.
Во-вторых у них ПЗУ распаяно отдельной микросхемой. В некоторых микроконтролерах он идёт как часть микроконтролера. А у пико — нет. Когда стартуер процессор, он по какому-то там медленному протоколу таки умудряется соединиться с ПЗУ (там какой-то вшитый бут код), скачивает 256 байтов, проверяет чексумму и выполняет эти 256 байтов. Эти байты должны переконфигурировать нужные шины в процессоре, перенастроить микросхему ПЗУ в производительный режим, включить режим XIP (когда процессор может выполнять программу из ПЗУ, а не только из ОЗУ) и потом уже передать управление на программу в ПЗУ.
Я не хочу пользоваться ихним SDK. Я хочу пользоваться as/ld/make и всё. Получается, что мне нужно понять, как написать эти 256 байтов. И тут я в принципе и застрял, слишком сложно это всё для меня, там куча протоколов, в которых я ничего не понимаю. Чтобы лампочкой поморгать, мне надо кучу даташитов прочитать. Пока запалу не хватило.
Но это мои заморочки. Если пользоваться их SDK, то про это думать, конечно, не надо.
Альтернативно можно вытащить нужный блоб из ихнего SDK. Но мне этот вариант не нравится.
Я предполагаю, что если ПЗУ распаяно внутри микроконтроллера, то таких проблем не будет. Он со старта процессора будет инициализирован как положено и про это можно не думать, а сразу начинать моргать лампочкой или ещё там что-то делать. Вроде бы в чипах STM32 обычно так. Понятно, что в любом случае даже если я в UART-порт захочу написать hello world, мне придётся читать даташит по нужному компоненту микроконтроллера, но это кажетя не так сложно.
Здравствуйте, sergey2b, Вы писали:
S>где он сможет поставить MS DOS ?
Его не надо никуда ставить. Он стоял, стоит и будет стоять!
S>у меня для этого есть Tandy 1000 но в цлом найти старый комп не просто
Зачем вам искать старый комп? Есть dosbox, пеши-нихачу. Все что вам надо — подкинуть туды результаты творчества. Утилит для отладки сильно много не надо, простецкий отладчик даст полный контроль над всеми вещами, что нужны начинающему.
Я знаю где их продают, в Бостоне теперь даже завод который их производит но
Я на них делаю эмулятор клавиатуры и дисковода
Раньше можно было не париться и покупать когда надо и сколько надо
С прошлого года приходиться ловить момент либо покупать у перекупов
Нормальная цена микросхемы 2,5 перекупы продают за 7-11$
Можно погуглить сейчас можно купить atmega 644 но на все сша осталось в продаже 200 шт
А следующая партия буде только в 24 году
Мон мнение это делают специально что бы закрылся малый бизнес
Здравствуйте, sergey2b, Вы писали:
S>Можно погуглить сейчас можно купить atmega 644 но на все сша осталось в продаже 200 шт\
Производитель про них пишет: not recommended for new designs. Replaced by ATmega644PA
10 лет чипу, походу их производство тупо сворачивают.
S>А следующая партия буде только в 24 году
ATMEGA644-20AU
Additional Stock Arriving. Order Now to Secure
320 estimated to ship on 20-Apr-2023
S>Мон мнение это делают специально что бы закрылся малый бизнес
Больше похоже на то, что они сворачивают производство старой модели, которое банально стало невыгодно.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, SergeyIT, Вы писали:
vaa>>>существует ли пособие типа крупник изучаем си но асму? SIT>>Начинать надо с программирования в кодах, тогда и asm и си понятнее будут
НС>Не, начинать надо с проектирования комбинационных схем, потом автоматов с памятью. Потом переходить к эмуляторам процессоров, чтобы не просто машинные коды, а видно было как блоки ЦПУ работают. И только потом можно машинные коды писать.
Точно. Сначала — логические элементы, потом из них полусумматор и сумматор. Потом — регистр, 8-разрядный сумматор, умножение.
Полноценное АЛУ.
Контроллер памяти, системную шину, саму память.
Разбор и исполнение команд. Конвеер. Предсказание переходов. Кэш.
Перекодировка CISC-в-RISC, register allocation, автопараллелизация исполнения. Кэши L2 и L3.
Многоядерность и гипертрединг.
SIMD.
Всё это — на Minecraft.
А вот теперь, дорогие детишки, давайте попробуем написать на ассемблере нашу первую подпрограмму "вывод символа на экран в текстовом режиме"
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>Точно. Сначала — логические элементы,
Не, сначала транзисторы.
S>А вот теперь, дорогие детишки, давайте попробуем написать на ассемблере нашу первую подпрограмму "вывод символа на экран в текстовом режиме"
Во во.
Детишка моя, кстати, во втором классе в школьной программе на математике уже вовсю фигачит блок-схемы. А вот с транзисторами она вряд ли в ближайшие лет 7 справится.