Сайт Форум Фото-галерея Энциклопедия Клуб Партнеры Контакты   RSS

Вернуться   Международный мотоклуб YAMAHA YBR 125, YBR 250 > Основной раздел > Поздравления и благодарности
Регистрация FAQ Пользователи Поиск Сообщения за день Все разделы прочитаны

Ответ
 
Опции темы
Старый 14.09.2016, 18:18   #21
Palermo
Пользователь
 
Аватар для Palermo
 
Регистрация: 26.04.2013
Адрес: UA, Днепропетровск
Мото: YBR-125
 
 
Сообщения: 2,683
Цитата:
Сообщение от evil_laugh Посмотреть сообщение
Наши железки пока до джавы не доросли. На плюсах пишем, да. И то, в основном логику: включить, выключить, переключить. Всякие требовательные ко времени низкоуровневые вещи (кодеки, шифрование, частотные преобразования) один хрен приходится писать на асме, потому что "не хватает времени - давайте воткнём процессор помощнее" - это не наш метод. По многим причинам, начиная от энергопотребления и ЭМИ. Не везде занимаются формошлёпством и рисованием на экранах холодильников красивых пузыриков, кое-где приходится битики вручную перекладывать

Вы, наверное, в курсе, что в конторах типа Texas Instruments, Analog Devices, Intel и AMD сидят пара сотен очкастых ботаников, и все те библиотеки, которые "крутые высокоуровневые программисты на джаве" вызывают одним кликом мышки - оптимизируют до полутакта. На ассемблере, естественно. И платят им, конечно, куда выше, чем джава-программистам

Был случай уже на работе, когда пришёл в контору новый программист, и с ходу - а давайте то оптимизируем, это, сё, вот сюда Распберри Пи, сюда GPU, сюда то, сюда сё, чо вы тут со своими древними TMS320C6657 ворочаетесь, надо идти в ногу со временем! И руководство такое: да, да, конечно, делайте! Всё быстро и просто, модульность и всё такое. Сделали, а оно размером с системник, греется как камин и жрёт как электроплита. Тут-то и стало понятно, что модульность и быстро-просто - это отлично, но не везде.

зы: без шуток, десяток ассемблеров я действительно знаю. Перечислить?
Я, на самом деле, всегда думал, что асм он и есть асм, а компилятор под конаретный проц (набор команд)- это компилятор. Так что нет смысла мне перечислять, я не пойму. Хотя, если речь идет о использовании в асмовом коде массивов с командами, то пойму. Таки, во времена, когда я учился, асм - это был язык пр-я, а работа с набором команд проца называлась программированием в машинных кодах. Но то было лет 30 назад.
__________________
Это все обман, что он был самым добрым царем.......
Palermo вне форума   Ответить с цитированием
Старый 14.09.2016, 18:30   #22
evil_laugh
Пользователь
 
Регистрация: 13.02.2012
Адрес: Россия, Москва
Мото: Yamaha YBR-125
 
 
Сообщения: 4,293
Цитата:
Сообщение от Palermo Посмотреть сообщение
Таки, во времена, когда я учился, асм - это был язык пр-я, а работа с набором команд проца называлась программированием в машинных кодах. Но то было лет 30 назад.
Машинный код - это бинарные нолики или единички. Ну, или шестнадцатеричные числа, или что угодно, главное - никаких мнемоник. Ассемблер - это язык программирования, который машинный код инструкции позволяет заменить на мнемоническое обозначение.

Пример машинного кода для инструкции вычитания регистров для процессора ADSP-2188N:

Цитата:
0x22e20f
И она же, написанная на языке ассемблера:

Цитата:
AR=AR-AY0;
Думаю, разница понятна.
evil_laugh вне форума   Ответить с цитированием
Старый 14.09.2016, 18:41   #23
Palermo
Пользователь
 
Аватар для Palermo
 
Регистрация: 26.04.2013
Адрес: UA, Днепропетровск
Мото: YBR-125
 
 
Сообщения: 2,683
Цитата:
Сообщение от evil_laugh Посмотреть сообщение
Машинный код - это бинарные нолики или единички. Ну, или шестнадцатеричные числа, или что угодно, главное - никаких мнемоник. Ассемблер - это язык программирования, который машинный код инструкции позволяет заменить на мнемоническое обозначение.

