Справочник по Ассемблеру


Самоучитель по Assembler

Микропроцессоры корпорации Intel и персональные компьютеры на их базе прошли не очень длинный во времени, но значительный по существу путь развития, на протяжении которого кардинально изменялись и возможности и даже сами принципы их архитектуры. В то же время, внос в микропроцессор принципиальные изменения, разработчики были вынуждены постоянно иметь в виду необходимость обеспечения совмести мости новых моделей со старыми, чтобы не отпугивать потенциального покупателя перспективой полной замены освоенного или разработанного им программного обеспечения. В результате современные микропроцессоры типа Pentium, обеспечивая такие возможности, как 32-битную адресацию почти неограниченных объемов памяти, многозадачный режим с одновременным выполнением нескольких программ, аппаратных средства защиты операционной системы и прикладных программ друг друга, богатый набор дополнительных эффективных команд и способе адресации, в то же время могут работать (и часто работают) в режиме первых микропроцессоров типа 8086, используя всего лишь 1 мегабайт оперативной памяти, 16-разрядные операнды (т. е. числа в диапазоне до 216 - 1 = 65535) и ограниченный состав команд. Поскольку программирование на языке ассемблера напрямую затрагивает аппаратные возможности микропроцессора, прежде всего следует выяснить, в какой степени программист может использовать новые возможности микропроцессоров в своих программах и какие проблемы программной несовместимости могут при этом возникнуть.

Введение
Распределение адресного пространства
Процесс подготовки и отладки программы

Организация приложений MS-DOS
Архитектурные особенности
Система команд процессоров Intel

Справочник по Ассемблеру

Win32-пpогpаммы выполняются в защищенном pежиме, котоpый доступен начиная с 80286. Hо 80286 тепеpь истоpия. Поэтому мы пpедполагаем, что имеем дело только с 80386 и его потомками. Windows запускает каждую Win32-пpогpамму в отдельном виpтуальном пpостpанстве. Это означает, что каждая Win32 пpогpамма будет иметь 4-х гигабайтовое адpесное пpостpанство.
Hо это вовсе не означает, что каждая пpогpамма имеет 4 гигабайта физической памяти, а только то, что пpогpамма может обpащаться по любому адpесу в этих пpеделах. Windows сделает все необходимое, чтобы сделать память, к котоpой обpащается пpогpамма, "существующей". Конечно, пpогpамма должна пpидеpживаться установленных пpавил, иначе Windows вызовет General Protection Fault. Каждая пpогpамма одна в своем адpесном пpостpанстве, в то вpемя как в Win16 дело обстоит не так. Все Win16-пpогpаммы могут "видеть" дpуг дpуга, что невозможно в Win32. Этот особенность помогает снизить шанс того, что одна пpогpамма запишет что-нибудь повеpх данных или кода дpугой пpогpаммы.

Вступление

Cамоучитель по Assembler

Микропроцессоры корпорации Intel и персональные компьютеры на их базе прошли не очень длинный во времени, но значительный по существу путь развития, на протяжении которого кардинально изменялись и возможности и даже сами принципы их архитектуры. В то же время, внос в микропроцессор принципиальные изменения, разработчики были вынуждены постоянно иметь в виду необходимость обеспечения совмести мости новых моделей со старыми, чтобы не отпугивать потенциального покупателя перспективой полной замены освоенного или разработанного им программного обеспечения. В результате современные микропроцессоры типа Pentium, обеспечивая такие возможности, как 32-битную адресацию почти неограниченных объемов памяти, многозадачный режим с одновременным выполнением нескольких программ, аппаратных средства защиты операционной системы и прикладных программ друг друга, богатый набор дополнительных эффективных команд и способе адресации, в то же время могут работать (и часто работают) в режиме первых микропроцессоров типа 8086, используя всего лишь 1 мегабайт оперативной памяти, 16-разрядные операнды (т. е. числа в диапазоне до 216 - 1 = 65535) и ограниченный состав команд. Поскольку программирование на языке ассемблера напрямую затрагивает аппаратные возможности микропроцессора, прежде всего следует выяснить, в какой степени программист может использовать новые возможности микропроцессоров в своих программах и какие проблемы программной несовместимости могут при этом возникнуть.

Введение
Распределение адресного пространства
Процесс подготовки и отладки программы
Организация приложений MS-DOS

Архитектурные особенности
Система команд процессоров Intel

Как написать игру для ZX Spectrum на ассемблере

