BASM - Уроки для начинающих. Delphi — среда быстрой разработки, где в качестве языка программирования используется Object Pascal. На сегодняшний день позволяет разрабатывать ПО для Microsoft Windows, Mac OS, iOS и Android и входит в состав Embarcadero RAD Studio https://delphi-hlp.ru/index.php/vzaimodejstvie-s-drugimi-yazykami/basm-uroki-dlya-nachinayushchikh.feed 2022-09-13T05:06:26+07:00 Delphi help info@delphi-hlp.ru Joomla! - Open Source Content Management BASM - Уроки для начинающих. Часть 1. 2015-12-09T16:27:55+06:00 2015-12-09T16:27:55+06:00 https://delphi-hlp.ru/index.php/vzaimodejstvie-s-drugimi-yazykami/basm-uroki-dlya-nachinayushchikh/basm-uroki-dlya-nachinayushchikh.html Super User toto44@inbox.ru <p style="text-align: center;"><span style="color: #000000; font-family: 'Times New Roman'; font-size: 26pt; font-weight: bold;">Уроки для начинающих</span></p> <p style="text-align: center;"><span style="color: #000000; font-family: 'Times New Roman'; font-size: 26pt;">Денис Христенсен</span></p> <p style="text-align: center;"><span style="color: #000000; font-family: 'Times New Roman'; font-size: 16pt; font-weight: bold;">Из news://forums.borland.com</span></p> <p style="text-align: center;"><span style="color: #000000; font-family: 'Times New Roman'; font-size: 16pt;">borland.public.Delphi.languages.basm</span></p> <p><span style="color: #000000; font-family: 'Times New Roman'; font-size: 16pt;"> </span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">© Dennis Chistensen, 2003</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">© Anatoly Podgoretsky, 2003, Russian translations</span></p> <p><span style="color: #000000; font-family: 'Times New Roman'; font-size: 8pt;"> </span><span style="color: #ff6600; font-family: 'Courier New'; font-size: 8pt; font-weight: bold;"> </span></p> <p style="text-align: center;"><span style="color: #000000; font-family: 'Arial'; font-size: 16pt; font-weight: bold;">Введение</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">Серия статей, названная “BASM for beginners” (</span><span style="color: #000000; font-family: 'Times New Roman'; font-style: italic;">BASM уроки для начинающих</span><span style="color: #000000; font-family: 'Times New Roman';">) в данный момент состоит из 7 статей. </span><span style="font-family: 'Times New Roman';">Общее для этих статей и для тех, что в процессе подготовки то, что они объясняют некоторые вопросы использования BASM на примерах функций</span><span style="color: #000000; font-family: 'Times New Roman';">. Большинство из этих функций сначала реализуются на Паскале, затем сгенерированный компилятором ассемблерный код, копируется из окна CPU view в Delphi, затем анализируется и оптимизируется. </span><span style="font-family: 'Times New Roman';">Иногда оптимизация включает в себя и использование инструкций MMX, SSE или SSE2.</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">В самом начале рассматривается код сделанный компилятором, в котором использует только наиболее используемые инструкции из огромного набора инструкций 32-битной архитектуры Intel. Просматривая, сгенерированный компилятором код, мы получаем представление и об эффективности компилятора, в общем, и о компиляторе Delphi в целом.</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">Когда применимо, то приводятся обобщения по оптимизации ассемблерного кода. Эта общая оптимизация применима к компиляторам и большинство компиляторов, включая Delphi, ее имеют. Когда ни будь, в будущем будет разработан инструмент по автоматической оптимизации ассемблерного кода.</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">Знание об используемом процессоре очень необходимы при оптимизации кода и поэтому также разъясняются множество подробностей о CPU, таких как например конвейеры.</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">Насколько Я знаю, имеется очень мало литературы, в которой объясняются все эти особенности, на уровне, который был бы понятен начинающим. Я надеюсь, что эта серия статей сможет помочь им в этом. </span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';"> </span></p> <p style="margin: 0px 0px 8px;"><span style="color: #000000; font-family: 'Times New Roman';">С уважением,</span></p> <p style="margin: 0px 0px 8px;"><span style="color: #000000; font-family: 'Times New Roman';">Денис Христенсен </span><br /><span style="color: #000000; font-family: 'Times New Roman';">Dennis Kjaer Christensen.</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/vzaimodejstvie-s-drugimi-yazykami/basm-uroki-dlya-nachinayushchikh/basm-uroki-dlya-nachinayushchikh.html">Подробнее...</a></p> <p style="text-align: center;"><span style="color: #000000; font-family: 'Times New Roman'; font-size: 26pt; font-weight: bold;">Уроки для начинающих</span></p> <p style="text-align: center;"><span style="color: #000000; font-family: 'Times New Roman'; font-size: 26pt;">Денис Христенсен</span></p> <p style="text-align: center;"><span style="color: #000000; font-family: 'Times New Roman'; font-size: 16pt; font-weight: bold;">Из news://forums.borland.com</span></p> <p style="text-align: center;"><span style="color: #000000; font-family: 'Times New Roman'; font-size: 16pt;">borland.public.Delphi.languages.basm</span></p> <p><span style="color: #000000; font-family: 'Times New Roman'; font-size: 16pt;"> </span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">© Dennis Chistensen, 2003</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">© Anatoly Podgoretsky, 2003, Russian translations</span></p> <p><span style="color: #000000; font-family: 'Times New Roman'; font-size: 8pt;"> </span><span style="color: #ff6600; font-family: 'Courier New'; font-size: 8pt; font-weight: bold;"> </span></p> <p style="text-align: center;"><span style="color: #000000; font-family: 'Arial'; font-size: 16pt; font-weight: bold;">Введение</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">Серия статей, названная “BASM for beginners” (</span><span style="color: #000000; font-family: 'Times New Roman'; font-style: italic;">BASM уроки для начинающих</span><span style="color: #000000; font-family: 'Times New Roman';">) в данный момент состоит из 7 статей. </span><span style="font-family: 'Times New Roman';">Общее для этих статей и для тех, что в процессе подготовки то, что они объясняют некоторые вопросы использования BASM на примерах функций</span><span style="color: #000000; font-family: 'Times New Roman';">. Большинство из этих функций сначала реализуются на Паскале, затем сгенерированный компилятором ассемблерный код, копируется из окна CPU view в Delphi, затем анализируется и оптимизируется. </span><span style="font-family: 'Times New Roman';">Иногда оптимизация включает в себя и использование инструкций MMX, SSE или SSE2.</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">В самом начале рассматривается код сделанный компилятором, в котором использует только наиболее используемые инструкции из огромного набора инструкций 32-битной архитектуры Intel. Просматривая, сгенерированный компилятором код, мы получаем представление и об эффективности компилятора, в общем, и о компиляторе Delphi в целом.</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">Когда применимо, то приводятся обобщения по оптимизации ассемблерного кода. Эта общая оптимизация применима к компиляторам и большинство компиляторов, включая Delphi, ее имеют. Когда ни будь, в будущем будет разработан инструмент по автоматической оптимизации ассемблерного кода.</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">Знание об используемом процессоре очень необходимы при оптимизации кода и поэтому также разъясняются множество подробностей о CPU, таких как например конвейеры.</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">Насколько Я знаю, имеется очень мало литературы, в которой объясняются все эти особенности, на уровне, который был бы понятен начинающим. Я надеюсь, что эта серия статей сможет помочь им в этом. </span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';"> </span></p> <p style="margin: 0px 0px 8px;"><span style="color: #000000; font-family: 'Times New Roman';">С уважением,</span></p> <p style="margin: 0px 0px 8px;"><span style="color: #000000; font-family: 'Times New Roman';">Денис Христенсен </span><br /><span style="color: #000000; font-family: 'Times New Roman';">Dennis Kjaer Christensen.</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/vzaimodejstvie-s-drugimi-yazykami/basm-uroki-dlya-nachinayushchikh/basm-uroki-dlya-nachinayushchikh.html">Подробнее...</a></p> BASM - Уроки для начинающих. Часть 2. 2015-12-11T20:06:47+06:00 2015-12-11T20:06:47+06:00 https://delphi-hlp.ru/index.php/vzaimodejstvie-s-drugimi-yazykami/basm-uroki-dlya-nachinayushchikh/basm-uroki-dlya-nachinayushchikh-chast-2.html Super User toto44@inbox.ru <p style="text-align: center;"><span style="color: #000000; font-family: 'Arial'; font-size: 16pt; font-weight: bold;">Урок 6</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">Это урок 6 и его тема CharPos. Данная функция ищет первое вхождение символа в строке, и возвращает его позицию когда найдет. Если ничего не найдено, то возвращается 0. функция из Delphi делает тоже самое, но с различием, что ищется вхождение подстроки в строке. Передача символа в Pos как подстроки возможна и это путь использования Pos как CharPos. В данном уроке мы разработаем CharPos, которая будет примерно в 4 раза быстрее, чем Pos.</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">Как обычно мы начнем с Паскаль реализации алгоритма.</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/vzaimodejstvie-s-drugimi-yazykami/basm-uroki-dlya-nachinayushchikh/basm-uroki-dlya-nachinayushchikh-chast-2.html">Подробнее...</a></p> <p style="text-align: center;"><span style="color: #000000; font-family: 'Arial'; font-size: 16pt; font-weight: bold;">Урок 6</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">Это урок 6 и его тема CharPos. Данная функция ищет первое вхождение символа в строке, и возвращает его позицию когда найдет. Если ничего не найдено, то возвращается 0. функция из Delphi делает тоже самое, но с различием, что ищется вхождение подстроки в строке. Передача символа в Pos как подстроки возможна и это путь использования Pos как CharPos. В данном уроке мы разработаем CharPos, которая будет примерно в 4 раза быстрее, чем Pos.</span></p> <p style="margin: 0px 0px 8px; text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman';">Как обычно мы начнем с Паскаль реализации алгоритма.</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/vzaimodejstvie-s-drugimi-yazykami/basm-uroki-dlya-nachinayushchikh/basm-uroki-dlya-nachinayushchikh-chast-2.html">Подробнее...</a></p>