Янв
18
2010
0

Раздел StarCraft

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

Срочно зацениваем карту LT-Def в вышеуказанном разделе. Уже примерно пол-года над ней работаю в свободное время, а кроме ребят с европы, ее никто почти и не видел.

-->
Янв
13
2010
0

Ассемблер под Windows для чайников. Часть 15.

Здравствуйте, уважаемые низкоуровневые программисты. Хотя, данный цикл статей по-прежнему считается курсом для «чайников», но, если вы усвоили хотя бы половину изученного материала, то имеете полное право называться программистами ассемблера. Сегодня мы попробуем закончить с азами управления массивами, а также, познакомимся поближе с методикой выделения памяти в славном семействе Windows NT/2K/XP/Vista.

В предыдущих примерах наш массив располагался в секции данных исполняемого модуля. Такой подход вполне удобен при работе со статическим массивом. Но статические массивы используются достаточно редко. Чаще возникает необходимость использования динамического массива, количество элементов в котором не определено, а следовательно, размер памяти занимаемой массивом может изменяться за время работы программы. (далее…)

-->
Ноя
27
2009
0

2 Лимона + Шоколадки 2в1.

Сегодня я по-прежнему не скучал, мне, как обычно, было чем заняться, ведь от меня многие многого ждут, но дать я могу не так уж и многим, и не настолько много, сколько просят и требуют.

Однако, я по-прежнему не знал, чего мне хочется. Зная смысл всей своей жизни, я банально не знал, чего же мне так хочется в ней позавчера, вчера и сегодня… Смешно? Да! Но этот смех вряд ли можно считать здоровым.

Очень грустно жить, когда вы знаете, что все здесь достаточно скоро исчезнет и при этом вас не пугает такой прогноз. На земле кончается нефть? Да плевать мне на это, я нефтью не питаюсь. Пандемия свинячьего гриппа косит народ? Что ж, рано или поздно, каждый умрет и снова родится. Пару десятков лет ничего не меняют существенно. Болит, все болит, и тело и душа, но это тоже пройдет.

Нашел в соцсети новых друзей. Они любят Сида, они все знают, все видят, и многое понимают. У одной девушки в фотографиях заметил суперскую шоколадку 2в1. В ней белый шоколад и темный переплетаются, как добро и зло в ИньЯне. Я обожаю такую шоколадку! Я хочу ее попробовать, но ведь у меня дела. Обещаю себе сходить в магазин и отыскать такую же, как только дела будут доделаны. Но одновременно понимаю, что дела никогда не могут быть доделаны. Одно маленькое дельце – да, но не дела, которые переплетаются, произростая одно из другого. Дела – это цели. Если цель достигнута, а другой цели нет, значит придется стремиться к чьей-то чужой цели. Покоя не будет, ну разве что на секундочку, на мгновение. Приляжешь умереть – тут же прибегут, поставят задачи, определят цели, воздвигнут планы и начнут действовать. Даже если завещание напишешь «Не беспокоить ни под каким предлогом!», все равно задействуют, используют, и осквернят за низкую эффективность. (далее…)

-->
Июл
05
2009
3

Ассемблер под Windows для чайников. Часть 14.

Массивы, массивы, кругом одни массивы. Понимаю, как вы устали их учить, но позже, оглядываясь назад, вы не сможете недооценить важность этой темы. Не зря же говорят: тяжело в учении – легко в бою. Ни одна серьезная программа на сегодняшний день не обходится без функций обработки массивов. Конечно, для использования этих функций вам, скорее всего, не понадобится каждый раз писать их самостоятельно. В интернете вы всегда сможете найти готовые примеры этих функций, и просто вставлять их в текст своей программы. Но для того чтобы правильно ими пользоваться, необходимо понимать принципы их действия. А лучшего пути, чем на практике разобраться с этими принципами, пока что не придумано.

В прошлый раз я дал вам весьма трудное задание: самостоятельно запрограммировать удаление элемента из массива. Что ж, сегодня давайте разберемся, чего там было сложного для вас. Начнем, пожалуй, с функции удаления элемента из массива. Для того чтобы удалить элемент из массива, нам необходимо всего лишь сдвинуть следующий за ним элемент на его место, затем сдвинуть следующий элемент на место предыдущего и так далее. Например, имеем массив из шести букв алфавита: A,B,C,D,E,F. Чтобы удалить из него элемент D, необходимо сдвинуть E на место D, затем сдвинуть F на место E. Получим массив: A,B,C,E,F,F, потому что мы не на самом деле сдвигаем, а лишь копируем (команда mov). Последняя F – лишняя, поэтому для правильного дальнейшего восприятия нашего массива программой, необходимо уменьшить переменную содержащую размер массива на число удаленных элементов. То есть на единицу. (далее…)

-->
Июн
29
2009
0

Ассемблер под Windows для чайников. Часть 13.

В прошлый раз мы познакомились с массивами и научились выводить простейший одномерный массив в окне программы. Сегодня – научимся производить поиск в массиве и сортировку элементов по их значению. Сортировка элементов массива – достаточно сложная тема даже, если речь идет о высокоуровневом языке. А уж если говорить об ассемблере, то здесь новички боятся сортировки, как огня. Но лишь в самом начале. Потом приходит понимание вопроса, и выясняется, что бояться собственно и нечего. Остается лишь вопрос, что же было сложного в изучении сортировки?