Эта книга адресована в первую очередь тем, кого уже перестал удовлетворять несколько ограниченный и неповоротливый Бейсик и кто мечтает наконец научиться писать программы на ассемблере. Книга рассчитана на достаточно подготовленного читателя, прошедшего «боевое крещение» Бейсиком, а новичкам в программировании мы можем порекомендовать первую книгу из серии «Как написать игру для ZX Spectrum». Надеемся также, что и профессионалы смогут найти здесь для себя некоторые зерна истины.
Как и в предшествующей книге, речь здесь пойдет преимущественно об игровых программах, однако хотим вас предупредить заранее, что ассемблер - штука серьезная и нам не раз придется погружаться в пучины мудреных понятий и терминов. Но со своей стороны мы обещаем сделать эти погружения не слишком головокружительными, смягчив суровую необходимость занимательными примерами.
Возможно, вас несколько смутили только что прочитанные строки, да и раньше вам, быть может, не раз приходилось слышать, мол, писать программы на ассемблере невероятно сложно. Но, право, не так страшен ассемблер, как его малюют, а что касается сложностей, так вспомните свои первые шаги в том же Бейсике.

Загрузочная картинка к игре JUGGERNAUT
Спрайт из игры FIST

Уроки Iczelion'а

Win32 программы выполняются в защищенном режиме, который доступен начиная с 80286. Hо 80286 теперь история. Поэтому мы предполагаем, что имеем дело только с 80386 и его потомками. Windows запускает каждую Win32 программу в отдельном виртуальном пространстве. Это означает, что каждая Win32 программа будет иметь 4-х гигабайтовое адресное пространство.
Hо это вовсе не означает, что каждая программа имеет 4 гигабайта физической памяти, а только то, что программа может обращаться по любому адресу в этих пределах. Windows сделает все необходимое, чтобы сделать память, к которой программа обращается "существующей". Конечно, программа должна придерживаться правил, установленных Windows, или это вызовет General рrotection Fault. Каждая программа одна в своем адресном пространстве, в то время как в Win16 дело обстоит не так. Все Win16 программы могут *видеть* друг друга, что невозможно в Win32. Этот особенность помогает снизить шанс того, что одна программа запишет что-нибудь поверх данных или кода другой программы.

Уроки 1-26
Уроки 27-35
Основы

Обзор РE формата
Менеджер виртуальных машин
Как создать invoke'абельную библиотеку импорта

Современные технологии создания программного обеспечения

Накопленный к настоящему времени опыт создания систем ПО показывает, что это сложная и трудоемкая работа, требующая высокой квалификации участвующих в ней специалистов. Однако до настоящего времени создание таких систем нередко выполняется на интуитивном уровне с применением неформализованных методов, основанных на искусстве, практическом опыте, экспертных оценках и дорогостоящих экспериментальных проверках качества функционирования ПО. По данным Института программной инженерии (Software Engineering Institute, SEI) в последние годы до 80% всего эксплуатируемого ПО разрабатывалось вообще без использования какой-либо дисциплины проектирования, методом "code and fix" (кодирования и исправления ошибок).
Проблемы создания ПО следуют из его свойств. Еще в 1975 г. Фредерик Брукс, проанализировав свой уникальный по тем временам опыт руководства крупнейшим проектом разработки операционной системы OS/360, определил перечень неотъемлемых свойств ПО: сложность, согласованность, изменяемость и незримость.

Особенности современных проектов

ПОНЯТНО О Visual Basic NET (том 3)

Определим шутливо сплайн, как «ломаную, которая хочет стать кривой». Задается сплайн, как и ломаная, массивом точек. Метод DrawCurve рисует сплайн, то есть соединяет соседние точки массива плавной кривой. Степень «желания» стать кривой, определяет третий параметр метода, так называемое напряжение (tension). Если он равен нулю, то и «желание нулевое», а значит сплайн остается ломаной, как вы и видите на самой левой фигуре из Рис. 17.5. При увеличении численного значения этого параметра сплайн становится все более и более «кривым», что вы можете видеть на остальных фигурах. Если параметр не указывать, он считается равным 0,5.

Сложные фигуры
Инкапсуляция – «Объект в футляре»
Из чего состоят пространства имен

ПОНЯТНО О Visual Basic NET (том 4)

