function hide(id){id.style.display="none";} if(dhtml){document.write("Все комментарии: [+][-] Открывать: [несколько]");}
| [+] ms developer studio - среда разработки для asm
| |
| Каждый программист, как хомячок, любовно обустраивает среду своего обитания. Developer Studio, конечно, нельзя назвать идеальным домиком для бедного маленького одинокого ассемблерщика. Где-то мокро, где-то поддувает. Но в принципе жить можно. |
if(dhtml)hide(a11000100);
| [+] browse info для ассемблера
| |
| Но есть в MS Developer Studio и свои маленькие прелести. Имеется в виду, конечно, не подвисающий время от времени процесс компоновки, а замечательное средство browse info, обеспечивающее мгновенный вызов на экран любого идентификатора в проекте, где бы он ни находился. Чуть-чуть поднатужившись, browse info можно приспособить к ассемблерным проектам, и тогда жизнь ассемблерщика становится совсем безоблачной и счастливой. |
if(dhtml)hide(a11000400);
| [+] компиляция файлов .asm
| |
| Для того, чтобы убедиться, что большинство опций командной строки компилятора ml.exe из пакета MASM совершенно не нужны при разработке ассемблерных приложений, надо перебрать их все. Что мы и сделали в этой справочной статье. |
if(dhtml)hide(a11000800);
| [+] минимальная stub-программа
| |
| Маниакальное стремление ассемблерщика к оптимальности доводит его иногда до крайностей. В самом деле, фраза "This program cannot be run in DOS mode" просто-таки неприлично длинна. Оптимально в ней должно быть 0 байт. Именно этого мы и добились, сократив stub-программу до 64 байт (ну, кто меньше?) |
if(dhtml)hide(a11000b00);
| |
| [+] зачем он нужен, этот ассемблер?
| |
| То есть, в нашем контексте, имеет ли смысл писать прикладной софт на ассемблере? Чем сотрясать воздух разными умозрительными аргументами, лучше сделаем вот что. Возьмем задачку, несложную, но реальную. Допустим, сделаем RAS-звонилку (каких уже висит на download'ах миллион, от примитивных до самых навороченных). И напишем ее два раза: на C++ и на ассемблере, применяя одинаковые программные решения. А потом сравним, что получилось, и сделаем выводы. |
if(dhtml)hide(a11000700);
Читайте также:
- обсуждение этой статьи с MemoBreaker'ом
- дополнение Геннадия Майко.
| |
| |
| [+] минимальное приложение
| |
| Минимальное приложение имеет множество достоинств: очень быстро пишется, занимает минимум ресурсов, не требует сопровождения, работает с такой скоростью, что его не видно. Недостаток у него один: оно совершенно никому не нужно. Именно этим оно и интересно настоящему ассемблерщику. |
if(dhtml)hide(a11000200);
| [+] шаблон оконного приложения
| |
| В отличие от минимального приложения, рассматривавемый в этой статье шаблон оконного приложения - чрезвычайно полезная вещь. Любой программист может спокойно взять его и, немного доработав, превратить, например, в MS Word, или в 3d Studio Max. |
if(dhtml)hide(a11000a00);
| [+] параметры функции WinMain
| |
| Название этой статьи не совсем удачно. Надо бы назвать ее так: "Как обойтись без параметров функции WinMain, сэкономив на этом кучу ресурсов." |
if(dhtml)hide(a11000300);
| [+] старт и завершение приложений
| |
| Эта статья - чисто познавательная. Все дело в том, что старт и завершение работы приложения обслуживает операционная система, так что от программиста требуется только две вещи: (1)решить, а надо ли вообще позориться, стартуя приложение, и (2)как можно скорее завершить его работу. |
if(dhtml)hide(a11000600);
| |
| [+] вызов функций api
| |
| В принципе, это единственная статья, которая действительно необходима для обучения программированию под Windows на ассемблере. Как только программист узнает, как вызвать API, все остальное он станет способен делать самостоятельно, без учебников и подсказок. Потребуется только справочник Platform SDK, да знание двух языков: C и английского (оба - в объеме церковно-приходской школы). |
if(dhtml)hide(a11000900);
| [+] ошибки при вызове функций api
| |
| Самая большая ошибка - в том, что вы вообще захотели вызвать функцию API из ассемблерного приложения. Все остальные в сравнении с этой - мелочь. В том числе и те, о которых идет речь в маленьком топике из одной конференции, который вы сможете прочитать здесь. |
if(dhtml)hide(a11000e00);
| |
| [+] взаимодействие экземпляров приложения
| |
| Конечно, приятно, когда написанное вами приложение пользуется популярностью. Но только не на одном компьютере. В этом случае обычно бывает достаточно иметь его в единственном экземпляре. Как этого добиться - читайте здесь. И как говорится, "ноу проблем" лучше, чем "нихт ферштеен". |
if(dhtml)hide(a11000c00);
| [+] взаимодействие экземпляров приложения (вариант)
| |
| Еще один вариант взаимодействия экземпляров приложения, предложенный Геннадием Майко. Просто, элегантно и функционально. |
if(dhtml)hide(a11000d00);
[+] настоящий ли вы ассемблерщик? (психологический тест)
|
|
Без сомнения, это - ключевой документ на сайте assembler.ru. Именно с него следует начинать обучение программированию на ассемблере. В настоящее время нами рассматривается вопрос о включении этого теста во все сертификационные экзамены Microsoft. Предполагается, что успешная сдача этого теста должна автоматически приводить к отказу в выдаче сертификата. |
if(dhtml)hide(a12000100);
| |
[+] лептонный стиль программирования
|
|
Стиль программирования - такая же неувядающая тема, как прогноз погоды. Как Атлантика посылает нам один за другим свои циклоны и антициклоны, подгадывая с первыми к походу на шашлык и со вторыми - к авралу на работе, так роддома и факультеты прикладной математики бескрайней Родины посылают нам поколения программистов, кладущих все свои молодые силы на написание программ, которые не способен понять не только автор, но и компьютер. Статья предлагает еще одно решение этой принципиально неразрешимой проблемы, за которое, конечно же, опять придется заплатить оптимальностью программы. |
if(dhtml)hide(a12000300);
[+] как писать на masm в строчку
|
|
Повторяю еще и еще раз: в слове "писать" в названии статьи ударение падает на второй слог! И речь в статье идет совсем не о том, что TASM лучше MASMа, а о том, как записывать команды в исходнике в одну строку, формируя из них законченные мысли и избавляя себя от излишнего вертикального скроллинга. |
if(dhtml)hide(a12000400);
| |
[+] о формате pcx
|
|
Формат PCX - один из старейших графических форматов. В силу этого у него много недостатков: ограниченная палитра, малая степень сжатия, невозможность анимации и пр. Но у него есть одно неоспоримое преимущество: простота. И поэтому он хорош для изучения принципов организации графических форматов. Эта статья даст вам стартовый импульс. Имеется исходный текст программы-примера, выполняющей разбор pcx-файла. Автор статьи - Андрей Бордачев. |
if(dhtml)hide(a15000100);
[+] как изменить способности компьютера
|
|
Обычным пользователем BIOS компьютера воспринимается как данность: обеспечивает старт компьютера, предоставляет интерфейс для изменения настроек CMOS, обслуживает несколько прерываний, используемых DOS-программами, - вот, пожалуй, и все. Однако совсем несложно расширить возможности BIOS. Если вам нужно разместить программу в ПЗУ и исполнять ее до старта операционной системы - эта статья для вас. Статья сопровождена исходными текстами необходимых программ. Автор - Андрей Бордачев. |
if(dhtml)hide(a15000200);
[+] макросы first и second
|
|
Рассматриваются макросы, решающие задачу групповой загрузки в стек и восстановления из стека регистров и переменных. Хороши как начальная точка и набор идей для обустраивания рабочей среды собственными макросами. Автор - Андрей Бордачев. |
if(dhtml)hide(a15000300);
[+] как смотреть assembler.ru локально
|
|
Технический прогресс достиг невидинных высот. Пятый Explorer научился-таки сохранять страницы вместе с рисунками, внешними таблицами стилей, апплетами и прочей дребеденью, которая сегодня берет на себя 90% дизайна сайта. Даже страницы assembler.ru,будучи сохранены с помощью этой функции, почти похожи на самих себя. Глядишь, еще немного - и Explorer научится понимать содержимое документа настолько, что мы, грешные, ему больше не понадобимся. Но до тех пор мы все-таки оставляем на сайте эту статью. Тем более что она почему-то очень нравится поисковым машинам. |
if(dhtml)hide(a12000200);
[+] рабочее место настоящего ассемблерщика
|
|
Если вы подумали, что на этой странице будет нарисована филейная часть организма, то, будучи в принципе правы, в данном конкретном случае ошиблись. Здесь вы увидите интерьер, а в нем - владельца assembler.ru. Знающие люди говорят, что похож. Выполнено в 3D Studio Max. |
if(dhtml)hide(a13000100);
| |
[+] можно ли зарабатывать на жизнь shareware?
|
|
Можно, конечно, но хлебушек этот (и маслице к нему) достается не легче других. Если вы чувствуете в себе талант разработчика и ненависть к начальникам - вы прирожденный шароварщик. Только вот сочетается ли все это с вашим талантом настоящего ассемблерщика? |
if(dhtml)hide(a13000200);
[+] сколько зарабатывают системные программисты?
|
|
Топик из одной Usenet-конференции. Народ из разных стран делится информацией о своих доходах. Все, естественно, кончается небольшим флеймом. На самом же деле топик кончился тем, что один из участников пожалел другого и предложил ему работу, но это сообщение мы сюда не включили, так как хэппи-энд - это не наш стиль. |
if(dhtml)hide(a13000300);
| |
[+] так в каком же веке мы живем?
|
|
Статья писалась в марте 2000-го года, и тогда все лодки плавали, все башни стояли и ни одного подземного перехода взорвано не было. Поэтому мы опрометчиво решили, что 2000-й год - это первый год XXI-го века. А теперь, убоявшись поговорки "Как встретишь - так проведешь", мы так уже не думаем. Впрочем, и 2001 год вряд ли будет более подходящ в качестве первого года нового века. В любом случае, как клали по 20 человек в месяц в Чечне (и это одних только федералов!) - так и будем класть. |
if(dhtml)hide(a13000600);
[+] о пользе монополий
|
|
Полемическая статья о всемирно-исторической роли Microsoft и о неотъемлемом свойстве любого государства - лицемерии. |
if(dhtml)hide(a13000a00);
[+] как починить hewlett-packard
|
|
Сам-то HP чинить, конечно, не надо, у него все в порядке. По крайней мере, при взгляде с этого берега Берингова пролива. Но вот железки его время от времени ржавеют. В этой статье мы будем тренироваться их чинить с помощью добрых самаритян из сервисного центра HP, что расположен в г.Москве. |
if(dhtml)hide(a13000e00);
| |
[+] догадка гольдбаха
|
|
О-о-о, это отдельная песня! Она заунывно звучит уже 258 лет, и достала многих. Assembler.ru тоже не избежал ее неброского очарования. Если в вашей памяти все еще свежо детское воспоминание о наборе головоломок - детище славного завода Машполимерстройконструкция им.тов.Лациса (г.Жданов), эта песня звучит и для вас. Только ради бога, береги голову, Сеня! |
if(dhtml)hide(a13000800);
[+] догадка гольдбаха (версия 2.1)
|
|
Еще одно доказательство Догадки Гольдбаха. А вообще-то этих доказательств столько, что пора бы уже принять международный закон о том, что при наличии определенного критического числа доказательств любую теорему следует считать доказанной. |
if(dhtml)hide(a1300080f);
[+] догадка гольдбаха (версия тима туманного)
|
|
Вклад Тима Туманного в достижение критического числа доказательств. Возможно, более весомый, чем наш. Нобелевский комитет рассудит. |
if(dhtml)hide(a13000900);
| |
[+] впечатления от "cегоднячко"
|
|
Была когда-то такая передача на НТВ. Как, вы не знаете, что такое НТВ? Это же телевизионный канал, принадлежит на паях Газпрому, фирме "Видео-Интернешнл", ну и, конечно, Петру I, куда ж без него. Поэтому так и называется - Нукабыстроденьгинабочкуатопосадим ТВ. |
if(dhtml)hide(a13000400);
[+] правильная история компьютера
|
|
Кому как, а нам неприятно, что весь мир считает американцев изобретателями компьютера. Это прямая ложь и фальсификация. Как это так: радио, лампочку, паровоз и самолет видите ли мы изобрели, а компьютер - не мы? Эта статья восстанавливает историческую справедливость и самое главное - приводит в порядок компьютерную терминологию. |
if(dhtml)hide(a13000500);
| [+] классификация информации |
|
Честно говоря, сам не понял, чего написал. |
if(dhtml)hide(a13000700);
[+] что такое фашизм
|
|
Наш скромный вклад в решение второй по трудности (после Догадки Гольдбаха) проблемы, стоящей перед человечеством: определении понятия "фашизм". Как сказал великий: "Я готов убить тебя за твои убеждения, но при этом готов отдать жизнь за то, чтобы ты мог убить меня за мои убеждения". |
if(dhtml)hide(a14000200);
[+] гимны россии
|
|
Вместе со всей страной неожиданно обнаружив, что нашим спортсменам нечего петь, assembler.ru взял на себя историческую ответственность сочинить для них Гимн России. На ум пришел какой-то знакомый мотивчик, то ли Леннона, то ли Modern Talking, а за словами мы вообще никогда в карман не лазим. Получилось аж два варианта. |
if(dhtml)hide(a14000300);
| |
[+] cardiotonic pill
|
|
Этот материал находится в разительном контрасте со всем предыдущим. Не читайте его никогда! И дай вам бог здоровья. |
if(dhtml)hide(a13000b00);