<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1681712</guid>
        <pubDate>Fri, 31 Aug 2007 04:03:53 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1681712</link>
        <description><![CDATA[semiono: Я бы кодами песал и сейчас, просто теперь мануалов не найти, чтоб создать приложения из машинных кодов...<br>А кампиляторы всё усложняют, они вообще зло&#33;<br>Асм - это не язык, это коментарий - язык это код&#33;<br><br>Я кампильнул HelloWorld&#33; - но в голове не осталось ничего... как там проц работал хз<br> :ph34r:]]></description>
        <author>semiono</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1681690</guid>
        <pubDate>Fri, 31 Aug 2007 02:43:19 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1681690</link>
        <description><![CDATA[FFF1: &gt; Если только под &quot;как сделать&quot; не понимать<br><br>не не не, я имел ввиду такую ситуацию, к примеру<br>&quot;Я знаю, что бы вызвать MessageBox, 0, &quot;str1&quot;, &quot;str2&quot;, 0 надо написать ручками в редакторе invoke, но не знаю почему ИМЕННО от этого покажется месадж бокс и что будет делать процессор в это время, не знаю как ОС создает окно, и т.п.&quot;<br><br>Между прочим самая большая проблема учеников, студентов - поверхностность изучения очень и ограниченость тем, что обьясняют учителя/преподаватели<br><br>Да и книги некоторые ИМХО тупо пишут, конечно никто так не поймет - если обьяснять, опираясь на &quot;вам больше знать и не надо&quot;. Особенно это те книги, которые написаны в легком-шутливом стиле &quot;представьте что функция это король лев, а переменная - озеро с магическими змеями&quot; и т.п. :D]]></description>
        <author>FFF1</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1673578</guid>
        <pubDate>Thu, 23 Aug 2007 18:58:04 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1673578</link>
        <description><![CDATA[RTN&#124;Sintez: Давно это было. В университете, естественно заставляли :). Начинал с мелких, типа Hello World. Но в целом ассемблер сила.]]></description>
        <author>RTN&#124;Sintez</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1661600</guid>
        <pubDate>Mon, 13 Aug 2007 03:32:37 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1661600</link>
        <description><![CDATA[ors_archangel: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1661581'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FFF1 &#064; <time class="tag-quote__quoted-time" datetime="2007-08-13T00:21:23+00:00">13.08.07, 00:21</time></span><div class='quote '>КАК сделать, а в том, как это будет работать и почему</div></div> Имхо, одно и то же. Если только под &quot;как сделать&quot; не понимать, &quot;как поскорее сделать, лишь бы работало как-нибудь&quot;. Имхо, как раз к ассемблеру, особенно в современное время, последнее бессмысленно.]]></description>
        <author>ors_archangel</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1661581</guid>
        <pubDate>Mon, 13 Aug 2007 00:21:23 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1661581</link>
        <description><![CDATA[FFF1: я сначала ничего не писал, только книжку читал Юрова, разбираясь не в том, КАК сделать, а в том, как это будет работать и почему... а потом уже просто было и hello world сделать<br>повезло мне короче в этом плане... жаль не так как с ООП :(]]></description>
        <author>FFF1</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1660826</guid>
        <pubDate>Sat, 11 Aug 2007 02:46:29 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1660826</link>
        <description><![CDATA[ors_archangel: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1660128'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AndNot &#064; <time class="tag-quote__quoted-time" datetime="2007-08-10T08:02:20+00:00">10.08.07, 08:02</time></span><div class='quote '>GetMem</div></div> В Delphi 5-7 по крайней мере MM не плох, а начиная минимум с Delphi9 используется ещё значительно более оптимизированный вариант.<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>getmem.inc</span><div class='quote '><br>
  cAlign        = 4;<br>
</div></div><br>
Вот такое выравнивание использует стандартный MM Delphi 7.<br>
Вообще, MM различает два вида блоков - большие и маленькие  :) :<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>getmem.inc</span><div class='quote '><br>
  cSmallSize    = 4*1024;<br>
</div></div><br>
Если size &lt;= cSmallSize, то блок выдаётся из массива smallTab, иначе - выделяется динамически, но, что важно, что все блоки выравниваются только по cAlign, т.е. по dword, плюс перед большими блоками добавляют заголовок (8 байт как я когда-то смотрел, может уже путаю, раньше ещё может 4 было, в Delphi 5, точно не помню). В итоге, если блок больше страницы памяти 4k, то он будет выровнен по 8 байтам, иначе - по 4. При небольшом тестировании получилось, что из 1000 блоков размером от 4097 до 69633 адреса, кратные 16 байтам получили 410 блоков, а остальные 590 получили адреса, кратные только 8 байтам. Малые блоки же, при ещё более простой проверке выдали блоки с адресами, кратными вообще 4 байтам. Теперь берём RecyclerMM из glScene (аналогичный MM используется и BD3, TurboDelphi10 и в остальных Delphi8+ думаю тоже). Как и заявляет разработчик, к блокам не добавляется ни загловков, ни хвостов, и все они выровнены (включая блоки даже самого малого размера - 4 б) строго по 16 байтам, так что динамическую память для SSE в Delфi в принципе выровнять не составляет труда - в свежих версиях Delphi это bydefault, а более мудрые можно легко научить благодаря механизму замены MM. Конечно, статике это не поможет :(]]></description>
        <author>ors_archangel</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1660141</guid>
        <pubDate>Fri, 10 Aug 2007 08:08:01 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1660141</link>
        <description><![CDATA[cppasm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1660128'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AndNot &#064; <time class="tag-quote__quoted-time" datetime="2007-08-10T08:02:20+00:00">10.08.07, 08:02</time></span><div class='quote '>Другой вопрос - как?</div></div><br>
Ну так это уже от компилятора зависит и в большинстве случаев управляемо...]]></description>
        <author>cppasm</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1660128</guid>
        <pubDate>Fri, 10 Aug 2007 08:02:20 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1660128</link>
        <description><![CDATA[AndNot: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1659681'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>cppasm &#064; <time class="tag-quote__quoted-time" datetime="2007-08-09T14:15:31+00:00">09.08.07, 14:15</time></span><div class='quote '>Ну статические массивы никто не отменял, другой вопрос что их компилятор HLL выравнивает... </div></div>Другой вопрос - <strong class='tag-b'>как</strong>? <br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1659934'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ors_archangel &#064; <time class="tag-quote__quoted-time" datetime="2007-08-09T23:29:55+00:00">09.08.07, 23:29</time></span><div class='quote '>Мне кажется, что (всё-таки) 99% данных, которые поточно (т.е. массово) обрабатыватся через SSE, где он и имеет смысл - это динамическая память</div></div>Зависит только от задачи. Когда я писал небольшую прогу по снятию и отображению сигнала со звуковой карты, то отдал предпочтение именно статическим массивам, так удобнее было, поскольку размеры массивов были ясны с самого начала. <br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1659934'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ors_archangel &#064; <time class="tag-quote__quoted-time" datetime="2007-08-09T23:29:55+00:00">09.08.07, 23:29</time></span><div class='quote '>задача выравнивания ложиться вследствие всего этого не на HLL-компилятор (или люой другой), а на менеджер памяти, используемый для выделения оной</div></div>Хотелось бы еще узнать, как работает <em class='tag-i'>GetMem</em>? Может кто рылся в ней?]]></description>
        <author>AndNot</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1660047</guid>
        <pubDate>Fri, 10 Aug 2007 06:48:13 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1660047</link>
        <description><![CDATA[cppasm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1659934'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ors_archangel &#064; <time class="tag-quote__quoted-time" datetime="2007-08-09T23:29:55+00:00">09.08.07, 23:29</time></span><div class='quote '>Если есть контрпримеры, интересно было бы их услышать.</div></div><br>
Ну та же обрабокта звука. Скажем эквалайзер.<br>
Да, звук ты читаеш из файла скорее всего в динамически выделенную память (хотя можно и в статический массив).<br>
А вот коэффициенты для эквалайзера находятся в массиве.<br>
При обработке используются ведь не только исходные данные, но и матрицы коэффициентов различных - например размытие для видео и т.д.]]></description>
        <author>cppasm</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1659934</guid>
        <pubDate>Thu, 09 Aug 2007 23:29:55 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1659934</link>
        <description><![CDATA[ors_archangel: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1659681'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>cppasm &#064; <time class="tag-quote__quoted-time" datetime="2007-08-09T14:15:31+00:00">09.08.07, 14:15</time></span><div class='quote '>Ну статические массивы никто не отменял</div></div> Однако&#33;.. Я себе так представляю: SSE в аудио приложении, задача - обработка звука, звук - в статическом массиве? SSE в графическом приложении, задача - обработка геометрии, неужели и геом. модели  - в статическом массиве... (кстати бывает - в демках, признаю) Мне кажется, что (всё-таки) 99% данных, которые поточно (т.е. массово) обрабатыватся через SSE, где он и имеет смысл - это динамическая память, соотв. от сюда и тезис о том, что задача выравнивания ложиться вследствие всего этого не на HLL-компилятор (или люой другой), а на менеджер памяти, используемый для выделения оной. Если есть контрпримеры, интересно было бы их услышать.]]></description>
        <author>ors_archangel</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1659681</guid>
        <pubDate>Thu, 09 Aug 2007 14:15:31 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1659681</link>
        <description><![CDATA[cppasm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1659443'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ors_archangel &#064; <time class="tag-quote__quoted-time" datetime="2007-08-09T11:26:01+00:00">09.08.07, 11:26</time></span><div class='quote '>AndNot SSE предназначен для массовых вычислений, следовательно над динамической памятью</div></div><br>
Ну статические массивы никто не отменял, другой вопрос что их компилятор HLL выравнивает...]]></description>
        <author>cppasm</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1659443</guid>
        <pubDate>Thu, 09 Aug 2007 11:26:01 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1659443</link>
        <description><![CDATA[ors_archangel: <strong class='tag-b'>AndNot</strong> SSE предназначен для массовых вычислений, следовательно над динамической памятью, поэтому выравнивание данных - это задача не BASM, а MM (Memory Manager), я так понимаю. Есть, например, FastMM для Delphi7, который, насколько я помню всё специально выделяет по границе 16 байт (используется в движке GLScrene). Хотя, конечно, лишней такая возможность не была бы...]]></description>
        <author>ors_archangel</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1659174</guid>
        <pubDate>Thu, 09 Aug 2007 07:51:14 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1659174</link>
        <description><![CDATA[AndNot: <strong class='tag-b'>leo</strong>, все верно, да не совсем. Для более старых моделей выравнивание более критично. Я уж не говорю про SSE, сам замерял, разбросы были ощутимые ;-)]]></description>
        <author>AndNot</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1659049</guid>
        <pubDate>Thu, 09 Aug 2007 06:39:56 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1659049</link>
        <description><![CDATA[leo: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1658861'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AndNot &#064; <time class="tag-quote__quoted-time" datetime="2007-08-08T19:10:21+00:00">08.08.07, 19:10</time></span><div class='quote '>Если по скорости, то тут будет больщой облом. Ты лучше меня знаешь, как важно, в таких случаях, выравнивание кода и данных.</div></div><br>
Я то как раз знаю, что требование выравнивания кода и данных это перестраховка из разряда &quot;береженого бог бережет&quot;, которая в большинстве пратических задач никакой ощутимой роли не играет, за исключением редких, особых случаев ловли блох при супероптимизации тонких циклов. В NetBurst выравнивание кода вообще не важно, т.к. рулит Т-кэш (правда при ловле блох иногда может вылезать зависимость от выравнивания, но это непредсказуемые косяки, требующие особого подхода). В P6 и AMD невыравненные метки циклов могут в худшем случае приводить к дыркам в 1-3 микрооперации в конвеере, что, во-первых, не обязательно приводит к задержке (т.к. может сглаживаться очередью команд), во-вторых, для толстых циклов потеря одного такта особой роли не играет, а тонкие циклы по правилам следует разворачивать. О выравнивании данных и вообще говорить нечего - 4-байтные данные в дельфях всегда выравнены (если самому не накосячить с packed record), а для массива double потеря 1 такта в 4/64 = 1/16 случаях, да с учетом латентностей FPU и побочных факторов - это капля в море. <br>
<br>
Ну и во-вторых, оптимизация - штука относительная, поэтому при использовании встроенного асма можно не гнаться за сверхрекордами скорости, а достаточно лишь устранить косяки дельфийского компилятора, чтобы получить заметный выигрыш. Например, при FPU-вычислениях дельфи постоянно бестолково загружает&#092;сохраняет промежуточные переменные вместо того, чтобы держать их в регистрах, да еще и wait пичкает не к месту, поэтому просто грамотная асм-реализация без всякого выравнивания может давать выигрыш в циклах в несколько раз. Ну а для сверхоптимизации с выравниванием и прочими прибамбасами можно и dll-ку на полноценном асме накатать ;)]]></description>
        <author>leo</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1658895</guid>
        <pubDate>Wed, 08 Aug 2007 21:26:09 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1658895</link>
        <description><![CDATA[n0p: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Увы, есть куча примеров, когда счетчик просто необходим. Его отсутствие ведет к вынужденным вычисления в теле программы, что не есть гуд.</div></div><br>
Сойдемся на том что есть некая куча г-вна, как правило на 100пудофф абсолютно бесполезного :)<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Попробуй ка на BASM такое заделать <br>
</div></div><br>
Я лутше с BASMA перейду на ЯВУ, и спокойно все на нем сделаю, особо не задалбываясь :)]]></description>
        <author>n0p</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1658861</guid>
        <pubDate>Wed, 08 Aug 2007 19:10:21 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1658861</link>
        <description><![CDATA[AndNot: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1658748'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>leo &#064; <time class="tag-quote__quoted-time" datetime="2007-08-08T15:56:07+00:00">08.08.07, 15:56</time></span><div class='quote '>А встроенный асм это и есть полезная игрушка - поупражняться в оптимизации</div></div>Смотря в какой оптимизации. Если по скорости, то тут будет больщой облом. Ты лучше меня знаешь, как важно, в таких случаях, выравнивание кода и данных. Только вот в ЯВУ этим управлять можно только косвенно, да и то - не везде и не во всех.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1658786'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>n0p &#064; <time class="tag-quote__quoted-time" datetime="2007-08-08T16:44:56+00:00">08.08.07, 16:44</time></span><div class='quote '>а отсутствие некоторых фич - так ведь острой необходимости в этом нет, вместо &#036; вполне достаточно offset&#39;ов на метки</div></div>Увы, есть куча примеров, когда счетчик просто необходим. Его отсутствие ведет к вынужденным вычисления в теле программы, что не есть гуд.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1658786'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>n0p &#064; <time class="tag-quote__quoted-time" datetime="2007-08-08T16:44:56+00:00">08.08.07, 16:44</time></span><div class='quote '>Так же и с мракосами</div></div>Это ты загнул :) По мне запись:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp;invoke MessageBox, NULL, _T(&quot;Use macro string!&quot;), _T(&quot;Helloy&quot;), MB_OK</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>значительно эстетичнее и нагляднее, нежели:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp;push MB_OK</div><div class="code_line">&nbsp;&nbsp; &nbsp;push offset szTitle</div><div class="code_line">&nbsp;&nbsp; &nbsp;push offset szMessage</div><div class="code_line">&nbsp;&nbsp; &nbsp;call MessageBox</div></ol></div></div></div></div><br>
Или взять такую задачу, как шифрование. Вот простой пример, когда я использовал эту фичу, от ламеров, которые любят править строки в программе:) :<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">XORTEXT = 1 ; 0 - при отладке</div><div class="code_line">XORKEY &nbsp;equ 57h</div><div class="code_line">&nbsp;</div><div class="code_line">MACRO SETXORTEXT delaytime,msg</div><div class="code_line">ifnb &#60;delaytime&#62;</div><div class="code_line">&nbsp;&nbsp;if XORTEXTS</div><div class="code_line">&nbsp;&nbsp; &nbsp;db not(delaytime xor XORKEY)</div><div class="code_line">&nbsp;&nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp;db delay</div><div class="code_line">&nbsp;&nbsp;endif</div><div class="code_line">endif</div><div class="code_line">&nbsp;&nbsp;IRPC ASS,&#60;msg&#62;</div><div class="code_line">&nbsp;&nbsp;if XORTEXTS</div><div class="code_line">&nbsp;&nbsp; &nbsp;db not(&#39;&amp;ASS&#39; xor XORKEY)</div><div class="code_line">&nbsp;&nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp;db &#39;&amp;ASS&#39;</div><div class="code_line">&nbsp;&nbsp;endif</div><div class="code_line">&nbsp;&nbsp;ENDM</div><div class="code_line">ENDM</div><div class="code_line">&nbsp;</div><div class="code_line">; а затем просто объявляем текстовые данные</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;SETXORTEXT &nbsp; &nbsp; &nbsp; 9,&#60;SCREEN SAVER III&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;SETXORTEXT &nbsp; &nbsp; &nbsp; 11,&#60;for&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;SETXORTEXT &nbsp; &nbsp; &nbsp; 9,&#60;DOS Navigator&#62;</div></ol></div></div></div></div>Попробуй ка на BASM такое заделать ;) <br>
Подобным макаром реализуется и вычисление CRC имен функций, необходимое при кодинге без таблиц импорта. А на BASM тебе придется вычислять все отдельно. Лишняя трата времени, особенно при переделках.<br>
Или возьми такую больную тему, как появление новых команд процессора. Что прикажешь делать? Менять компилятор? А вот при наличии макросов это уже не проблема. Никто не мешает мне использовать SSE даже с 3-м тасмом.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1658786'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>n0p &#064; <time class="tag-quote__quoted-time" datetime="2007-08-08T16:44:56+00:00">08.08.07, 16:44</time></span><div class='quote '>Один фик, ЯВУ в них не загонишь</div></div>Ошибаешься :) Посмотри на фасм, там все высокоуровневые средства реализованы в виде макросов.<br>
Да и на простом тасме макросы могут реализовать практически все. По крайней мере я реализовывал if/while/case и прочие. Причем вложенные ;)]]></description>
        <author>AndNot</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1658786</guid>
        <pubDate>Wed, 08 Aug 2007 16:44:56 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1658786</link>
        <description><![CDATA[n0p: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>BASM тянет на игрушку, не более</div></div><br>
тока для тех кто не играл в него по крупному :)  Это вещь, причем посерьёзней чем TASM, а отсутствие некоторых фич - так ведь острой необходимости в этом нет, вместо &#036; вполне достаточно offset&#39;ов на метки. Так же и с мракосами. Всегда их заменял на вызовы функций или, разворачивал. чтоб глаза не мозолили. Один фик, ЯВУ в них не загонишь.]]></description>
        <author>n0p</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1658748</guid>
        <pubDate>Wed, 08 Aug 2007 15:56:07 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1658748</link>
        <description><![CDATA[leo: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1657663'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AndNot &#064; <time class="tag-quote__quoted-time" datetime="2007-08-07T17:31:04+00:00">07.08.07, 17:31</time></span><div class='quote '>Я уж не говорю про невозможность ариф. операций с адресами меток, про отсутствие Size(вот счастье то размеры структур самому высчитывать), да и много чего.</div></div><br>
Размеры структур высчитывать ни к чему - для этого есть оператор TYPE ;)<br>
Ну а с адресами и метками действительно косяк. С глобальными указателями на функции и переменные - понятно, т.к. это лишние хлопоты при компиляции и линковке dcu. Но не позволять вычислять разность адресов локальных меток, да еще при этом выдавать дебильное сообщение о релоках, которые тут ни к селу ни к городу - это конечно чересчур тупо :angry: <br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1657663'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AndNot &#064; <time class="tag-quote__quoted-time" datetime="2007-08-07T17:31:04+00:00">07.08.07, 17:31</time></span><div class='quote '>В общем BASM тянет на игрушку, не более</div></div><br>
А встроенный асм это и есть полезная игрушка - поупражняться в оптимизации, хаке, доморощенной защите и т.п., что еще нужно ? ;)]]></description>
        <author>leo</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1658184</guid>
        <pubDate>Wed, 08 Aug 2007 09:11:34 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1658184</link>
        <description><![CDATA[AndNot: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1658086'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>cppasm &#064; <time class="tag-quote__quoted-time" datetime="2007-08-08T08:23:12+00:00">08.08.07, 08:23</time></span><div class='quote '>А по-моему так они сохраняют совместимость :)</div></div>В том то и дело, что могли бы сделать по другому, если бы не жмотились ;)]]></description>
        <author>AndNot</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1658086</guid>
        <pubDate>Wed, 08 Aug 2007 08:23:12 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1658086</link>
        <description><![CDATA[cppasm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1657979'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AndNot &#064; <time class="tag-quote__quoted-time" datetime="2007-08-08T07:29:51+00:00">08.08.07, 07:29</time></span><div class='quote '>Так радиолюбители экономят транзисторы.</div></div><br>
А по-моему так они сохраняют совместимость :)<br>
Иначе на 386 программы рассчитаные на 16-bit PMode просто бы не работали...]]></description>
        <author>cppasm</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657979</guid>
        <pubDate>Wed, 08 Aug 2007 07:29:51 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657979</link>
        <description><![CDATA[AndNot: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1657957'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>cppasm &#064; <time class="tag-quote__quoted-time" datetime="2007-08-08T07:04:14+00:00">08.08.07, 07:04</time></span><div class='quote '>А где там трюки если не секрет?</div></div>А тебе ни о чем не говорит структура дескрипторов? Выглядит, мягко говоря, уродливо. Понимаю, что совместимость, но ведь можно было реализовать совсем по другому, но инженеры предпочли съэкономить, заюзав старый формат. Один бит гранулярности чего стоит :lol: Так радиолюбители экономят транзисторы.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1657957'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>cppasm &#064; <time class="tag-quote__quoted-time" datetime="2007-08-08T07:04:14+00:00">08.08.07, 07:04</time></span><div class='quote '>Насчёт VGA - там да, есть немного.</div></div>Там очень много. Причем заметь, что бы избавиться от некоторых трюков, разработчики наплевали на совместимость с CGA, Hercules и тд. И правильно сделали.]]></description>
        <author>AndNot</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657957</guid>
        <pubDate>Wed, 08 Aug 2007 07:04:14 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657957</link>
        <description><![CDATA[cppasm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1657663'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AndNot &#064; <time class="tag-quote__quoted-time" datetime="2007-08-07T17:31:04+00:00">07.08.07, 17:31</time></span><div class='quote '>Не представляю, как можно кодить без макросов</div></div><br>
А я не представляю как можно с макросами :)<br>
Никогда не пользуюсь, всё руками...<br>
Так что на вкус и цвет...<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1657807'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>leo &#064; <time class="tag-quote__quoted-time" datetime="2007-08-08T03:43:41+00:00">08.08.07, 03:43</time></span><div class='quote '>А что такое BASM ? Built-in assembler или что ?</div></div><br>
BASM - Borland Assembler.<br>
Они сами так свой встроенный ассемблер назвали, он так в справке значится :)<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1657663'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AndNot &#064; <time class="tag-quote__quoted-time" datetime="2007-08-07T17:31:04+00:00">07.08.07, 17:31</time></span><div class='quote '>Если брать в общих чертах, то не костыль, а расширение. Если же посмотреть на реализацию, то действительно костыль, с радиолюбительскими трюками</div></div><br>
А где там трюки если не секрет?<br>
Кроме формата дескрипторов который такой какой есть для совместимости с PMode 286, вроди ничего там такого не наблюдается...<br>
Насчёт VGA - там да, есть немного.<br>
Ну так цели такие были - разработчики адресное пространсво экономили, а не простоту обеспечивали...]]></description>
        <author>cppasm</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657835</guid>
        <pubDate>Wed, 08 Aug 2007 05:09:25 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657835</link>
        <description><![CDATA[leo: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1657813'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2007-08-08T04:05:59+00:00">08.08.07, 04:05</time></span><div class='quote '>Я об организации взаимодействия с ним. Логически он остался отдельным устройством</div></div><br>
Это смотря какую логику прикручивать ;) Логически и блоки работы с памятью (вычисление адреса, load&#092;store буферы, LSU&#092;MOB) можно рассматривать как отдельные устройства, а при желании и целочисленный умножитель тоже :) А если судить по стадиям обработки микроопераций, то в пеньках обработка FPU&#092;MMX&#092;SSE операций ничем не отличается от других - в P6 это вообще единый конвеер с общим загадочным планировщиком RS, а в NetBurst операции после ROB разделяются на несколько (практически) равноправных потоков (memory, FPU&#092;MMX&#092;SSE, slow-ALU, fast-ALU), направляемых на свои исполнительные блоки, поэтому приписывать FPU какое-то особый статус в такой архитектуре не приходится. А вот в архитектуре AMD операции FPU&#092;MMX&#092;SSE действительно выделяются в отдельный удлинненный конвеер, но связано это не с &quot;тяжким наследием прошлого&quot;, а просто соображениями оптимизации (уменьшением длины конвеера и пенальти за непредсказаные переходы для быстрых и более популярных ALU&#092;Mem операций, по сравнению с &quot;медленными&quot; FPU&#092;MMX&#092;SSE) и если бы AMD64 разрабатывался с нуля, то наверняка бы такое разделение сохранилось, т.к. оно логично по своей природе и к &quot;костылям&quot; никакого отношения не имеет  :)<br>
<br>
PS: А вот стэковая организация регистров FPU видимо действительно пережиток прошлого и если бы не проблемы совместимости, то вполне можно было бы реализовать прямую адресацию регистров]]></description>
        <author>leo</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657813</guid>
        <pubDate>Wed, 08 Aug 2007 04:05:59 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657813</link>
        <description><![CDATA[wind: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1657663'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AndNot &#064; <time class="tag-quote__quoted-time" datetime="2007-08-07T17:31:04+00:00">07.08.07, 17:31</time></span><div class='quote '>Начиная с четверок сопроцессор уже встроенный. Так о каком отдельном устройстве идет речь?</div></div><br>
Я об организации взаимодействия с ним. Логически он остался отдельным устройством.]]></description>
        <author>wind</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657807</guid>
        <pubDate>Wed, 08 Aug 2007 03:43:41 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657807</link>
        <description><![CDATA[leo: А что такое BASM ? Built-in assembler или что ?]]></description>
        <author>leo</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657663</guid>
        <pubDate>Tue, 07 Aug 2007 17:31:04 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657663</link>
        <description><![CDATA[AndNot: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1656994'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2007-08-07T08:20:32+00:00">07.08.07, 08:20</time></span><div class='quote '>Сопроцессор как отдельное устройство со своим стеком и командами - костыль</div></div>Начиная с четверок сопроцессор уже встроенный. Так о каком отдельном устройстве идет речь?<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1656994'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2007-08-07T08:20:32+00:00">07.08.07, 08:20</time></span><div class='quote '>защищённый режим - снова костыль</div></div>Если брать в общих чертах, то не костыль, а расширение. Если же посмотреть на реализацию, то действительно костыль, с радиолюбительскими трюками :D Но это относится ко многим вещам. Взять хотя бы устройства видеоадаптеров. А что в этом мире совершенно?<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1657313'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>n0p &#064; <time class="tag-quote__quoted-time" datetime="2007-08-07T11:59:57+00:00">07.08.07, 11:59</time></span><div class='quote '>До сих пор восхищаюсь BASM</div></div>Не представляю, как можно кодить без макросов &lt;_&lt; Да и простой счетчик адреса(&#036;) очень облегчает жизнь. Я уж не говорю про невозможность ариф. операций с адресами меток, про отсутствие Size(вот счастье то размеры структур самому высчитывать), да и много чего. В общем BASM тянет на игрушку, не более. Серьезные вещи на нем реализуются через костыли.]]></description>
        <author>AndNot</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657313</guid>
        <pubDate>Tue, 07 Aug 2007 11:59:57 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657313</link>
        <description><![CDATA[n0p: Ну так большинство наворотов вводилось в х86, исключительно для обеспечения работы многозадачных операционок. В тоже время это весьма простой CPU, из числа доступных, cверхмощных вычислительных платформ. Под многие его фичи (Real/Protected/MMX/SSE) очень интересно программить.<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>ors_archangel</span><div class='quote '>Я начал с Delphi BASM</div></div><br>
До сих пор восхищаюсь BASM, без которого врядли стал бы использовать Delphi.]]></description>
        <author>n0p</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657145</guid>
        <pubDate>Tue, 07 Aug 2007 10:18:18 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1657145</link>
        <description><![CDATA[cppasm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1656994'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2007-08-07T08:20:32+00:00">07.08.07, 08:20</time></span><div class='quote '>Сопроцессор как отдельное устройство со своим стеком и командами - костыль, SSE - костыль, комплексные инструкции - костыль, защищённый режим - снова костыль. С другой стороны, если отбросить всё это наследие, получится очередной itanium - хорош, но никому не нужен. </div></div><br>
Возможно это просто вопрос терминов, но я не согласен что это костыли.<br>
Это расширения. Почему сопроцессор как отдельное устройство - это костыль?<br>
У него другие типы данных, другое назначение - потому он и отдельное устройство.<br>
То же самое со всем остальным - SSE, Protected Mode.<br>
А как ты правильно заметил без обратной совместимости он даром никому нужен не будет...]]></description>
        <author>cppasm</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1656994</guid>
        <pubDate>Tue, 07 Aug 2007 08:20:32 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1656994</link>
        <description><![CDATA[wind: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1656976'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>cppasm &#064; <time class="tag-quote__quoted-time" datetime="2007-08-07T08:10:48+00:00">07.08.07, 08:10</time></span><div class='quote '>Нормальная архитектура - это некоторым людям сохранение обратной совместимости с ранними моделями процессоров очень не нравится...</div></div><br>
Сопроцессор как отдельное устройство со своим стеком и командами - костыль, SSE - костыль, комплексные инструкции - костыль, защищённый режим  - снова костыль. С другой стороны, если отбросить всё это наследие, получится очередной itanium - хорош, но никому не нужен.]]></description>
        <author>wind</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1656976</guid>
        <pubDate>Tue, 07 Aug 2007 08:10:48 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1656976</link>
        <description><![CDATA[cppasm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1656528'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ors_archangel &#064; <time class="tag-quote__quoted-time" datetime="2007-08-06T16:23:54+00:00">06.08.07, 16:23</time></span><div class='quote '>Например?</div></div><br>
Не обращай внимания :)<br>
Нормальная архитектура - это некоторым людям сохранение обратной совместимости с ранними моделями процессоров очень не нравится...]]></description>
        <author>cppasm</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1656528</guid>
        <pubDate>Mon, 06 Aug 2007 16:23:54 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1656528</link>
        <description><![CDATA[ors_archangel: Я начал с Delphi BASM - так изучил все ring3-инструкции 386, далее таким же образом изучил MMX и немного SSE, асм использую исключительно для оптимизации.<br>
Первая программа именно на чистом ассемблере была, если правильно помню, по копированию дискет из-под DOS.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1599872'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>antigen &#064; <time class="tag-quote__quoted-time" datetime="2007-06-13T07:24:48+00:00">13.06.07, 07:24</time></span><div class='quote '>После этого чо-нить накатать на x86 уже стало не трудно, но как-то обломно и противно - до того ублюдская архитектура, даже не архитектура, а какой-то кривой забор из костылей и подпорок</div></div> Например?]]></description>
        <author>ors_archangel</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1627882</guid>
        <pubDate>Sun, 08 Jul 2007 06:00:40 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1627882</link>
        <description><![CDATA[Jin X: Я думаю, достаточно висеть этой теме вверху ;)]]></description>
        <author>Jin X</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1600892</guid>
        <pubDate>Wed, 13 Jun 2007 15:26:36 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1600892</link>
        <description><![CDATA[e-moe: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1599793'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Дьяволица &#064; <time class="tag-quote__quoted-time" datetime="2007-06-13T06:53:04+00:00">13.06.07, 06:53</time></span><div class='quote '>правда ? :( а я думала можно<br>
а откуда ты это помнишь ? ;)</div></div><br>
оно просто не дает тебе вызвать CreateWindow...]]></description>
        <author>e-moe</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1599920</guid>
        <pubDate>Wed, 13 Jun 2007 07:48:08 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1599920</link>
        <description><![CDATA[AndNot: Точно так же выражались те, кому пришлось сменить 8080 на х86 :) Но ко всему можно привыкнуть :)]]></description>
        <author>AndNot</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1599872</guid>
        <pubDate>Wed, 13 Jun 2007 07:24:48 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1599872</link>
        <description><![CDATA[antigen: Программа обслуживания 24-битного измертельного АЦП на atmega8 AVR. Около 560 строк ассемблерного кода.<br>После этого чо-нить накатать на x86 уже стало не трудно, но как-то обломно и противно - до того ублюдская архитектура, даже не архитектура, а какой-то кривой забор из костылей и подпорок.]]></description>
        <author>antigen</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1599793</guid>
        <pubDate>Wed, 13 Jun 2007 06:53:04 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1599793</link>
        <description><![CDATA[Дьяволица: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1599678'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>e&#045;moe &#064; <time class="tag-quote__quoted-time" datetime="2007-06-13T05:01:54+00:00">13.06.07, 05:01</time></span><div class='quote '>насколько я помню, создать окна и их оконные функции так не получится </div></div>правда ?  :( а я думала можно <br>
а откуда ты это помнишь ?  ;)]]></description>
        <author>Дьяволица</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1599678</guid>
        <pubDate>Wed, 13 Jun 2007 05:01:54 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1599678</link>
        <description><![CDATA[e-moe: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1598575'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Дьяволица &#064; <time class="tag-quote__quoted-time" datetime="2007-06-11T20:26:28+00:00">11.06.07, 20:26</time></span><div class='quote '>MsgBox &quot;Hello, World&#33;&quot;<br>
переименовывем в *.vbs и воля :P</div></div><br>
насколько я помню, создать окна и их оконные функции так не получится :(]]></description>
        <author>e-moe</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1598575</guid>
        <pubDate>Mon, 11 Jun 2007 20:26:28 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1598575</link>
        <description><![CDATA[Дьяволица: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">MsgBox &quot;Hello, World!&quot;</div></ol></div></div></div></div> переименовывем в *.vbs и воля   :P ну и так далее только можно с параметрами и многие апи функции  ;) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2007-06-11T20:27:57+00:00">11.06.07, 20:27</time></span></span><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Можно  Но смысл? </div></div> ну типа в тему и ответ что зачем тогда в си когда можно ваще так  ;)]]></description>
        <author>Дьяволица</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1598409</guid>
        <pubDate>Mon, 11 Jun 2007 16:46:06 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1598409</link>
        <description><![CDATA[AndNot: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1597507'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>old_lamer &#064; <time class="tag-quote__quoted-time" datetime="2007-06-10T17:05:37+00:00">10.06.07, 17:05</time></span><div class='quote '>А жаль.</div></div> :yes: Кодинг под дос дает немало знаний по железу и внутреннему устройству компа, по принципам его работы и взаимодействию перефирии. Это очень сильно облегчает жизнь даже в вин АПИ :)<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1597507'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>old_lamer &#064; <time class="tag-quote__quoted-time" datetime="2007-06-10T17:05:37+00:00">10.06.07, 17:05</time></span><div class='quote '>Имеет ли ассемблер большой смысл под Windows, для меня этот вопрос весьма сомнителен.</div></div>А почему бы и нет? На АПИ асм использоать так же легко как и Си, разницы никакой. Но всегда найдется место для оптимизации. Вот виденный мной на днях код(привожу по памяти):<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">function Alloc(var pBuff: array of Pointer; var hBuff: array of THandle; bufSize, NumBuff: Integer): Boolean;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;i: Integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;for i := 0 to NumBuff-1 do begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;hBuff[i] := GlobalAlloc(GMEM_MOVEABLE or GMEM_SHARE or GMEM_ZEROINIT, bufSize);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if hBuff[i] = 0 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Alloc := FALSE;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Exit;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;pBuff[i] := GlobalLock(hBuff[i]);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if pBuff[i] = nil then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Alloc := FALSE;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Exit;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;&nbsp;Alloc := TRUE;</div><div class="code_line">end;</div></ol></div></div></div></div>В данном куске возможна утечка памяти, но суть не в этом. Очевидны две вещи. Первое. Необходимо вернуть массив указателей. Второе. Участки памяти блокируются, соответственно нет никакой необходимости в раздельном выделении и блокировке (в самой проге они нигде не разблокируются, только при освобождении памяти). На асме я бы сделал примерно так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Alloc proc NumBuff: dword, BufSize: dword</div><div class="code_line">&nbsp;&nbsp;uses ebx, edi</div><div class="code_line">&nbsp;&nbsp; &nbsp;mov &nbsp; &nbsp; ebx, NumBuff</div><div class="code_line">&nbsp;&nbsp; &nbsp;mov &nbsp; &nbsp; eax, BufSize</div><div class="code_line">&nbsp;&nbsp; &nbsp;add &nbsp; &nbsp; eax, 4</div><div class="code_line">&nbsp;&nbsp; &nbsp;mul &nbsp; &nbsp; ebx</div><div class="code_line">&nbsp;&nbsp; &nbsp;invoke &nbsp;GloballAlloc, GMEM_FIXED or GMEM_ZEROINIT, eax</div><div class="code_line">&nbsp;&nbsp; &nbsp;.if (eax != NULL)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;push &nbsp; &nbsp;eax</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;mov &nbsp; &nbsp; edi, eax</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;lea &nbsp; &nbsp; eax, [eax+ebx*4]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;.while (ebx != 0)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;stosd</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;add &nbsp; &nbsp; eax, BufSize</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dec &nbsp; &nbsp; ebx</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;.endw</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;pop &nbsp; &nbsp; eax</div><div class="code_line">&nbsp;&nbsp; &nbsp;.endif</div><div class="code_line">&nbsp;&nbsp; &nbsp;ret</div><div class="code_line">Alloc endp</div></ol></div></div></div></div>На выходе в eax указатель на массив векторов или ноль, что так же позволяет контролировать результат функции. Возможно пример не самый удачный, но это первое что взбрело в голову :)<br>
В общем есть где развернуться.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1597515'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Дьяволица &#064; <time class="tag-quote__quoted-time" datetime="2007-06-10T17:11:01+00:00">10.06.07, 17:11</time></span><div class='quote '>да можно ваще на скрипте бэйсика *.vbs непомню только как </div></div>Можно :) Но смысл? Кстати, если вспомнишь - черкни пожалуйста :)]]></description>
        <author>AndNot</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1597515</guid>
        <pubDate>Sun, 10 Jun 2007 17:11:01 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1597515</link>
        <description><![CDATA[Дьяволица: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '> как и создания окон, кнопочек и всего интерфейса вообще.</div></div> да можно ваще на скрипте бэйсика *.vbs непомню только как  :)]]></description>
        <author>Дьяволица</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1597507</guid>
        <pubDate>Sun, 10 Jun 2007 17:05:37 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1597507</link>
        <description><![CDATA[old_lamer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1439472'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>adrax &#064; <time class="tag-quote__quoted-time" datetime="2007-02-03T21:44:54+00:00">03.02.07, 21:44</time></span><div class='quote '>Я начал постижение ассемблера с вывода простого MessageBox. Под DOS я асмом не увлекался </div></div><br>
А жаль. Имеет ли ассемблер большой смысл под Windows, для меня этот вопрос весьма сомнителен.<br>
MessageBox с таким же успехом можно и на Си вызвать, как и создания окон, кнопочек и всего интерфейса вообще.]]></description>
        <author>old_lamer</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1591092</guid>
        <pubDate>Tue, 05 Jun 2007 21:07:40 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1591092</link>
        <description><![CDATA[AndNot: Всем спасибо :)]]></description>
        <author>AndNot</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1465175</guid>
        <pubDate>Sun, 25 Feb 2007 23:54:55 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1465175</link>
        <description><![CDATA[wind: И на меня варианта нет. Я asm изучал по журналу &quot;КомпьютерПресс&quot;, а первая программа была не &quot;Hello, world&quot;, но и не серьёзный проект - оседала резидентом и после запуска NCMAIN.EXE переназначала синий цвет в палитре. Просто на мониторе с градациями серого плохо видно было :D]]></description>
        <author>wind</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1465013</guid>
        <pubDate>Sun, 25 Feb 2007 19:25:41 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1465013</link>
        <description><![CDATA[rikitikitavi: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1465004'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AndNot &#064; <time class="tag-quote__quoted-time" datetime="2007-02-25T19:18:38+00:00">25.02.07, 19:18</time></span><div class='quote '>Ну ребята, на Вас всех вариантов не предусмотришь </div></div><br>
ну &quot;непомню&quot; могбы предусмотреть :)]]></description>
        <author>rikitikitavi</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1465004</guid>
        <pubDate>Sun, 25 Feb 2007 19:18:38 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1465004</link>
        <description><![CDATA[AndNot: Ну ребята, на Вас всех вариантов не предусмотришь :D]]></description>
        <author>AndNot</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1464952</guid>
        <pubDate>Sun, 25 Feb 2007 18:12:17 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1464952</link>
        <description><![CDATA[-=m†CRo=-: Первую прогу, на асме, helloworld, набирал в Hiew&#39;e 6.11 (не такие уж и машкоды), дивясь причудам x86-ой архитектуры :)]]></description>
        <author>-=m†CRo=-</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1464924</guid>
        <pubDate>Sun, 25 Feb 2007 17:33:19 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1464924</link>
        <description><![CDATA[rikitikitavi: <strong class='tag-b'>AndNot</strong>что-то, только заметила тему :), а что первое... ты прикинь не помню :)]]></description>
        <author>rikitikitavi</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1464912</guid>
        <pubDate>Sun, 25 Feb 2007 17:09:55 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1464912</link>
        <description><![CDATA[e-moe: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1464897'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AndNot &#064; <time class="tag-quote__quoted-time" datetime="2007-02-25T16:40:42+00:00">25.02.07, 16:40</time></span><div class='quote '>Такой вариант даже в голову не пришел :) Хоть кто то &quot;по правилам&quot; сделал :D</div></div><br>
просто асм был не первым языком программирования который я учил...]]></description>
        <author>e-moe</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1464897</guid>
        <pubDate>Sun, 25 Feb 2007 16:40:42 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1464897</link>
        <description><![CDATA[AndNot: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1464869'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>e&#045;moe &#064; <time class="tag-quote__quoted-time" datetime="2007-02-25T15:44:56+00:00">25.02.07, 15:44</time></span><div class='quote '>Просто написал на листике формулу и начал ее кодить на асме.</div></div><br>
Такой вариант даже в голову не пришел :) Хоть кто то &quot;по правилам&quot; сделал :D]]></description>
        <author>AndNot</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1464869</guid>
        <pubDate>Sun, 25 Feb 2007 15:44:56 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1464869</link>
        <description><![CDATA[e-moe: ни машинные кода, ни привет мир, ни солидный проект.. Просто написал на листике формулу и начал ее кодить на асме. Проверял в турбодебагере т.к. вывод символов еще не знал как делать на асме :)]]></description>
        <author>e-moe</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1453661</guid>
        <pubDate>Wed, 14 Feb 2007 21:25:38 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1453661</link>
        <description><![CDATA[AndNot: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1453600'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>antelv_01 &#064; <time class="tag-quote__quoted-time" datetime="2007-02-14T20:18:26+00:00">14.02.07, 20:18</time></span><div class='quote '>Помогите сделать драйвер клавиатуры на ассемблере через порты ввода-вывода</div></div><br>
Отчего же не помочь, только не в этой теме ;)]]></description>
        <author>AndNot</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1453621</guid>
        <pubDate>Wed, 14 Feb 2007 20:37:40 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1453621</link>
        <description><![CDATA[maxutov: Basic-&gt; Pascal-&gt; Asm-&gt; Code (машинные)]]></description>
        <author>maxutov</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1453600</guid>
        <pubDate>Wed, 14 Feb 2007 20:18:26 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1453600</link>
        <description><![CDATA[antelv_01: Помогите сделать драйвер клавиатуры на ассемблере через порты ввода-вывода]]></description>
        <author>antelv_01</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1453253</guid>
        <pubDate>Wed, 14 Feb 2007 13:56:47 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1453253</link>
        <description><![CDATA[Barbosman: а у меня было не &quot;хелоу ворлд&#33;&quot;, а &quot;ПРЕВЕД СЛАВОН&#33;&quot; :D <br><br><br>ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ]]></description>
        <author>Barbosman</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1450209</guid>
        <pubDate>Mon, 12 Feb 2007 10:29:13 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1450209</link>
        <description><![CDATA[cppasm: У мя первый был драйвер ps/2 мыши, не через int 33h, а именно аппаратный :)<br>С Кулаковым разбирался.<br>А потом в хард так и потянуло...]]></description>
        <author>cppasm</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1448887</guid>
        <pubDate>Sat, 10 Feb 2007 18:10:03 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1448887</link>
        <description><![CDATA[CrazyMan: унас был в универе курс асемблера<br>под досом писали простые проги = )<br>но не хелло-ворлд ;)]]></description>
        <author>CrazyMan</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1442155</guid>
        <pubDate>Tue, 06 Feb 2007 08:44:55 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1442155</link>
        <description><![CDATA[Vic3Dexe: Первая софтина была нагло передрана с книжки Финогенова &quot;Самоучитель по системным функциям MS-DOS&quot;. Ниче не делала, грузилась, настраивала DS и уходила по 4Ch/int 21h. Дальше были вывод на экран, файлы, графика (CGA, ибо юзал тогда еще &quot;Поиск 1.03&quot;), резиденты, обработчики прерываний... и т.д. :)<br>зы Голосовал за хелловорлд.]]></description>
        <author>Vic3Dexe</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1440567</guid>
        <pubDate>Mon, 05 Feb 2007 04:12:42 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1440567</link>
        <description><![CDATA[al79: Я начинал с машинных кодов для процессоров К580 и Z80 (ПК Специалист и ZX Spectrum), программы ассемблера для этих ПК не взлюбил, эфективнее было писать сразу в машинных кодах (была такая програмка &quot;MONITOR&quot; называлась), таблицу 580 знал на память, а сейчас мне без MASM-а не обойтись.]]></description>
        <author>al79</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439567</guid>
        <pubDate>Sun, 04 Feb 2007 05:45:32 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439567</link>
        <description><![CDATA[ЫукпШ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1439561'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AlexJ &#064; <time class="tag-quote__quoted-time" datetime="2007-02-04T03:29:12+00:00">04.02.07, 03:29</time></span><div class='quote '>.. ни какого творческого интереса в возне с перфокартами ..</div></div><br>
А мне было интересно всегда, тем более, что привыкать к персональному компьютеру<br>
 после перфокарт гораздо приятнее, чем наоборот.]]></description>
        <author>ЫукпШ</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439561</guid>
        <pubDate>Sun, 04 Feb 2007 03:29:12 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439561</link>
        <description><![CDATA[AlexJ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=170170&view=findpost&p=1439551'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ЫукпШ &#064; <time class="tag-quote__quoted-time" datetime="2007-02-04T02:20:17+00:00">04.02.07, 02:20</time></span><div class='quote '>А я делал курсовой проект на ассемблере &quot;Декодирование кодов Хемминга&quot; на ЕС1020.</div></div><br>
У нас была ЕС1035 , но этот период програмисткой деятельности я в учет вообще не беру, ибо было все в обязаловку(а лишь бы сдать) и соответсвенно ни какого творческого интереса в возне с перфокартами (б-р-р-р, странно как вообще не отбили интерес к этому делу)]]></description>
        <author>AlexJ</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439551</guid>
        <pubDate>Sun, 04 Feb 2007 02:20:17 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439551</link>
        <description><![CDATA[ЫукпШ: А я делал курсовой проект на ассемблере &quot;Декодирование кодов Хемминга&quot; на ЕС1020.]]></description>
        <author>ЫукпШ</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439545</guid>
        <pubDate>Sun, 04 Feb 2007 00:16:17 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439545</link>
        <description><![CDATA[AlexJ: Маш.коды<br><br>причем не на ассемблере а именно маш.код где JMP=0xC3  :blink: <br>когда появился именно ассемблер(к580) то воспринимался как Бэйсик после асма  :D]]></description>
        <author>AlexJ</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439472</guid>
        <pubDate>Sat, 03 Feb 2007 21:44:54 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439472</link>
        <description><![CDATA[adrax: Я начал постижение ассемблера с вывода простого MessageBox. Под DOS я асмом не увлекался - клепал феньки на TP...]]></description>
        <author>adrax</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439037</guid>
        <pubDate>Fri, 02 Feb 2007 22:58:33 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439037</link>
        <description><![CDATA[Pavia: <strong class='tag-b'>AndNot</strong><br>
Какая именно первая программа на ассемблере была не помню, точно не Hello World. Просто точно сказать не могу что было первым. Взялся за что-то серьезное, толи бут сектор толи чего-то другого. Помню начинал с асм вставок для программирование VESA, мышки и еще чего-то там. Сейчас вот тенденция в сторону машинных кодов растет, не хватает мне встроенного ассемблера в паскале. :D]]></description>
        <author>Pavia</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439034</guid>
        <pubDate>Fri, 02 Feb 2007 22:32:59 +0000</pubDate>
        <title>Первая программа на ассемблере.</title>
        <link>https://forum.sources.ru/index.php?showtopic=170170&amp;view=findpost&amp;p=1439034</link>
        <description><![CDATA[AndNot: А вот интересно, правда ли что почти все начинают написание программ с Hello World&#33;<br>Я сам начал со вставок маш. кодов в свои проги на Бейсике (еще под процессор К580 :-), попутно освоив и ассемблер. Затем перенес несколько программ на x86. Но свою, именно на асме, написал только для своей двойки. Использовалась в батниках для вывода цветного текста, очистки экрана, подачи звука, опроса клавиатуры и еще чего то по мелочам. И весила при этом два байта :D Впрочем и сами батники я создавал с помощью тасма, но это уже были вторая и тд. программы :)]]></description>
        <author>AndNot</author>
        <category>Assembler</category>
      </item>
	
      </channel>
      </rss>
	