Visual Basic .NET – это производительное и надежное оружие в руках профессионального программиста. К тому же очень удобное и, несмотря на мощь, достаточно простое. Поэтому Visual Basic .NET более других профессиональных языков подходит для освоения начинающими программистами. На написание программы уходит минимум времени. Изучив эту книгу, вы сможете быстро писать такие, например, приложения, как собственные калькулятор или проигрыватель MP3-файлов, шифровщик секретных сообщений или будильник, веб-браузер или простенькая игра…. Приложив же достаточные усилия, вы сможете создавать вполне солидные продукты, такие, например, как система управления базами данных, графический редактор или сложная, красивая игра, которую не стыдно опубликовать в Интернете.

Почему Visual Basic, а не C++?
Форматирование чисел
Окно модуля
Клавиши редактирования текста программы

Глобальные клавиши быстрого вызова
Окно диалога Вставка файла
Массивы параметров
Инструкции Visual Basic

Метод ProcOfLine
Свойство Left
Объект VBComponent

Раздел - Ценные бумаги

Практический подход к определению ценной бумаги может состоять в следующем. Если невозможно дать строго научное, а затем и юридическое определение, если невозможно сформулировать понятие ценной бумаги на все случаи жизни, то эту трудность можно обойти путем перечисления признанных государством конкретных видов ценных бумаг, которые имеются в практике. Например, в Гражданском кодексе Российской Федерации или других законах, относящихся к рынку ценных бумаг, определенные виды бумаг фиксируются именно как ценные бумаги.

Анализ
Биржа
Виды
Государственные
Деривативы

Законы
Иностранные
Инструменты
Классификация
Клиринг

Коммерческие
Эмитенты и инвесторы
Налоги
Обращение
Понятие
Производные
Расчеты

Россия
Рынок
Справочник
Стратегии
Учебники

Фиктивный капитал
Операции с ГКО

Модели и структуры данных

Структуры данных и алгоритмы служат теми материалами, из которых строятся программы. Более того, сам компьютер состоит из структур данных и алгоритмов. Встроенные структуры данных представлены теми регистрами и словами памяти, где хранятся двоичные величины. Заложенные в конструкцию аппаратуры алгоритмы - это воплощенные в электронных логических цепях жесткие правила, по которым занесенные в память данные интерпретируются как команды, подлежащие исполнению. Поэтому в основе работы всякого компьютера лежит умение оперировать только с одним видом данных - с отдельными битами, или двоичными цифрами. Работает же с этими данными компьютер только в соответствии с неизменным набором алгоритмов, которые определяются системой команд центрального процессора.
Задачи, которые решаются с помощью компьютера, редко выражаются на языке битов. Как правило, данные имеют форму чисел, литер, текстов, символов и более сложных структур типа последовательностей, списков и деревьев. Еще разнообразнее алгоритмы, применяемые для решения различных задач; фактически алгоритмов не меньше чем вычислительных задач.
Для точного описания абстрактных структур данных и алгоритмов программ используются такие системы формальных обозначений, называемые языками программирования, в которых смысл всякого предложения определется точно и однозначно. Среди средств, представляемых почти всеми языками программирования, имеется возможность ссылаться на элемент данных, пользуясь присвоенным ему именем, или, иначе, идентификатором. Одни именованные величины являются константами, которые сохраняют постоянное значение в той части программы, где они определены, другие - переменными, которым с помощью оператора в программе может быть присвоено любое новое значение. Но до тех пор, пока программа не начала выполняться, их значение не определено.

Понятие структур данных и алгоритмов
Логическая структура дека
Машинное представление беззнаковых типов
Дерево
Классификация структур данных

Оптимизация программного обеспечения клиента NetWare

Руководство NetWare® ClientTM для DOS и Windows*. Технический справочник содержит подробную информацию для конфигурирования программного обеспечения NetWare DOS RequesterTM, модифицирования файла конфигурации NetWare Client, устранения проблем на рабочей станции-клиенте, а также управления рабочей станцией в сети NetWare.
Это руководство предназначено для администраторов, отвечающих за рабочие станции-клиенты NetWare.
В руководстве NetWare Client для DOS и Windows* Технический справочник излагаются концепции и приводятся процедуры конфигурирования и использования программного обеспечения рабочей станции NetWare в сетях NetWare 2, NetWare 3TM и NetWare 4TM. Присутствуют ссылки на все версии NetWare. Не обращайте внимания на ссылки, которые не относятся к версии NetWare, используемой Вами.

Продолжение

Конвертация DVD в AVI

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

Этапы