Обсуждение:Ассемблер

Последнее сообщение: 3 года назад от ProMiNick в теме «Правки участника ProMiNick»
Пожалуйста, добавляйте новые темы снизу


Atmel править

Описание архитектуры микроконтроллеров Atmel стоит убрать отсюда в отдельную статью? Mick4d 17:12, 2 сентября 2005 (UTC)Ответить

Forth править

надобы упомянуть язык Forth, фанаты которого называеют его альтернативой как Ассемблеру так и C (Idot 10:00, 20 июля 2006 (UTC))Ответить

МНЕМОКОД править

Про мнемокод вообще написан какой-то бред, если уж и помещать эту инфу куда-либо, то тогда уж в Язык ассемблера, хотя сомневаюсь что даже там это нужно. Xchgall 19:14, 22 июля 2006 (UTC)Ответить

глупость насчет языка программирования ассемблер править

1.Ассемблер в оригинале это мнемокод для ПРОГРАММИРОВАНИЯ КОНКРЕТНОГО ПРОЦЕССОРА. 2.Поэтому выражение "ассемблер это язык программирования" не имеет смысла.

Ассемблер это форма записи программы НЕ В МАШИННЫХ КОДАХ А В МНЕМОНИКЕ. "Форма" значит есть ПРЯМОЕ СООТВЕТСВИЕ.

Далее.

Перечтите описание языка программирования вообще и догадайтесь что это не подходит к кодировке процессора. Машинный язык НЕ ЯВЛЯЕТСЯ ФОРМАЛЬНОЙ ЗНАКОВОЙ СИСТЕМОЙ!

Ну и полный бред в отношении определения языка программирования. Я знаю откуда это выдрано. ЭТО ГУПОСТЬ!!!

Язык программирования это записть алгоритмов в форме УДОБНОЙ ЧЕЛОВЕКУ!!!! А не машине. В машинную форму переводит компилятор. Все языки программирования развивались именно в направлении повышения удобств человека.

ЭТО ВСЕ ГРУБЫЕ ОШИБКИ!

Мне стыдно когда кто-то ссылается на русскую википедию и цитирует эту ахинею. Я знаю что в английской этих ошибок нет. — Эта реплика добавлена участником Alekseybb (ов) 08:15, 15 сентября 2006 (UTC)Ответить

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

178.72.69.228 15:14, 24 сентября 2020 (UTC)Ответить

По поводу различий терминов Ассемблирование и Компилирование править

Изменения внесённые Temnoplamen, были внесены на основании англоязычной статьи (по словам самого автора), что не является правильным, ввиду различной терминологии в русскоязычной и англоязычной статье. В англоязычной статье компилятор и ассемблер различаются по своей сути и указывается что ассемблер не является компилятором. В русскоязычной статье даётся определение ассемблера как компилятора программ с языка ассемлера, что соотвествует ГОСТу 19781-90 в котором указано кто ассемблирование есть компиляция программы на языке ассемблера. Отсуда следует что допускается использование любого термина по отношению к программам на языке ассемблер. Замечание по поводу отображения команд один в один и обратимости следовало указать в статье Язык ассемблера. — Эта реплика добавлена с IP 86.109.194.230 (о) 06:12, 31 октября 2007 (UTC)Ответить

ГОСТ 19781 п.52: "Ассемблирование - Компиляция программ с языка ассемблера".
ГОСТ 19781 п. 51: "Компиляция - Трансляция программы с языка высокого уров­ня в форму, близкую к программе на машинном языке".
Ассемблер не является языком высокого уровня, совершенно точно. Следовательно, остается признать, что либо ГОСТ неправильный (а так не бывает по определению), либо п.52 нужно понимать как то, что ассемблирование - процесс аналогичный компиляции, но не компиляция. Отличия этих процессов я как раз и объяснил в статье. --Temnoplamen 15:53, 31 октября 2007 (UTC)Ответить
Читаем пункты 29 и 30
29. "Язык ассемблера - Язык программирования, который представляет собой символьную форму машинного языка с рядом возможностей, характерных для языков высокого уровня. Примечание. Язык ассемблера обычно включает в себя макрокоманды"
30. "Язык высокого уровня - Язык программирования, понятия и структура которого удобны для восприятия человеком"
Отсюда следует, что по данному ГОСТу язык ассемблера имеет черты языка высокого уровня (т.е. имеет удобную для восприятия человеком форму) и следовательно к нему применим термин компиляция без дополнительных доопределений и допущения.
Так же существует Теория трансляции, если я смогу найти текс источника, то приведу тут. --90.150.208.37 16:44, 31 октября 2007 (UTC)Ответить
Ничего подобного отсюда не следует. Ассемблер - это не язык высокого уровня. Почитай хотя бы статью язык ассемблера или обсуждение выше, если не понимаешь разницу. И хватит уже заниматься демагогией. Если есть другие истолкования различий между терминами "компиляция" и "ассемблирование" - приводи их. Пока же никакой неточности в моем варианте, никакого противоречия с этим ГОСТом не наблюдается. --Temnoplamen 18:05, 31 октября 2007 (UTC)Ответить

