Re: Ассемблер для самых маленьких
От: sergey2b ЮАР  
Дата: 17.01.23 14:43
Оценка: 2 (1)
Здравствуйте, vaa, Вы писали:

Лео Скэнлон Персональные ЭВМ IBM-AT/XT Программирование на языке ассемблера здесь
Нортон П., Соухе Д. «Язык ассемблера для IBM PC»

и разные ссылки
Отредактировано 17.01.2023 14:45 sergey2b . Предыдущая версия .
Re[2]: Ассемблер для самых маленьких
От: sergey2b ЮАР  
Дата: 17.01.23 14:48
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Я хотел писать на ассемблере для микроконтролеров.



Микроконтроллеры AVR. От азов программирования до создания практических устройств
есть на руьрекере


vsb>Могу только посоветовать не использовать raspi pico. Они для ассемблера плохо подходят.


не знаю как у вас но в США купить atmega это реальный квест
pico стоит 4$ работает на 100 мГц и в магазинах запасы сотни тысяч
на американских форумах постепенно переходят на него
Re[2]: Ассемблер для самых маленьких
От: sergey2b ЮАР  
Дата: 17.01.23 14:49
Оценка:
Здравствуйте, Pauel, Вы писали:

где он сможет поставить MS DOS ?

у меня для этого есть Tandy 1000 но в цлом найти старый комп не просто
Re[3]: Ассемблер для самых маленьких
От: vsb Казахстан  
Дата: 17.01.23 14:57
Оценка: +1
Здравствуйте, 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, мне придётся читать даташит по нужному компоненту микроконтроллера, но это кажетя не так сложно.
Re[3]: Ассемблер для самых маленьких
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.01.23 15:02
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>где он сможет поставить MS DOS ?


Его не надо никуда ставить. Он стоял, стоит и будет стоять!

S>у меня для этого есть Tandy 1000 но в цлом найти старый комп не просто


Зачем вам искать старый комп? Есть dosbox, пеши-нихачу. Все что вам надо — подкинуть туды результаты творчества. Утилит для отладки сильно много не надо, простецкий отладчик даст полный контроль над всеми вещами, что нужны начинающему.
Re[3]: Ассемблер для самых маленьких
От: CreatorCray  
Дата: 18.01.23 04:04
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>не знаю как у вас но в США купить atmega это реальный квест

Первая ссылка в DDG: https://www.futurlec.com/ATMEGA_Controller.shtml $28.90
Ну или вот: https://www.walmart.com/ip/Velleman-VMA100-ATmega328-Uno-Development-Board/375724687?wmlspartner=wlpa&selectedSellerId=3354 $20.49

Или тебе надо исключительно сам чип а не плата на нём?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[4]: Ассемблер для самых маленьких
От: sergey2b ЮАР  
Дата: 18.01.23 04:42
Оценка:
Я знаю где их продают, в Бостоне теперь даже завод который их производит но
Я на них делаю эмулятор клавиатуры и дисковода

Раньше можно было не париться и покупать когда надо и сколько надо
С прошлого года приходиться ловить момент либо покупать у перекупов
Нормальная цена микросхемы 2,5 перекупы продают за 7-11$

Можно погуглить сейчас можно купить atmega 644 но на все сша осталось в продаже 200 шт
А следующая партия буде только в 24 году

Мон мнение это делают специально что бы закрылся малый бизнес
Re[5]: Ассемблер для самых маленьких
От: CreatorCray  
Дата: 18.01.23 06:19
Оценка:
Здравствуйте, 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>Мон мнение это делают специально что бы закрылся малый бизнес

Больше похоже на то, что они сворачивают производство старой модели, которое банально стало невыгодно.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[3]: Ассемблер для самых маленьких
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.01.23 07:27
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, SergeyIT, Вы писали:


vaa>>>существует ли пособие типа крупник изучаем си но асму?

SIT>>Начинать надо с программирования в кодах, тогда и asm и си понятнее будут

НС>Не, начинать надо с проектирования комбинационных схем, потом автоматов с памятью. Потом переходить к эмуляторам процессоров, чтобы не просто машинные коды, а видно было как блоки ЦПУ работают. И только потом можно машинные коды писать.

Точно. Сначала — логические элементы, потом из них полусумматор и сумматор. Потом — регистр, 8-разрядный сумматор, умножение.
Полноценное АЛУ.

Контроллер памяти, системную шину, саму память.

Разбор и исполнение команд. Конвеер. Предсказание переходов. Кэш.
Перекодировка CISC-в-RISC, register allocation, автопараллелизация исполнения. Кэши L2 и L3.
Многоядерность и гипертрединг.
SIMD.

Всё это — на Minecraft.

А вот теперь, дорогие детишки, давайте попробуем написать на ассемблере нашу первую подпрограмму "вывод символа на экран в текстовом режиме"
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Ассемблер для самых маленьких
От: Ночной Смотрящий Россия  
Дата: 18.01.23 07:45
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Точно. Сначала — логические элементы,


Не, сначала транзисторы.

S>А вот теперь, дорогие детишки, давайте попробуем написать на ассемблере нашу первую подпрограмму "вывод символа на экран в текстовом режиме"


Во во.
Детишка моя, кстати, во втором классе в школьной программе на математике уже вовсю фигачит блок-схемы. А вот с транзисторами она вряд ли в ближайшие лет 7 справится.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.