Основная сложность понимания сортировки – это цикл в цикле. Существует несколько основных способов сортировки, но все они состоят из вложенных один в один циклов. И вот, когда в учебнике или в ВУЗе вам ни с того ни с сего представляют к изучению такой двойной цикл, у вас сначала очень быстро глаза разбегаются, а потом, достаточно медленно но верно, пропадает желание что-либо понимать. Чтобы такого не произошло, мы наглядно разобьем сортировку на два этапа, и, лишь детально изучив их по отдельности, соединим воедино. А до этого, давайте пока в качестве развлечения быстренько научимся производить поиск! (далее…)

-->
Апр
15
2009
0

Ассемблер под Windows для чайников. Часть 12.

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

Массив – это структурированный тип данных, состоящий из нескольких элементов одного типа. В высокоуровневых языках существуют специальные средства для описания массивов. В ассемблере такие средства отсутствуют, а потому, массив обычно обозначается просто как линейная область данных. (далее…)

-->
Апр
01
2009
0

Ассемблер под Windows для чайников. Часть 11.

Здравствуйте, действительные и будущие хакеры! Продолжим изучение наидревнейшего и бессменного языка электронных машин. Сегодня пришла пора познакомиться поближе с командами обработки строк. Эти команды также обычно называют цепочечными командами, потому что с их помощью можно обрабатывать не только строки символов, но и цепочки любых данных. Цепочечные команды незаменимы при работе с массивами. Несмотря на их кажущуюся ограниченность, большинство высокоуровневых функций обработки массивов, в конечном итоге, преобразуются в машинные команды обработки строк. Если они преобразуются высокоуровневым компилятором автоматически, вы рискуете получить не самый лучший с точки зрения производительности код. Если же вы оформляете обработку массивов вручную, то имеете все шансы добиться максимального быстродействия обработки данных. Именно поэтому, в наш век сверхскоростных процессоров и высокоуровневых языков, движки самых крутых современных игр до сих пор частично или целиком пишутся на ассемблере.
(далее…)

-->
Мар
10
2009
0

Ассемблер под Windows для чайников. Часть 10.


Сегодня мы продолжим знакомство с основными командами ассемблера. Программирование под Windows — это, конечно, замечательно, но чтобы программировать на ассемблере, необходимо знать команды ассемблера. Те, кому не по душе теория, могут не волноваться: она скоро закончится, и мы снова вернемся к практике. Помню, как мне не нравилась вся эта скучная теория, особенно когда самые непонятные моменты приходилось читать на английском. Но, искусство требует жертв. Если вы хотите научиться искусству программирования на ассемблере – вам придется пожертвовать своей нетерпеливостью и, если не убить ее в себе, – то хотя бы покалечить. Покажите ей, кто из вас хозяин: она, жаждущая тотчас же получать свой кусок “бесплатного сыра”, или вы, знающий истинную цену жемчужин знания, и желающий на этот раз насобирать их целый мешок? Надеюсь, что хозяином своего ума оказались вы же, поэтому продолжим искать жемчуг на дне океана теории ассемблера. (далее…)

-->
Фев
24
2009
0

VALA

Добавил в раздел «программы» мегасырую альфа-версию будущей игрушки. Играть пока особо не получится, но, может уже сейчас будут какие пожелания по изменению управления главным юнитом? Пишите в комменты, учту.

Небольшие изменения в управлении. С шифтом теперь стрейф, без шифта – обычное. Пробел ничего не дает. Сменил разрешение на 1024×768. Фон пока того же размера, что и был, так что кусок фона остается черным – это не глюк.

-->
Фев
20
2009
0

Ассемблер под Windows для чайников. Часть 9.


Приветствую постоянных читателей, а также тех, кто только решил влиться в ряды изучающих ассемблер под Windows. Сегодня весьма полезная тема и для первых и для вторых. Потому что сегодня мы подробно рассмотрим основные команды ассемблера в теории. Обычно я строил наши занятия по большей части с практическим уклоном. Но теперь, когда вы уже получили достаточно примеров использования тех или иных команд ассемблера, пришла пора четко и безо всякой двусмысленности зафиксировать их в вашем понимании. Обычно ассемблер начинают изучать именно с теории. Но без представления возможностей практического применения тех или иных команд, такое обучение, скорее всего, покажется скучным и малопонятным. Добавьте к этому сложность предмета программирования самого по себе, и получите вполне ожидаемый результат – потерю желания изучать ассемблер вообще. Надеюсь, что вы уже имеете определенное положительное мнение об ассемблере и твердо решили идти до конца. Если же вы все еще не верите в свои силы, то попытаюсь вас успокоить: основных команд в ассемблере не многим более сотни, учитывая то, что многие из них – синонимы (близкие или одинаковые по значению) или антонимы (прямо противоположные). Команд, которые необходимо запомнить для каждодневного использования – вообще не более двух-трех десятков. Причем, запоминать их все и сразу вам не обязательно. Просто сохраните эту статью и всегда сможете быстро вспомнить название и назначение той или иной команды. Не забывайте, что данный цикл статей опирается на синтаксис, используемый в компиляторе FASM. (далее…)

-->

BarMentaLisk © 2008