---До появления ассемблеров существовали компиляторы мнемокодов. Это был первый шаг к "человеческому" программированию компьютеров. Впрочем, их недостатком было отсутствие макропроцессора и разрешения ссылок. Необходимо было уже в процессе программирования распределять память, просчитывать адреса каждого оператора для операторов перехода и пр. Ассемблер - это не только компилятор мнемокодов. Это еще и система разрешения ссылок, позволяющая вместо адреса памяти указать имя переменной или метки. В случае макроассемблера это еще и макропроцессор, позволяющий использовать определенные шаблоны проектирования (например, есть макробиблиотеки, позволяющие присать на ассемблере структурные программы). Поэтому язык ассемблера может по праву считаться языком программирования, а сам ассемблер - компилятором. 81.30.81.200 06:30, 8 октября 2008 (UTC)Ответить

Бредовый абзац (удален) править

Не смог не удалить в разделе «Архитектура x86/Ассемблеры для DOS» следующий абзац:

Изначально они поддерживали лишь 16-битные команды (до появления процессора Intel 80386). Более поздние версии TASM и MASM поддерживают и 32-битные команды, а также все команды, введённые в более современных процессорах, и системы команд, специфических для конкретной архитектуры (такие как, например, MMX, SSE, 3DNow! и т. д.).

Существенные ошибки:

  1. AFAIK, ассемблеры всегда поддерживали 32-битные команды, по мере появления процессоров (и/или публикации спецификаций) их имеющих. Возможно такая поддержка запаздывала в отдельных реализациях, но это не позволяет говорить так об ассемблерах DOS в целом (да и врядли это имеет отношение к DOS). Я допускаю, что могу и ошибаться, но в этом случае хотелось бы увидеть что-то отличное от голословных утверждений.
  2. Ценное уточнение о том 32-битные команды не поддерживались ассемблерами до появления i386, вообще шедеврально, потому что процессоры до i386 таковых попросту не имели (DX:AX не в счет).

Упоминание же  в суе  поддержки специфических наборов команд (они так же реализовывались по мере появления/обнародования спецификаций), к топику раздела (Ассемблеры для DOS) не имеет никакого отношения. Grain 10:39, 17 июня 2008 (UTC)Ответить

RISC и CISC править

А почему же это MCS51 отнесён к RISC, когда микроконтроллер MCS51 как CISC устройство противопоставляют более новым AVR, PIC микроконтроллерам, как RISC устройствам. Не встречал ещё, чтобы 51 называли CISC. Фирма Silabs производит MCS51 которые внутри имеют конвейер. Т.е. они работают как современные CISC процессоры Intel: внешне они исполняют CISC команды, которые микропрограмма внутри процессора интерпретирует в RISC команды, которые непосредственно выполняются на аппаратной части процессора. --Иван 12:16, 25 июля 2008 (UTC)Ответить

Некоторые правки Ассемблер править

Хочу высказать несколько предложений модераторам относительно статьи "Ассемблер".
1) В разделе Windows упомянут "TASM 5+ (неофициальный пакет, созданный человеком с ником !tE), позволившее создавать программы для выполнения в среде Windows" что на самом деле не так в плане "позволившее создавать программы для выполнения в среде Windows". Такой функционал предоставляет обычная версия tasm. К тому же форум этой сборки давно не поддерживает ее, а сама сборка является не более чем обновленным патчами тасм с вырезанными лишнимим файлами. По простому "РеПак" который на данный момент совершенно не заслуживает внимания и к томуже его трудно найти. Скорее всего свое имя некогда здесь опубликовал тот самый школьник !tE и оно прижилось).
2) Прошу добавить уполномоченных вниз страницы в таблицу с IDE новую среду под названием TASM Visual
С ув. ExAlexey 13:29, 20 июля 2013 (UTC)Ответить

