Разместите нашу кнопку!

Новые статьи:

Programming articles

Создание сайтов на шаблонах

Множество вариантов работы с графикой на канве

Шифруем файл с помощью другого файла

Перехват API функций - Основы

Как сделать действительно хороший сайт

Создание почтового клиента в Delphi 7

Применение паскаля для решения геометрических задач

Управление windows с помощью Delphi

Создание wap сайта

Операционная система unix, термины и понятия

SQL враг или друг

Возникновение и первая редакция ОС UNIX

Оптимизация проекта в Delphi

Ресурсы, зачем нужны ресурсы

Термины программистов 20 века

Советы по созданию собственного сайта с нуля

Шифруем файл с помощью пароля

Фракталы - геометрия природы

Crypt - Delphi программа для шифрования

Рассылка, зачем она нужна и как ее организовать?

Учебник по C++ для начинающих программистов

Уроки для изучения ассемблера

Загадочный тип PCHAR

Средства по созданию сайтов

Операторы преобразования классов is и as

Borland Developer studio 2006. Всё в одном

Создание базы данных в Delphi, без сторонних БД


Software engineering articles



Архив рассылки

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

5 выпуск

КЛУБ ПРОГРАММИСТОВ

в рассылке статьи, ссылки, инфо и многое другое о программировании и программистах

Новости

Лабораторные работы

Справочники

Книги

Основы Delphi

Клуб

Чат

Форум

От ведущего

Эх! Давно я не писал сюда ничего! А ведь столько новостей! Во-первых, приветствую всех подписчиков "Клуба программистов", теперь вас очень много! Новости только хорошие! Прежде всего, на сайте Клуба программирования теперь есть раздел, посвященный нашей рассылке - http://programmersclub.ru/subscribe/ . Там есть описание рассылки, архив выпусков. Так что посещайте! ;)

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

Сегодня получился большой и интересный выпуск, так что не пожалеете, что подписались! Я надеюсь, что все подписчики останутся довольны! Об остальном расскажу когда вспомню... а пока читайте сегодняшний выпуск!

__________________________________________________________

 

Assembler и WIN 32. Курс молодого бойца.

От автора

Что это такое? Наверное, каждый из нас думает, что ассемблер это что-то сложное, очень трудное для изучения и вообще недосягаемое. Поверьте мне, я тоже так, когда-то думал. Невозможное возможно. Этот туториал рассчитан для тех, кто даже не знает никакого языка программирования, я вообще выступаю, за то, что надо сначала изучать ассемблер, а потом только языки высокого уровня. Если вы перечитаете весь туториал от этих строк до самого конца то вам будет намного проще изучать другие языки программирования, и вы уже никогда не будете спорить о том какой язык лучше С++ или Delphi.

Обо всем в общем...

