<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; OFF: Про ассемблер]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=9106</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=9106&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «OFF: Про ассемблер».]]></description>
		<lastBuildDate>Sun, 05 Jan 2014 00:20:21 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78908#p78908</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Но интерпретатор - всё же среда исполнения, а не преобразователь smile</p></blockquote></div><p>С первым согласен. Со вторым — нет.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sun, 05 Jan 2014 00:20:21 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78908#p78908</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78902#p78902</link>
			<description><![CDATA[<p><strong>alexii</strong>, мир меняется, возможно, мы оба првы... Но интерпретатор - всё же среда исполнения, а не преобразователь <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Serge Yolkin)]]></author>
			<pubDate>Sat, 04 Jan 2014 23:01:52 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78902#p78902</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78895#p78895</link>
			<description><![CDATA[<p><strong>Serge Yolkin</strong>, ясно. В моём понимании, транслятор — это программа, осуществляющая преобразование программы, написанной на одном языке, в программу, написанную на другом языке. Её частными случаями являются и компилятор, и интерпретатор. Первый осуществляет преобразование программы целиком, второй — по инструкциям, как правило — построчно (иногда бывают и оригинальные идеи — компилирующий интерпретатор, как в QBasic).</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sat, 04 Jan 2014 20:01:40 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78895#p78895</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78893#p78893</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Расскажите.</p></blockquote></div><p>См. боян в предыдущем посте <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>В самом низу - трансляция - буквальный перевод мнемоник (не команд!) в машинный код. Текстовый исходник -&gt; трансляция -&gt; бинарный файл (обычно obj).<br />Выше - компиляция - перевод &quot;литературный&quot;: команды имеют немашинную (предполагается - человеческую) семантику, результирующий код зависит от контекста (одна и та же команда, использованная, скажем, в начале файла и в подпрограмме даст разный результат в машинном коде (область видимости, стэк и т.д.), соответственно и обработка производится в несколько проходов - анализируется контекст, блоки команд (процедуры, подпрограммы) команды и т.д. Трансляция на последнем этапе присутствует, но не из ассемблера, а из некоего промежуточного кода, зависящего от конкретного компилятора. На выходе (обычно) - готовый экзешник.<br />На самом верху (по оторванности от железа) - интерпретация - текстовый исходник обрабатывается интерпретатором налету, без преобразования в бинарный файл. В те времена - шелл да комманд.ком...</p>]]></description>
			<author><![CDATA[null@example.com (Serge Yolkin)]]></author>
			<pubDate>Sat, 04 Jan 2014 19:17:58 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78893#p78893</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78890#p78890</link>
			<description><![CDATA[<div class="quotebox"><cite>Serge Yolkin пишет:</cite><blockquote><p>Меня несколько иначе учили. Три типа обработчиков исходного кода,</p></blockquote></div><p>Расскажите.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sat, 04 Jan 2014 19:03:44 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78890#p78890</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78889#p78889</link>
			<description><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Транслятором является как интерпретатор, так и компилятор. Просто действуют они по-разному.</p></blockquote></div><p>Это в какой википедии написано? Меня несколько иначе учили. Три типа обработчиков исходного кода, как три источника и три составных части марксизма...</p><div class="quotebox"><blockquote><p>Совсем не понял.</p></blockquote></div><p>Что? Программа masm.exe называется Macro Assembler, tasm.exe - Turbo Assembler... Это я и имел в виду. А священные войны за кошерную терминологию - это не моё. Здесь я на редкость демократичен.</p><p><strong>serzh82saratov</strong>, боян, но, надеюсь, хорошо забытый:<br />команда начальника: &quot;Чёзанах?&quot;<br />интерпретация: сотрудник думает: &quot;в следующий раз надо не умничать, а делать что говорят...&quot;;<br />компиляция: бухгалтерия срезает половину премии сотрудника, сотрудник, получив в кассе машинный код, делает что говорят;<br />трансляция: сотрудник расстёгивает ширинку и правда - чё?</p><p>Ассемблер переводит исходник буквально, даже не так, как переводят с русского на английский - там обработка текста есть, а так, как текстовый файл переводится из кодировки UTF-16 LE в UTF-16 BE и обратно. Однозначно и без изменения имеющейся информации. Переводит, разумеется, программа-транслятор.</p>]]></description>
			<author><![CDATA[null@example.com (Serge Yolkin)]]></author>
			<pubDate>Sat, 04 Jan 2014 18:45:14 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78889#p78889</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78887#p78887</link>
			<description><![CDATA[<p>Я не в теме. Потому ещё глупый вопрос:<br /></p><div class="quotebox"><blockquote><p><strong>без</strong> дополнительной <strong>обработки</strong>,</p></blockquote></div><p>и<br /></p><div class="quotebox"><blockquote><p><strong>переводится</strong> в машинный код.</p></blockquote></div><p>Каким именно образом переводится? Как, когда и что этот перевод осуществляет?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 04 Jan 2014 18:11:50 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78887#p78887</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78886#p78886</link>
			<description><![CDATA[<div class="quotebox"><cite>Serge Yolkin пишет:</cite><blockquote><p>alexii, во-первых, я обозвал ассемблер транслятором в ответ на заявление, что он - интерпретатор, в данном контексте не вижу ошибки;</p></blockquote></div><p>Транслятором является как интерпретатор, так и компилятор. Просто действуют они по-разному.</p><div class="quotebox"><cite>Serge Yolkin пишет:</cite><blockquote><p>во-вторых, программа интерпретатор имеет полное право называться ассемблером, да, собственно, они так и называются;</p></blockquote></div><p>Совсем не понял.</p><div class="quotebox"><cite>Serge Yolkin пишет:</cite><blockquote><p>…или главное - спорить?</p></blockquote></div><p>Цель — договориться о корректной терминологии.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sat, 04 Jan 2014 18:08:54 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78886#p78886</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78885#p78885</link>
			<description><![CDATA[<p><strong>serzh82saratov</strong>, ещё раз: нет никакой интерпретации. Совсем. Строчка на ассемблере (кто в теме - не придерайтесь к словам, я упрощаю) однозначно, без дополнительной обработки, переводится в машинный код. Тождество. Одна строка - одна команда процессора. Поэтому и обратный перевод возможен, в отличие от высокоуровневых языков, где одна команда в исходниках может породить что угодно в машинном представлении. И, если версия ассемблера актуальна для используемого процессора, такой строчкой в исходнике может быть представлена ЛЮБАЯ команда процессора. С ЛЮБЫМИ параметрами. Потому и оптимизировать нечего: одна строка == одна команда, и обратно. И если можно что-то поменять в бинарнике, то это же точно так же можно поменять и в исходнике. Поскольку - тождество.</p>]]></description>
			<author><![CDATA[null@example.com (Serge Yolkin)]]></author>
			<pubDate>Sat, 04 Jan 2014 18:03:00 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78885#p78885</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78879#p78879</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Ассемблер - ни разу не интерпретатор, он - транслятор. А означает это, что исходник на ассемблере и машинный код могут быть сколько угодно раз транслированы туда-обратно. И если человеческая логика позволяет что-то оптимизировать в машинных кодах, то и на ассемблере эта оптимизация доступна, хотя бы дизассемблированием. Возможны проблемы с внешними макросами / библиотеками процедур, но это не проблема ассемблера. Видел парочку &quot;продвинутых&quot; ассемблеров, типа объектноориентированные и т.д., но это уже либо компилируемый язык, либо ассемблер со встроенными теми самыми библиотеками. Поэтому, земляк, хоть голословно, хоть нет - не убедил.</p></blockquote></div><p>Я ничего не утверждаю, и тем более ни кого не убеждаю, хотя бы в силу своего дилетантизма. Вообще завёл речь про это, чтобы из возможного дальнейшего обсуждения подчерпнуть знаний для себя. А так как на лицо разногласия между гуру, значит вопрос неоднозначен.<br />Код на ассемблере это текстовый файл. Машинный код - единицы и нули, единственное что может понять процессор. <br />Перед тем как запустить в работу машинный код для непосредственной обработки процессором, требуются ресурсы для интерпретации текста ассемблера в машинный код.<br />Машинный код это бинарный файл, он принимается в обработку процессором без предварительного выделения ресурсов на его интерпретацию.<br /></p><div class="quotebox"><blockquote><p>И если человеческая логика позволяет что-то оптимизировать в машинных кодах, то и на ассемблере эта оптимизация доступна,</p></blockquote></div><p>Человеческая логика может только заранее предусмотреть некоторые варианты того что может наваять программер, и внести это в алгоритм интерпретации текста в машинный код.<br />Конечно можно легко полученный машинный код преобразовать обратно в код ассемблера, через &quot;обратный алгоритм интерпретации&quot; того же <span class="bbu">ассемблера</span>, но речь ведь совсем не об этом. А про то что машинный код интерпретированный ассемблером можно в большинстве случаев далее оптимизировать исходя из каждого конкретного случая.</p><p><span class="bbu">Это мои предположения</span>. Если тут присутствуют глубокие заблуждения, прошу не пинать ногами, а просто объяснить что не правильно.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 04 Jan 2014 17:20:45 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78879#p78879</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78877#p78877</link>
			<description><![CDATA[<p><strong>alexii</strong>, во-первых, я обозвал ассемблер транслятором в ответ на заявление, что он - интерпретатор, в данном контексте не вижу ошибки; во-вторых, программа интерпретатор имеет полное право называться ассемблером, да, собственно, они так и называются; в-третьих, диалекты, или, если угодно, реализации ассемблера, помимо того общего, что объединяет их в одно семейство, имеют и некоторые различия (когда я писал на масме, переводить тасмовские примеры было не всегда элементарно), поэтому, на мой взгляд, корректнее говорить о семействе языков программирования и конкретных реализациях, неразрывно связанных с трансляторами. А на &quot;задвинутых&quot; не писал - так, любопытствовал. Кажется, один из них назывался не то Monade, не то как-то похоже (гуглить лень).</p><p>А вообще - не понял, о чём Вы и <strong>greg zakharov</strong> со мной-то спорите? Вроде, я в своём ответе земляку был на Вашей стороне, или главное - спорить?</p>]]></description>
			<author><![CDATA[null@example.com (Serge Yolkin)]]></author>
			<pubDate>Sat, 04 Jan 2014 16:59:59 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78877#p78877</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78844#p78844</link>
			<description><![CDATA[<p>Ассемблер по сути является символическим представлением машинного языка, именно поэтому он неразрывно связан с архитектурой процессора (логично предположить, что с внесением изменений в архитектуру последнего совершенствуется и сам язык ассемблера). Так что разговоры о &quot;продвинутых&quot; (или &quot;задвинутых&quot;) версиях ассемблера - сплошная софистика, а вот:</p><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Дело доходило до того что сам код сокращался в двое, так же как и его быстродействие улучшалось в 2-3 раза.</p></blockquote></div><p>это скорее касательно стиля написания программ (точнее оптимизации кода), нежели &quot;излишеств&quot; ассемблера, - г-н <strong>alexii</strong> прав.</p>]]></description>
			<author><![CDATA[null@example.com (greg zakharov)]]></author>
			<pubDate>Sat, 04 Jan 2014 09:26:37 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78844#p78844</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78835#p78835</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Там суть в том, что человек раскладывал простейшие операции\алгоритмы на ассемблере в виде машинного кода. И показывал как их можно логически упростить и сократить на том же машинном коде.</p></blockquote></div><p>Не знаю, что там происходило, но вообще-то 1 инструкция ассемблера = 1 инструкция процессора. Просто вместо машинного кода, т.е. числа, используется какое-то условное имя (мнемоника), чтобы человеку проще было инструкции запомнить. Да, какой-то конкретный ассемблер может предлагать какие-то свои макросы для ускорения написания кода, например, оформление функций. Вход в процедуру, выход из неё и т.п. В каких-то случаях стандартная обвязка может быть неоптимальной, но всегда можно обойтись без неё или свою написать.</p><p>Машинный код нужен, если в ассемблере ещё нет мнемоник для каких-то инструкций процессора. Не успел ещё автор обновить свой ассемблер или забросил его.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Sat, 04 Jan 2014 04:26:22 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78835#p78835</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78833#p78833</link>
			<description><![CDATA[<p>Вообще-то, ассемблер — это язык программирования низкого уровня <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" />. А транслятор — приложение, преобразующее исходный код на языке программирования в объектный код.</p><div class="quotebox"><blockquote><p>Видел парочку &quot;продвинутых&quot; ассемблеров, типа объектноориентированные и т.д.</p></blockquote></div><p>Каких именно?</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sat, 04 Jan 2014 00:21:44 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78833#p78833</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Про ассемблер]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78832#p78832</link>
			<description><![CDATA[<p>Ассемблер - ни разу не интерпретатор, он - транслятор. А означает это, что исходник на ассемблере и машинный код могут быть сколько угодно раз транслированы туда-обратно. И если человеческая логика позволяет что-то оптимизировать в машинных кодах, то и на ассемблере эта оптимизация доступна, хотя бы дизассемблированием. Возможны проблемы с внешними макросами / библиотеками процедур, но это не проблема ассемблера. Видел парочку &quot;продвинутых&quot; ассемблеров, типа объектноориентированные и т.д., но это уже либо компилируемый язык, либо ассемблер со встроенными теми самыми библиотеками. Поэтому, земляк, хоть голословно, хоть нет - не убедил.</p>]]></description>
			<author><![CDATA[null@example.com (Serge Yolkin)]]></author>
			<pubDate>Fri, 03 Jan 2014 23:47:21 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78832#p78832</guid>
		</item>
	</channel>
</rss>