Правки участника ProMiNick править

Уважаемый @ProMiNick:, Ваши правки снова будут удалены, так как они противоречат правилам Википедии.

  1. Википедия не является местом, где участники публикуют свои личные мировоззрения, эссе или идеи по теме. Соответствующий пункт правил, на который я Вам ссылался и ранее: ВП:НЕЭССЕ. Для публикации собственный идей лучше завести блок и размещать их там.
  2. Всё содержимое Википедии должно основываться на авторитетных источниках: ВП:АИ. Обращаю внимание, что форумы не являются авторитетными источниками. Критерии авторитетности смотрите в правилах по приведённой ссылке.
  3. Для включения в Википедию, то есть в энциклопедию, та или иная мысль, вещь или предмет должны иметь определённую эначимость: ВП:ЗН. Цитата: "Предмет или тема предположительно являются значимыми, если они достаточно подробно освещаются в независимых авторитетных источниках".

Как программист на ассемблере со стажем 22 года, я прекрасно понимаю те идеи, о которых Вы пишете, что с помощью директив можно генерировать BMP-файлы и что угодно другое, и на ассемблере для PIC-контроллеров писать программы для x86. Только на практике ни то, ни другое не нужно никому. По такой же схеме можно использовать автомобиль в качестве цветочного горшка или телевизор в качестве подставки для цветов. Если это кому-то нравится, это его право, но это не повод для включения этих навыков в энциклопедии. Если Вы считаете, что я ошибаюсь и этот приём такой нужный и полезный, то он обязательно будет раскрыт в авторитетных книгах или статьях по программированию. В таком случае потрудитесь отыскать упоминание об этом в авторитетных источниках и приведите в статье лаконичную выжимку, подкрепив её ссылками на АИ. С уважением, Юрий (обс.) 18:37, 5 октября 2020 (UTC)Ответить

Уважаемый Юрий (обс.), спасибо что дали попасть в обсуждение. Эмоции кипели и даже не знал как вам написать... Ваша ахилесова пята именно стаж 22 года, вы классифицируете ассемблеры устаревшими критериями. вы назвали fasmg мультиархитектурный, но согласно классификации ассемблеров он должен быть внеархитектурный или безархитектурный. И вот почему: вы написали что он поддерживает другие архитектуры за счет макросов. За счет макросов часть архитектур я спокойно могу прикрутить к тому же fasm. Да и к какому другому ассемблеру. (и я не голословен, есть необходимость, могу написать и привести в пример код, который это докажет) Теперь все ассемблеры будем именовать мультиархитектурные? собственно на ссылках на форумы был не просто текст какого-то авторитетного источника, которому мы на слово должны поверить только за факт его авторитетности, по ссылкам был код, рабочий код, на практике доказывающий утверждение. С каких пор доказательство теоремы имеет меньший приоритет перед голословным высказыванием даже самого именитого автора? Возможность генерации разных форматов файлов это исследовательская деятельность, и ассемблер в ней выступает очень удобным инструментом. Это не превращение автомобиля в цветочный горшок, это исследовательская деятельность по изучению абстрактных "цветочных горшков" средствами завода автопроизводителя. Не всегда какой то формат документирован, или документация не содержит всех аспектов. А исходный код позволяет понять суть вещей. Какой-то ассемблер для программиста становится любимым инструментом и он старается его приспособить для выполнения самых разных вещей. для меня ассемблер лишь хобби, любимая игрушка, с уважением @ProMiNick: 1:13, 6 октября 2020 (UTC)