В этом туториале я расскажу вам, что такое ассемблер и с чем его едят. Чем же примечателен этот туториал. Этот туториал примечателен тем, что я расскажу вам про ассемблер под Win32 системы, конечно, есть много учебников и книг про ассемблер, но и все писались под DOS, а ДОС это 16 разрядный отстой. Программирование под ДОС, очень сложно, но чтобы программировать под Win32 можно вообще ничего не знать про DOS. Короче забудьте про ДОС. По ходу этого туториала, я буду немного возвращаться к нему, но только для того чтобы пояснить, чем Win32 лучше DOS. Assembler - это произведение искусства. Ниже ассемблера только машинные коды. Ассемблер создан как замена двоичному коду, который понимает процессор. При написании программы на ассемблере вы просто пишете команды процессора, которые процессор последовательно выполняет. Пример команды: MOV EAX, EBX В машинных кодах это будет 8BC3 (шестнадцатеричный код, теперь всё будет шестнадцатеричным, ПРИВЫКАЙТЕ). Процессор смотрит на эти циферки и делает то, что они обозначают. Любая программа, написанная на языке высокого уровня (исключая .NET), преобразовывается в ассемблерный код. А почему же ассемблер лучше, чем С++ и др.. Дело в том, что программу, написанную на языке высокого уровня надо перевести на ассемблер, а это очень трудно, потом надо его оптимизировать, современные компиляторы очень плохо с этим справляются. Я провел эксперимент, написал программу (обычное окно с одной кнопкой в центре, которая закрывает его) на разных языках высокого уровня и после компиляции получил вот такие размеры этой самой программы:      C++ Builder 4 - 22 kb      Delphi 5 - 291 kb      Delphi 5 + библиотека KOL - 26 kb      Ассемблер MASM - около 3 kb Так, что смотрите и делайте выводы, что лучше использовать. Есть другое различие с некоторыми языками высокого уровня, это использование runtime DLL библиотек для их функций. Visual Basic даже не преобразовывает свой язык в ассемблер (хотя версия 5 и выше делают это частично, но не полностью), это сильно зависит от msvbvm50.dll, виртуальной машины Visual Basic. Exe файл, который создан VB, состоит из простых частей кода и многих вызовов этой DLL. Вот почему VB очень медленный. Ассемблер это и есть самый быстрый язык. Он использует только системные DLL: kernel32.dll, user32.dll, и т.д. Теперь приступим к тому, где именно мы будем писать наши программы на ассмеблере. Компиляция состоит из 2 стадий:

  1. Проверка синтаксиса, создание объектного файла и файла листинга
  2. Линковка, т.е. компоновка.

Вы, наверное, все привыкли к тому, что запускаете Microsoft Visual C++, пишете программу, нажимаете на F7 и всё готово. На ассемблере вам придётся всё делать всё вручную. У ассемблера нет такой среды разработки. Вам придётся писать программу в блокноте, сохранять его в *.asm файл. И из командной строки вызывать ассемблер и линковщик. Потом я вам всё объясню. Теперь смотрим инструменты. Связки ассемблер-линковщик:

     MASM32 v9.0 (ml.exe, link.exe)

     TASM32 v5.0 (tasm32.exe, tlink32.exe)

Также можно FASM, но он только для спецов, примечателен тем, что у него есть своя оболочка не надо никаких объектных файлов т.д., нажимаешь F9 и всё готово. Текстовые редакторы

     EmEditor Professional Version 4.13 (вне конкуренции)     

     UltraEdit v*.*.*.* (тоже хороший не я им не пользуюсь)

Блокнот : (классика). Также пригодится справочник по API функциям. Желательно из комплекта MS SDK. Полная версия весит 24 MB (почти все апи), есть урезанные версии весом 12 МВ. Русские версии весом ~400 KB даже не читайте. Думаю, хватит для введения. Ну, как? Ещё не отбило желания изучить ассемблер.

От ведущего рассылки

Так отбило или нет? Если все таки нет, то смело ступайте на путь чтения этой книги! Кликните по этой ссылке и попадите на страницу оглавления книги, оттуда вы сможете прочитать все главы. Удачи!

Автор: Руслан Аблязов . Это был отрывок из книги " Assembler и WIN32 "

__________________________________________________________

 

Новые статьи в "Клубе программистов"

Термины программистов 20 века

Код , Шифр , Дешифратор , Код в ЦВМ , Алфавит , Код в телемеханике , Код телеграфный , Машинный язык , Алгоритм , Язык программирования , Система команд ЦВМ , Носитель информации , Запоминающее устройство , Декодирующее устройство , Корректирующие коды , Запятая фиксированная , Запятая плавающая , Канал связи , Кодирование , Избыточность , Теорема Шеннона , Энтропия

***

Советы по соз данию собственного сайта с нуля

Интернет-сайт сегодня , Хостинг и доменное имя , Создание и управление сайтом , Дизайн и элементы навигации , Языки веб-программирования , Начало жизни сайта , Раскрутка и развитие проекта , Заключение .

***

Рассылка, зачем она нужна и как ее организовать

