Ассемблер для самых маленьких
От: vaa  
Дата: 13.01.23 16:26
Оценка:
существует ли пособие типа крупник изучаем си но асму?
с чего начать? хотелось бы базу понять.
в xp debug был помню. можно было com-файлы создавать.
но изучать не стал. хотя помню было интересно.
еще IL в дотнете, это ж тоже по сути асм.
только вот в корке компайлера нет кажись.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Ассемблер для самых маленьких
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 13.01.23 17:00
Оценка: 2 (1) -3
GNU Assembler бери, по нему много книжек, он доступен сам-по-себе (а это важно).
Re: Ассемблер для самых маленьких
От: Baiker  
Дата: 13.01.23 18:46
Оценка:
Здравствуйте, vaa, Вы писали:

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


В гугле что, все ассемблеры кончились?? 30 лет назад была хайповая тема, материалов должен быть вагон.
http://datadump.ru/fasm-gui-application-template/


vaa>с чего начать? хотелось бы базу понять.


Осознай хотя бы то, что на асме твоя производительность упадёт в 10 раз. И не факт, что улучшится скорость программ. Понимаемость программы — эээ... она попросту отсутствует. Сопровождаемость — где-то возле плинтуса. Ты ЭТОГО хотел??

vaa>еще IL в дотнете, это ж тоже по сути асм.


Вообще ни разу. IL — это высокоуровневый псевдокод, к процам имеет довольно слабое отношение.

vaa>только вот в корке компайлера нет кажись.


Зачем кора?? Есть msil.exe
Re[2]: Ассемблер для самых маленьких
От: Baiker  
Дата: 13.01.23 18:50
Оценка: +3
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>GNU Assembler бери, по нему много книжек, он доступен сам-по-себе (а это важно).


Что такое "доступен само по себе"? На венде его в принципе нет.
А с т.з. синтаксиса это вообще капец полный — ты его потому и советуешь, что ничего на нём никогда не писал.

Если уж маяться ассемблерной дурью, то либо fasm, либо nasm.
Re[3]: Ассемблер для самых маленьких
От: CreatorCray  
Дата: 13.01.23 20:36
Оценка: +1
Здравствуйте, Baiker, Вы писали:

B>А с т.з. синтаксиса это вообще капец полный

Это да, лютое говнище
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re: Ассемблер для самых маленьких
От: SergeyIT Россия  
Дата: 13.01.23 21:28
Оценка: +2 -3 :))
Здравствуйте, vaa, Вы писали:

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


Начинать надо с программирования в кодах, тогда и asm и си понятнее будут
Извините, я все еще учусь
Re: Ассемблер для самых маленьких
От: Shmj Ниоткуда  
Дата: 13.01.23 21:39
Оценка: 4 (2)
Здравствуйте, vaa, Вы писали:

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


Мне понравилась эта — многое пересмотрел и выделил эту как лучшую из лучших для старта:

ISBN 978-5-97060-929-3 Программирование на ассемблере x64 От начального уровня до профессионального использования AVX Йо Ван Гуй
Re: Ассемблер для самых маленьких
От: kov_serg Россия  
Дата: 13.01.23 22:19
Оценка: 2 (1)
Здравствуйте, vaa, Вы писали:

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

vaa>с чего начать? хотелось бы базу понять.
vaa>в xp debug был помню. можно было com-файлы создавать.

vaa>но изучать не стал. хотя помню было интересно.

vaa>еще IL в дотнете, это ж тоже по сути асм.
vaa>только вот в корке компайлера нет кажись.

Programming with C++ and Assembly

gcc -O2 -march=native -masm=intel -fverbose-asm -S main.c
https://godbolt.org/
https://www.nasm.us/
https://flatassembler.net/
Re[2]: Ассемблер для самых маленьких
От: vaa  
Дата: 14.01.23 00:27
Оценка:
Здравствуйте, SergeyIT, Вы писали:

SIT>Здравствуйте, vaa, Вы писали:


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


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


практическое руководство есть?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Ассемблер для самых маленьких
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 14.01.23 05:52
Оценка: 3 (1)
Здравствуйте, vaa, Вы писали:

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


Классика — Том Сван

vaa>с чего начать? хотелось бы базу понять.


Пешы под дос мелочовку.
Глянь Финогенов/Рудаков
Re[3]: Ассемблер для самых маленьких
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 14.01.23 05:55
Оценка:
Здравствуйте, vaa, Вы писали:

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


vaa>практическое руководство есть?


Зачем практическое? В кодах не бывает синтаксических ошибок, принципиально, пиши в hex редакторе что хошь.
Re[2]: Ассемблер для самых маленьких
От: sambl74 Россия  
Дата: 14.01.23 09:13
Оценка:
Здравствуйте, SergeyIT, Вы писали:

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


Ага, я на МК-61 начинал
Re[2]: Ассемблер для самых маленьких
От: Ночной Смотрящий Россия  
Дата: 17.01.23 09:06
Оценка:
Здравствуйте, SergeyIT, Вы писали:

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

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

Не, начинать надо с проектирования комбинационных схем, потом автоматов с памятью. Потом переходить к эмуляторам процессоров, чтобы не просто машинные коды, а видно было как блоки ЦПУ работают. И только потом можно машинные коды писать.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: Ассемблер для самых маленьких
От: пффф  
Дата: 17.01.23 09:22
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

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


Ты не поверишь, я почти так и делал. Хотя, в маш кодах я научился ещё в школе, а КС и автоматы уже в институте делал. Потом еще было программирование в микрокодах для устройства, где АЛУ регистры и пр были отдельными узлами. Был преподом выданный симулятор и примеры микрокодовых прог. Я тогда еще дизасм написал для этих микрокодов, и что-то типа асма
Re[4]: Ассемблер для самых маленьких
От: Ночной Смотрящий Россия  
Дата: 17.01.23 10:12
Оценка:
Здравствуйте, пффф, Вы писали:

П>Ты не поверишь, я почти так и делал.


А я еще и изучал как логические элементы устроены различных типов. Только есть разные уровни, скажем так, погружения в тему, и для создания какого нибудь сервиса это все не особо нужно.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[5]: Ассемблер для самых маленьких
От: пффф  
Дата: 17.01.23 13:22
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

П>>Ты не поверишь, я почти так и делал.


НС>А я еще и изучал как логические элементы устроены различных типов.


Это само собой. На ФОМЭ — как оно в кристалле работает, на ТА — чуть повыше уровнем. Как раз перед тем, как КС делать и минимизировать учили
Re[3]: Ассемблер для самых маленьких
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.01.23 14:23
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

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


Зачем всё это? Пиши в 16-ричном редакторе что хошь, и все дела.
Re[4]: Ассемблер для самых маленьких
От: Ночной Смотрящий Россия  
Дата: 17.01.23 14:28
Оценка:
Здравствуйте, Pauel, Вы писали:

P>Зачем всё это?


Затем же, зачем программирование в машинных кодах.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[5]: Ассемблер для самых маленьких
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.01.23 14:34
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

P>>Зачем всё это?


НС>Затем же, зачем программирование в машинных кодах.


hiew не подходит или что?
Отредактировано 17.01.2023 14:34 Pauel . Предыдущая версия .
Re: Ассемблер для самых маленьких
От: vsb Казахстан  
Дата: 17.01.23 14:40
Оценка:
Я хотел писать на ассемблере для микроконтролеров.

Но это оказалось слишком сложно.

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

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

Есть подозрение, что stm32 будут проще. Но это не точно.
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&amp;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...
Пока на собственное сообщение не было ответов, его можно удалить.