А вот не надо кипеть. )) Сохраняйте хладнокровие при работе с Википедией. Никто Вас тут не преследует и не относится предвзято, но все мы живём под одними правилами. Если Вашу правку отменяют, на это обычно есть причины, и я их указывал в описании правок. Постарайтесь уделять часть времени изучению хотя бы основных правил Википедии и принципов, по которым она работает.
На счёт источников: нет, фрагмент кода не лучшее доказательство и не авторитетный источник. Включите критическое мышление и посмотрите на ситуацию со стороны читателя: Что это за код? Кто тот человек, который его писал? Что доказывает, что этот код рабочий? И так далее. Информация в Википедии должна быть проверяема, и это означает, что она основана на авторитетных источниках. И я выше писал Вам, что критерии авторитетности тоже определены правилами. Изучите, там не так много букв.
На счёт "исследовательской деятельности" я Вам ещё раз повторю, что кто угодно может ей заниматься сколько угодно, но до тех пор пока это не является энциклопедически значимым событием, это не повод для включения информации в Википедию. Поймите, что не вся информация должна здесь размещаться. Всё это опять же прописано в правилах, я ссылался.
Что мульти-, что внеаритекрутный - по мне одно и то же, с учётом контекста. Если считаете, что внеархитектурный более правильно - пожалуйста, я поправил заголовок. Юрий (обс.) 07:58, 6 октября 2020 (UTC)Ответить

"однако нацелен на применение для любых архитектур за счёт использования встроенного языка обработки макросов" - масло маслянное - фраза просто вода, она точно не заслуживает быть в таком авторитетном источнике как в википедии, я уже писал так может абсолютно любой ассемблер в котором есть макросы. Уникальность fasmg как раз в том что со стороны языка ассемблера в нем отсутствует поддержка какой либо архитектуры. Именно поэтому он не мультиархитектурный, в нем, в его языке вообще нет никаких архитектур. Но то, что во всех прочих ассемблерах рассматривается как "превращение автомобиля в горшок цветов" как Вы выразились в нем доведено до абсолюта. Именно на побочные возможности всех ассемблерных языков fasmg и опирается, он позволяет за счет макросов создать пользователю ИЛЛЮЗИЮ, что поддерживает архитектуру и различные форматы на уровне языка. Он не заточен ни под что, но также как и любой другой "хороший" макроассемблер он потенциально пригоден для всего. само его существование уже демонстрация того, что ассемблер не для создания чего-то (например, программ) в каких то ограниченных рамках, он потенциально пригоден для создания всего. У:ProMiNick

"Само его существование" доказывает только то, что его кто-то написал, и не более. А вот то, что за столько лет его существования нет никаких авторитетных источников про него, как раз доказывает обратное - что на практике это мало кому интересно. И у меня тоже очень большие сомнения, что такой язык нужен большому числу специалистов, потому что если программа пишется под конкретную архитектуру (а это подавляющее большинство случаев), то лучше использовать ПО, специализированное для этой архитектуры. Потому что транслятор и работать будет быстрее, и глючить меньше, и сам код, скорее всего, оптимальнее (потому что наборы инструкций разных архитектур ну очень уж различаются). И точно такой же скепсис я заметил и у других разработчиков и на форумах, когда искал информацию по этот fasmg. Применение такого языка оправдано в очень узком круге случаев.
Если считаете, что в статье есть ошибочные формулировки, правьте как считаете нужным, но лаконично и со ссылками на авторитетные источники. Объём информации должен соответствовать её значимости. И вообще, здесь обзорная статья о трансляторах. О flat assembler есть отдельная статья (см. fasm), какие-то более существенные подробности, если они есть, уместнее размещать там.
P.S. На страницах обсуждения сообщения следует оформлять вложенными и подписывать с помощью четырёх тильд, см. ВП:ОБС. Юрий (обс.) 09:59, 6 октября 2020 (UTC)Ответить
Дополню. Я посмотрел ту ссылку на форум с кодом, которую Вы добавили в статью и которую я удалил. Судя по нику "ProMiNick" на форуме, те сообщения на форуме, которые Вы привели здесь в качестве "авторитетного источника" и потом назвали "доказательством теоремы", Вы же там и написали. Такое категорически запрещено правилами Википедии (см. ВП:ОРИСС, ВП:САМИЗДАТ), пожалуйста, больше так никогда не делайте. Вообще, повторю свой совет: сперва изучите правила, хотя бы базовые, а потом вносите какие-либо правки. Юрий (обс.) 10:18, 6 октября 2020 (UTC)Ответить

Я чуть-чуть перефразировал текст связанный с fasmg, надеюсь Вы сможете сделать его более лаконичным "не ампутировав при этом ему, так сказать, конечности". Спасибо. Еще: говорить версии транслятора для разных ОС в отношении fasm и fasmg наверно нелогично, для этих утилит версия единая и сквозная сквозь все операционные системы, наверно, правильнее вариации У:ProMiNick 17:22, 6 октября 2020 (UTC)Ответить