Сегодня я бы хотел рассказать вам о рассылке. А точнее, о том, как можно использовать рассылки и как сделать свою рассылку лучше. Я создал несколько рассылок, но дошел до понятия того, зачем это мне вообще нужно, не сразу. На самом деле, рассылки представляют собой огромную силу! Человек, который не слишком хорошо знает о рассылках, не сможет понять это, но все действительно так.

***

Фракталы - геометрия природы

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

***

Шифрование файла при помощи пароля

Здравствуйте, уважаемые delphi'сты и не только. Сегодня я вам расскажу, как можно зашифровать файл с помощью пароля. Я напишу 2 функции, которые всё это делают (разумеется, одна функция будет зашифровывать, а другая расшифровывать) и засуну их в отдельный модуль, чтобы ими было проще пользоваться.

***

Шифрование данных в Delphi

Первый способ шифрования производится путём замены целых фраз, слов, слогов или отд. букв цифрами или буквами в различных комбинациях на основе заранее принятой системы, являющейся соответственно ключом для расшифровки текста. Применяется также двойной Шифр, требующий двойной расшифровки при помощи двух ключей. Шифр не всегда гарантирует абсолютную тайну секретной переписки, т.к. даже к очень сложным Шифрам может быть подобран ключ путём расчётов, вычислений повторяемости отдельных знаков и т.п. ..

Остальные статьи из нашего клуба вы найдете здесь .

__________________________________________________________

 

Интересные темы форума программистов

Создание wap сайта – совсем не сложное дело!

У одного человека проблема с браузером, потому он просил меня задать вопрос: Подскажте. Я, тут делаю маленький wap сайт как на него разместить картинки для закачки. У меня вроде ссылки правильные и ничем не отличаются от других сайтов, а ничего не работает. В чём тут может быть проблема?

***

Видимость переменных на Builder С++

Привет! СОздал 2 формы. 1 модальная. как из второй увидеть значение переменной? описал как extern. не видит все равно...

***

Заполнение формы

Всем привет! Проблемма такая. Ставится дельфи, затем VS и вызов помощи (F1) привязывается к последней. Как возвратить F1 в Дельфях?

***

Сжатие траффика из интернета

Выражаю Официальную благодарность программе TrafficCompressor за прошедшие пол месяца она мне 200 рублей сэкономила!!! 65 метров * 3 руб/мег !!! Спасибо, раньше думал типа чушь всё это , а тут посмотрел по капельке, по капельке и на тебе 60 метров!
Спасибо!

Вы тоже можете посетить наш форум и стать его участником. Приглашаются все.

__________________________________________________________

 

Немного юмора от членов Клуба

Было предложение добавить в выпуски рассылки юмор. Чтобы отдохнуть после долгого чтения. Идея мне понравилась - и вот юмор! Как это не странно, но только что я обнаружил очень интересную тему в форуме с юмором. Тема " Доходит до смешного ". Ну а вот избранное ниже. В следующий раз постараюсь фотоприколов найти. ;)

***

Соединили програмисты холодильник с компом. Ну, все нормально работает. Открывают дверцу и ставят в холодильник кастрюлю с борщом. Противный голос из холодильника:
- Обнаружена кастрюля, красная, 5 литровая, борщ свежесваренный, будете устанавливать?

***

Заходит старушка в трамвай, предупреждая всех что у нее в сумке яйца. Проходя мимо молодого человека, задевает его маленький мешочек. ОН:
- Ах..., острожнее, тв@ю мать.
ОНА, слегка ударяя по мешку ножкой:
- А что у тебя там?
ОН, ударяя ногой по ее сумке со всей дури и разбивая к чертям собачьим все яйца.
- ДУРА! Там же ВИНЧЕСТЕР!

***

Пришел студент в столовую, а все столики заняты подсаживается к профессору, а тот говорит:
- Гусь свинье не товарищ
Студент:
- Ну ладно, я полетел. Профессор обиделся и решил на экзамене студента "завалить". День экзамена. Профессор дает студенту самый трудный билет, а тот отвечает на отлично и профессор задает ему дополнительный вопрос:
- Идешь ты по дороге и видишь два мешка, один с золотом, второй с умом. Какой выберешь?
Студент:
- С золотом.
Профессор:
- А я бы с умом взял.
Студент:
- Это кому чего не хватает.
Профессор рассердился и пишет в зачетке "КОЗЕЛ", студент не посмотрел и ушел. Через некоторое время возвращается и говорит:
- Профессор, вы тут расписались, а оценку не поставили.