Пример машинного кода для инструкции вычитания регистров для процессора ADSP-2188N:



И она же, написанная на языке ассемблера:



Думаю, разница понятна.
В таком виде она была понятна изначально. А в чем разница асма под х86 от асма под че-нить другое, я не знаю. Или речь идет не о командах асма, а о средах разработки/компиляторах под конкретный проц?
__________________
Это все обман, что он был самым добрым царем.......
Palermo вне форума   Ответить с цитированием
Старый 14.09.2016, 18:55   #24
evil_laugh
Пользователь
 
Регистрация: 13.02.2012
Адрес: Россия, Москва
Мото: Yamaha YBR-125
 
 
Сообщения: 4,293
Цитата:
Сообщение от Palermo Посмотреть сообщение
В таком виде она была понятна изначально. А в чем разница асма под х86 от асма под че-нить другое, я не знаю.
В командах и их мнемонических записях.

Пример: у семейства ARM команда безусловного перехода записывается как B, у семейства AVR - JMP, у семейства STM8 - JP, у ADSP-2188 - JUMP. Условный переход в случае выставления флага нуля у ARM - BEQ, у AVR - BREQ, у STM8 - JREQ, у ADPS-2188 - IF EQ JUMP.

Также в разных наборах инструкций и возможностях, например у PIC16 всего 32, что ли, команды, в то время как у AVR того же их полторы сотни, с разными вариациями (что в общем-то благо, т.к. возможностей больше). А уж если после PIC16 пересесть на какой-нибудь TMS320, то там вообще несколько сотен инструкций, но этот процессор почти не предназначен для того, чтобы под него на ассемблере писали, только отдельные вставки делать, иначе сломаешь мозги. Тем более ботаники из TI уже все библиотеки оптимизировали, скачивай и пользуй, на асме быстрей не напишешь.

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

Последний раз редактировалось evil_laugh, 14.09.2016 в 19:04.
evil_laugh вне форума   Ответить с цитированием


Старый 14.09.2016, 20:00   #25
Palermo
Пользователь
 
Аватар для Palermo
 
Регистрация: 26.04.2013
Адрес: UA, Днепропетровск
Мото: YBR-125
 
 
Сообщения: 2,683
Цитата:
Сообщение от evil_laugh Посмотреть сообщение
В командах и их мнемонических записях.

Пример: у семейства ARM команда безусловного перехода записывается как B, у семейства AVR - JMP, у семейства STM8 - JP, у ADSP-2188 - JUMP. Условный переход в случае выставления флага нуля у ARM - BEQ, у AVR - BREQ, у STM8 - JREQ, у ADPS-2188 - IF EQ JUMP.

......
Повбивав бы.
__________________
Это все обман, что он был самым добрым царем.......
Palermo вне форума   Ответить с цитированием
Старый 14.09.2016, 23:09   #26
stasich
Пользователь
 
Аватар для stasich
 
Регистрация: 31.08.2009
Адрес: Россия, С-Пб,
Мото: YBR, NTV 700
 
 
Сообщения: 1,550
Для настроения.
__________________
+7 9ll 9lO 48 ll
stasich вне форума   Ответить с цитированием
Старый 15.09.2016, 00:03   #27
kascej
Пользователь
 
Аватар для kascej
 
Регистрация: 30.09.2007
Адрес: Латвия Мадона
Мото: vanalid lezalk
 
 
Сообщения: 33,879
спится нормально по другому пути пошел,не хотелось быть шестнадцатитеричным дураком,ятоб голова жила единицами и ноликами
kascej на форуме   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +3, время: 19:03.




:: Вся информация о мотоциклах Yamaha YBR 125, Yamaha YBR 250 :: Copyright © 2006 YBRCLUB.COM ::
:: Энциклопедия мотоциклов :: APRILIA :: HARLEY-DAVIDSON :: HONDA :: KAWASAKI :: SUZUKI :: YAMAHA ::
Новости :: Темы-1 :: Темы-2 :: Пользователи