***

- Какая разница между Win'95 и женщиной?
- Никакой - та же способность вываливать тонны бесполезной информации и спрашивать по 3 pаза подтверждения очевидного.

***

Лесбийский чат на далеком амеpиканском сеpвеpе. Входит Вика.
Вика: Hi all! I'm Vikky 17/f bi. Anybody wanna sex?
Hо никто не отвечает. Все заняты своими делами. Входит Анна.
Анна: Privet. Kto nibud' govorit po russki?
Вика: anna privet. ti otkuda?
Анна: Iz moskvi, a ti?
Вика: ya tozhe. u tebja russkij shrift est'?
Анна: da
Вика: ЧПФ ФБЛ РТПЮЙФБФШ HПЦЕЫШ?
Анна: eto chto?
Вика: а вот так можешь пpочитать?
Анна: mogu
Вика: тогда пеpеключайся на pyсский так пpоще
Анна: Вот так?
Вика: yмница. тебе сколько лет?
Анна: 15, а тебе?
Вика: тебе в кyклы надо игpать, что ты тyт делаешь?
Анна: А тебе сколько, стаpyшка?
Вика: скоpо 18
Анна: И в 15 лет ты в чат не ходила?
Вика: нет конечно
Анна: Потомy что компьютеpа не было?
Вика: очень смешно. ты в RL мyжскyю пиписькy когда-нибyдь видела?
Анна: Hе знаю что такое RL, но откyда y тебя, Вика, мyжская пиписька?
Вика: как откyда? мyжики пpиносят. жаль только она y них не отстегивается. пpиходится еще их самих в нагpyзкy теpпеть.
Анна: Так ты и с мyжиками тpахаешься?
Вика: конечно, люблю pазнообpазие
Анна: Hy так сегодня пpо мyжиков забyдь! Потомy что ты в моей комнате, освещенной свечами, на столике бyтылка фpанцyзского ина. Если не любишь вино, поставь себе, что хочешь. Я сижy с сигаpетой в большом мягком кpесле, а ты на пyшистом ковpе y оих ног.
Вика меня посадят за pастление малолетних
Анна: Hе дpейфь. Я yже глажy твои волосы. Разве тебе не пpиятно?
Вика: yговоpила. Я подползаю к тебе поближе, глажy твои ноги слyшай, ты в бpюках или в юбке?
Анна: В юбке. Ты тоже в юбке и в блyзке, котоpyю я начинаю медленно pасстегивать.
Вика: я пpиподнимаюсь, забиpаю y тебя сигаpетy, изящно пpотягиваю ногy и выключаю свет.
Анна: Что ты выключаешь? У нас же свечи гоpят.
Вика: извини. я пpиподнимаюсь, забиpаю y тебя сигаpетy, изящно пpотягиваю ногy и задyваю свечy.
Анна: Чем ты ее задyваешь?
Вика: что значит чем? pтом конечно. ты что?
Анна: А зачем тогда ногой дpыгаешь?
Вика: @%$&^$&^$# да я пpосто скопиpовала текст и заменила выключаю на задyваю. Что ты пpидиpаешься?

Большое спасибо участникам форума за приколы и анекдоты. Остальное читайте здесь .

__________________________________________________________

 

Программистам на заметку

Если у вас есть желание поделиться своим опытом с читателями, вы являетесь обладателем ценных, интересных статей или авторских программ, а может вы просто хотите высказать свое мнение или замечание о рассылке, просто напишите мне . Я постараюсь уделить внимание каждому. А " Клуб программистов " всегда рад приветствовать в своих рядах новых пользователей.

 
 

© 2006, Кочари Арнольд и "Клуб программистов"