Векторная графика в пакете FreeHand 9.0

         

Векторная графика в пакете FreeHand 9.0

В начале 1998 года фирма Macromedia объявила о выпуске восьмой версии программы FreeHand - одного из самых мощных и универсальных пакетов для работы с векторными изображениями. Технология создания векторных изображений относится к одному из разделов машинной графики и компьютерного дизайна, который называется векторной графикой.
Вряд ли можно составить исчерпывающий перечень областей применения векторных изображений. Рисунки стратегических схем генерального штаба, изображения коллекций модной одежды, дизайн денежных знаков и ценных бумаг создаются с использованием средств векторной графики. Логотипы, эмблемы, фирменные знаки, стилизованные рекламные надписи, диаграммы, схемы — все это можно изобразить в виде векторных рисунков.
Арсенал изобразительных средств FreeHand позволяет решать самые сложные задачи дизайна на высоком профессиональном уровне. Программа FreeHand универсальна и может быть использована как для создания книжных иллюстраций, так и для решения задач в области Web-дизайна.
FreeHand является частью пакета Design in Motion, в который входят также программы Flash и Insta.HTML. Flash - это программа создания анимационных роликов для Web-страниц. Анимация текста или изображения — один из самых популярных дизайнерских приемов в оформлении интернетовских страниц и сайтов. Программа Flash может оживить картинку, созданную с помощью FreeHand, a Insta.HTML представляет собой конвертор, который переводит документ FreeHand в форму, необходимую для публикации в сети Internet.

Введение
Рабочий стол и базовая техника программы
Инструменты FreeHand
Рисование
Заливки и обводки

Рисование (продолжение)
Текст
Цвет
Эффективная работа в программе FreeHand
Экспорт и импорт

Печать
Работа с документом и настройки программы


Приложение. Клавиатурные сокращения FreeHand 8

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

Биография программы коротка, но изобилует драматическими моментами. Первая версия FreeHand была разработана фирмой Aldus на заре машинной графики — в 1988 году. В области компьютерного дизайна фирма Aldus хорошо известна своими программными продуктами и новаторскими решениями. Достаточно сказать, что ей принадлежит авторство на спецификацию формата TIFF, а самая популярная программа в области настольных издательских систем изначально называлась Aldus Page Maker.
Профессионализм инженеров фирмы проявился и в области векторной графики. Хотя файл программы FreeHand 1 занимал миниатюрный по современным меркам объем (всего лишь пол-мегабайта дискового пространства), это была полноценная графическая программа, получившая признание профессионалов. Программа начала свою карьеру с плавного поступательного развития, когда с разной скоростью росли номера версий, изобразительные возможности, стоимость и потребляемые вычислительные ресурсы. Эволюция закончилась в самом начале 90-х годов на следующих рубежах: версия 4, необходимый объем дискового пространства 3,5 мегабайта, объем оперативной памяти 8 мегабайт и полная поддержка языка PostScript Level 1.

Введение
Заголовочная строка
Инструмент Pointer
Объединение

Обводки
Сварка
Автоматические текстовые блоки
Введение в теорию цвета

Палитра Layers
Форматы графических файлов
Полутоновое растрирование
Работа с палитрой Document Inspector
Файловые операции и основные служебные команды

Работа с текстом в FreeHand

FreeHand имеет превосходные средства обработки текста. Этот арсенал средств форматирования и верстки текста не только превосходит возможности многих векторных редакторов, например, Adobe Illustrator и Corel Draw, но и позволяет программе успешно конкурировать с некоторыми специализированными текстовыми редакторами и настольными издательскими системами.

Ввод и редактирование
Применение стиля

Эффективная работа в FreeHand

Мир окрашен в цвета. Цвет — это не только комбинация электромагнитных волн фиксированного диапазона частот и не только субъективные ощущения, вызванные воздействием волн определенной длины на сетчатку глаза. Цвет в восприятии человека имеет настроение, теплоту, глубину и образ. Малейшая дисгармония цвета может погубить прекрасную композицию, а правильный подбор цветов оживляет даже бедную в плане композиции фотографию и делает убедительным замысел дизайнера.
Люди всегда пытались понять природу цвета и объяснить его свойства. Еще в античные времена о цвете размышляли философы-стоики. В средние века и в эпоху Возрождения модели цвета пытались строить художники. В двадцатом веке эстафету подхватили физики, фотографы и специалисты в области кинематографии. Развитие компьютерной графики и цифровых систем печати поставило задачу разработки такой системы управления цветом, которая может контролировать цветовые параметры на всех стадиях подготовки цветных изданий: от их создания до получения тиражей.

Введение в теорию цвета
Эффективная работа в программе FreeHand
Экспорт и импорт

Принципы цифровой печати
Работа с документом и настройки программы
Файловые операции и основные служебные команды

Учебный курс по CorelDRAW 12

Эта книга — учебный курс, и писалась она как пособие для изучающих иллюстративную графику в целом и пакет прикладных программ иллюстративной графики CorelDRAW 12 в частности.
Даже поверхностный анализ всего одной из областей человеческой деятельности (а именно — разработки средств и форм взаимодействия человека и компьютерных программ) позволяет с полной уверенностью утверждать: наиболее эффективным и удобным для восприятия видом информации была, есть и в обозримом будущем будет информация графическая. Тот факт, что по-настоящему широкое внедрение компьютеров в профессиональную деятельность специалистов, не считающих себя «компьютерщиками», стало возможно только после фактической унификации графического интерфейса, оспорить очень трудно. Причина проста, и она кроется в особенностях человеческой психики и физиологии. В силу этих особенностей рассматриваемые изображения очень быстро анализируются, моментально ассоциируются с накапливаемыми в течение всей жизни образами и распознаются. Скорость такого распознавания и ассоциирования намного выше, чем при анализе информации, поступающей, например, по слуховому информационному каналу. И количество ассоциаций, вызываемых изображениями, намного больше — достаточно вспомнить всем известную детскую игру, в которой участники пытаются определить, на что похоже то или иное облако. Ни со звуками, ни с осязательными ощущениями так не играют. Из-за этого один рекламный плакат с изображением, легко вызывающим нужные ассоциации (иногда даже подсознательные!), воздействует на зрителя сильнее, чем многие строки объявления (которые зрителя еще надо как-то заставить прочитать или послушать!).

Вместо введения
Пиксельные и векторные изображения
Прямоугольники
Модель кривой
Фигурный текст

Выделение объектов
Цветовые палитры и модели цвета
Параметры контуров и управление ими
Режимы отображения на экране
Линейки

Группирование и разгруппирование
Огибающие
Преобразование перспективы
Клоны и клонирование эффектов

Уроки CorelDRAW

Любые объемы информации человек лучше усваивает, когда она поступает через канал зрения — вспомните, ведь и вам в детстве больше нравились книжки с картинками. Большие объемы информации иногда просто невозможно воспринять в других формах — сравните таблицу, в которой указан курс акций некой компании по дням года, с построенным на ее основе графиком. По графику тенденции изменения курса видны моментально, а чтобы уловить их из таблицы, требуется время и навык.
Поэтому доля графических данных в профессиональной деятельности любого рода неуклонно растет. Следовательно, требуются и средства для работы с изображениями, и специалисты, умеющие грамотно работать с этими средствами. Спрос всегда порождает предложение, и сегодня рынок программных средств, предназначенных для автоматизации работы с графическими изображениями, очень широк и разнообразен. Но в нем есть свои лидеры. Линия программных продуктов канадской фирмы Corel, носящая название CorelDRAW, безусловно, является одним из таких лидеров.

Предисловие
Основы
Состав изображений
Линии переменной ширины и инструмент Artistic Media

Текст
Объекты
Заливки
Обводка контуров

Отображение рисунка на экране
Упорядочение объектов
Совокупности объектов

Свет и цвет

В 1666 году двадцатитрехлетнего Исаака Ньютона заинтересовало поведение солнечных лучей, проходящих через призму — стеклянное тело, имеющее в сечении треугольник. Его исследования показали, что цвет возникает в результате взаимодействия белого света с материей. Призма преломляла каждый луч света, то есть после прохождения через призму направление луча менялось. Но призма не только преломляла солнечный свет, а и превращала его в многоцветный расходящийся луч, составленный из тех же цветов и в том же порядке, что и радуга. Спектр, увиденный Ньютоном, включал семь основных цветов — красный, оранжевый, желтый, зеленый, голубой, синий и фиолетовый — вместе с тем четкой границы между ними не было (рис. 1.1). Солнечный цвет разлагается призмой на спектральные лучи от красного до фиолетового. Невидимые инфракрасная и ультрафиолетовая области находятся далее за пределами спектра, который способен различать человеческий глаз.

Спектральный состав света

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

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

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

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

В настоящее время на персональных компьютерах типа IBM PC используются в основном два класса операционных систем (оба - разработки корпорации Microsoft): однозадачная текстовая система MS-DOS и многозадачная графическая система Windows. Операционная система MS-DOS является системой реального режима; другими словами, она использует только средства процессора 8086, даже если она установлена на компьютере с процессором Pentium. Система Windows - это система защищенного режима; она значительно более полно использует возможности современных процессоров, в частности, многозадачность и расширенное адресное пространство. Разумеется, система Windows не могла бы рабо-тать с процессором 8086, так как в нем не был реализован защищенный режим.
Соответственно двум типам операционных систем, и все программное обеспечение персональных компьютеров подразделяется на два класса: программы, предназначенные для работы под управлением MS-DOS (их часто называют приложениями DOS) и программы, предназначенные для системы Windows (приложения Windows). Естественно, приложения DOS могут работать только в реальном режиме, а приложения Windows - только в защищенном.
Таким образом, выражения "программирование в системе MS-DOS", "программирование в реальном режиме" и "программирование 86-го процессора" фактически являются синонимами. При этом следует подчеркнуть, что хотя процессор 8086, как микросхема, уже давно не используется, его архитектура и система команд целиком вошли в современные процессоры. Лишь относительно небольшое число команд современных процессоров специально предназначены для организации защищенного режима и распознаются процессором, только когда он работает в за щенном режиме. Поэтому изучение языка ассемблера целесообразно начинать с изучения архитектуры процессора 8086 или, точнее, того гипотетического процессора, который как бы объединяет часть архитектур средств современных процессоров, предназначенных для использования в реальном режиме, и соответствующих архитектуре процессора 8086. будем называть этот гипотетический процессор МП 86. Изучению архитектуры и программирования МП 86 посвящены первые три главы.
Деление программ на приложения DOS и приложения Windows исчерпывают вопроса о возможных типах программ. Дело в том, что ряд дополнительных средств, имеющихся в современных процессорах, вполне можно использовать и в реальном режиме (хотя сама операционная система MS-DOS, разработанная еще в эпоху процессора 8088, ими пользуется). К этим средствам относится расширенный состав команд процессоров и, главное, их 32-разрядная архитектура.

Архитектура реального режима
Основы программирования
Команды и алгоритмы
Расширенные возможности
Приложение

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

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

Архитектура реального режима
Основы программирования
Команды и алгоритмы
Расширенные возможности современных микропроцессоров

Assembler - язык неограниченных возможностей

Говорят, что ассемблер трудно выучить. Любой язык программирования трудно выучить. Легко выучить С или Delphi после Паскаля, потому что они похожи. А попробуйте освоить Lisp, Forth или Prolog, и окажется, что ассемблер в действительности даже проще, чем любой совершенно незнакомый язык программирования.
Говорят, что программы на ассемблере трудно понять. Разумеется, на ассемблере легко написать неудобочитаемую программу... точно так же, как и на любом другом языке! Если вы знаете язык и если автор программы не старался ее запутать, то понять программу будет не сложнее, чем если бы она была написана на Бейсике.

Что потребуется для работы с ассемблером
Директивы и операторы ассемблера
Более сложные приемы программирования
Программирование для Windows 95 и Windows NT
Ассемблер и языки высокого уровня
Программирование на ассемблере в среде UNIX

Основы языка Ассемблера

Современные процессоры (начиная с 80386), в отличие от своего предшественника 8086, являются 32-разрядными. Это дает возможность программисту использовать в программе 32-разядные операнды (т. е. числа в диапазоне до 232-1=4 294 967 295), что во многих случаях позволяет упростить алгоритм программы и повысить ее быстродействие. Программа, предполагающая работать с 32-разрядными операндами, должна иметь в своем составе одну из директив .386, .486 или .586, которые разрешают транс тору использовать дополнительные средства соответствующего процессе. Включение в программу этой директивы одновременно открывает доступ и к дополнительным командам и способам обращения к памяти, отсутствующим в процессоре 8086, что также расширяет возможности программирования. Эти средства описаны в главе, посвященной расширенным возможностям современных процессоров.

Введение
Подготовка и отладка программы
Циклы и условные переходы
Использование средств 32-разрядных процессоров в программировании
ААА ASCII-коррекция регистра АХ после сложения

Справка по Ассемблеру для AVR

Компилятор транслирует исходные коды с языка ассемблера в объектный код. Полученный объектный код можно использовать в симуляторе ATMEL AVR Studio, либо в эмуляторе ATMEL AVR In-Circuit Emulator. Компилятор также генерирует код, который может быть непосредственно запрограммирован в микроконтроллеры AVR.
Компилятор генерирует код, который не требует линковки.
Компилятор работает под Microsoft Windows 3.11, Microsoft Windows95 и Microsoft Windows NT. Кроме этого есть консольная версия для MS-DOS.
Набор инструкций семейства микроконтроллеров AVR описан в данном документе кратко, для более полной информации по инструкциям обращайтесь к полному описанию инструкций и документации по конкретному микроконтроллеру.

Война миров - Ассемблер против Си
Ассемблерные головоломки или может ли машина понимать естественный язык
Ассемблер и Win32
Архитектура x86-64 под скальпелем ассемблерщика

Assembler для Windows

Если Вы, дорогой читатель, знакомы с книгой "Assembler: учебный курс" Вашего покорного слуги, то, наверное, обратили внимание, что программированию в операционной системе Windows было посвящено всего две главы. Это немного и может служить лишь введением в данную область. Пришло время заняться этим серьезно.

Введение
Основы 32-битного программирования в Windows
Более подробное описание программирования в среде Windows

Более сложные примеры программирования в Windows
Отладка, анализ кода программ, драйверы

Основы битного программирования в Windows
Примеры простейших программ
Структура исполняемых модулей
Окно сопроцессора
Примеры программ использующих таймер
Приложения

Ассемблер для DOS, Windows и Unix

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

Что потребуется для работы с ассемблером
Директивы и операторы ассемблера
Более сложные приемы программирования
Программирование в защищенном режиме
Процессоры Intel в защищенном режиме
Символы ASCII

Ассемблер и программирование для IBM PC

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

Введение в семейство персональных компьютеров IBM PC
Дисковая память II: Функции базовой версиии DOS

Assembler для начинающих

Почему вас могло бы заинтересовать программирование на языке ассемблера? Cегодня повсюду используются такие языки высокого уровня как Бэйсик, Фортран и Паскаль . Возможно, вы уже знакомы по крайней мере с одним языком высокого уровня. Если вы постоянно пльзуютесь персональным компьютером IBM, то вы знаете, что интерпритатор Бэйсика является частью системы. Зачем же возиться еще с одним языком программирования, тем более с таким, который сулит определенные трудности? Очевидно, даже располагая современными могучими языками, вы все еще нуждаетесь в ассемблере из-за его эффективности и точности.
Ассемблерные программы могут быть очень эффективными. Из программистов, с равными навыками и способностями, работающий на языке ассемблера создаст программу более компактную и быстродействущую, чем такая же программа, написанная на языке высокого уровня. Это так практически для всех небольших или средних программ. К сожалению, по мере возрастания размеров, программы на языке ассемблера теряют часть своих преимуществ. Это происходит из-за необходимого в ассемблерной программе внимания к деалям. Как вы увидите, язык ассемблера требует от вас планирования каждого действия компьютера. В небольших программах это позволяет оптимизировать работу программы с аппаратными средствами. В больших же программах огромное количество деталей может помешать вам эффективно работать над самой программой, даже если отдельные компоненты программы окажутся очень неплохими. Безусловно, программирование на языке ассемблера отвечает потребностям не каждой программы.

Программирование на языке Ассемблера
Основы компьютерных вычислений
Модель программирования 8088
Команды управления микропроцессором

Dos и Ассемблер
Свойства Макроассемблера
Математический сопроцессор 8087
Персональный компьютер IBM
Базовая система ввода/вывода
Расширения системы и подпрограммы на языке Ассемблера

Введение
Основы компьютерных вычислений
Микропроцессор 8088
Команды процессора 8088

Использование ДОС и Ассемблера
Свойства Макроассемблера
Числовой процессор 8087
Персональный компьютер IBM
Программа из прошлой главы

Turbo Assembler 3.0. Руководство пользователя

Турбо Ассемблер работает на компьютерах семейства IBM PC, включая модели XT, AT и PS/2, а также на полностью совместимых с ними компьютерах. Для работы Турбо Ассемблера требуется операци- онная система MS-DOS (версии 2.0 или более поздняя) и не менее 256К оперативной памяти.
Турбо Ассемблер генерирует инструкции процессоров 8086, 80186, 80286, 80386 и i486, а также инструкции с плавающей точкой для арифметических сопроцессоров 8087, 80287 и 80387. (Подробнее об инструкциях процессором семейства 80х86/80х87 рассказывается в книгах фирмы Intel.)

Требования к программному и аппаратному обеспечению
Директивы выбора процессора и идентификаторы процессора
Использование условных директив
Информационные сообщения
Командная строка компоновщика

Need right angle bracket
Определение перечислимых типов данных
Передача параметров
Регистры
Текстовые макрокоманды
Включение одной именованной структуры в другую
Сравнение ассемблерных трансляторов

Ассемблер - экстремальная оптимизация
Ассемблер — это просто хадкорный ассемблер
Ассемблерные извращения - натягиваем стек
Программирование на Ассемблере под DOS
Разное IDE для больших проектов на ассемблере

Ассемблирование без секретов

Свою программистскую карьеру мыщъх начинал с микрокомпьютера "Правец-8D", оснащенного довольно экзотической версией Бейсика и нехилым руководством с кучей конкретных примеров (правда, на болгарском языке). Процесс освоения буржуинской техники происходил приблизительно так. Набрал программу. Запустил. Помедитировал над листингом. Попробовал что-нибудь изменить. Запустил. Посмотрел на реакцию. Осмыслил. Что-то еще изменил. И вот так, шаг за шагом мыщъх разобрался во всех операторах языка и научился писать эффективные программы, в которых нет ничего лишнего.

Введение или много лет тому назад
Курс Основы построения трансляторов

Программирование на Ассемблере

В настоящее время нет языка, полностью удовлетворяющего этим свойствам. Всем требованиям, кроме последнего, удовлетворяет машинный язык и близкий к нему язык Ассемблера. Последнему требованию удовлетворяют языки высокого уровня, но они не удовлетворяют первым трем требованиям, поэтому при создании системных программ используют и язык Ассемблер и язык высокого уровня (язык С, С++). И, хотя для систем, поддерживающих работу с процессорами разных типов, например, WINDOWS NT, драйверы пишутся на языке высокого уровня, значимость ассемблера не падает, так как знание принципов выполнения команд и их хранение в памяти помогает писать «хорошие» программы на любом языке.

Характеристика языков системного программирования
Обработка ошибок с помощью функции GetLastError
Особенности использования ассемблерных функций

Сборник по задачам и примерам Assembler

Профессия программиста удивительна и уникальна. Давно уже настало время настоящего философского осмысления этой сферы человеческой деятельности, действительно обладающей какими-то особенными, для людей непосвященных чуть ли не магическими, свойствами. Если не брать в рассмотрение коммерческую сторону, то можно сказать, что чужих людей в этой области профессиональной деятельности нет. В чем же ее особенность? Наиболее точно по этому поводу высказался Фредерик Брукс в главе «Пятьдесят лет удивления, восхищения и радости» своей книги «Мифический человеко-месяц, или как создаются программные системы>: «Немногим Бог дает право зарабатывать на жизнь тем, чем они с радостью занимались бы по собственной воле, по увлечению. Я благодарен судьбе». И далее: «Область связанных с компьютерами знаний претерпела взрыв, как и соответстующая технология. Будучи аспирантом в середине 50-х, я мог прочесть все журналы и труды конференций. Я мог оставаться на современном уровне во всей научной дисциплине.

Программирование целочисленных арифметических операций
Сложные структуры данных
Процедуры в программах ассемблера
Обработка цепочек элементов

Работа с консолью в программах на ассемблере
Преобразование чисел
Работа с файлами в программах на ассемблере
Профайлер
Вычисление CRC
Программирование ХММ-расширения

Программирование целочисленных арифметических операций
Сложные структуры данных
Процедуры в программах ассемблера
Обработка цепочек элементов
Работа с консолью в программах на ассемблере

Преобразование чисел
Работа с файлами в программах на ассемблере
Профайлер
Вычисление CRC
Программирование ХММ-расширения

Секреты ассемблирования дизассемблерных листингов
Аудит и дизассемблирование exploit'ов
Ассемблер. Компоновщик. Загрузчик. Макрогенератор
Справка по Ассемблеру для AVR
Набор статей и руководств по дизассемблеру IDA

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

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

Особенности современных проектов
Для начала разберемся, как устроены системы.

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

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

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

Справочная система по языку Assembler

Интересно проследить, начиная со времени появления первых компьютеров и заканчивая сегодняшним днем, за трансформациями представлений о языке ассемблера у программистов. Когда-то ассемблер был языком, без знания которого нельзя было заставить компьютер сделать что-либо полезное. Постепенно ситуация менялась. Появлялись более удобные средства общения с компьютером. Но, в отличие от других языков, ассемблер не умирал, более того он не мог сделать этого в принципе. Почему? В поисках ответа попытаемся понять, что такое язык ассемблера вообще. Если коротко, то язык ассемблера — это символическое представление машинного языка. Все процессы в машине на самом низком, аппаратном уровне приводятся в действие только командами (инструкциями) машинного языка. Отсюда понятно, что, несмотря на общее название, язык ассемблера для каждого типа компьютера свой. Это касается и внешнего вида программ, написанных на ассемблере, и идей, отражением которых этот язык является. По-настоящему решить проблемы, связанные с аппаратурой (или даже, более того, зависящие от аппаратуры как, к примеру, повышение быстродействия программы), невозможно без знания ассемблера.

Вступление
Структура машинной команды
Команды пересылки данных
Целые двоичные числа
Логические данные

Безусловные переходы
Операция пересылки цепочек
Об ассемблере
Описание системы команд микропроцессоров Intel
Псевдооператоры

Справочник по языку Ассемблера IBM PC

Интересно проследить, начиная со времени появления первых компьютеров и заканчивая сегодняшним днем, за трансформациями представлений о языке ассемблера у программистов.
Когда-то ассемблер был языком, без знания которого нельзя было заставить компьютер сделать что-либо полезное. Постепенно ситуация менялась. Появлялись более удобные средства общения с компьютером. Но, в отличие от других языков, ассемблер не умирал, более того он не мог сделать этого в принципе. Почему? В поисках ответа попытаемся понять, что такое язык ассемблера вообще.
Если коротко, то язык ассемблера — это символическое представление машинного языка.
Все процессы в машине на самом низком, аппаратном уровне приводятся в действие только командами (инструкциями) машинного языка. Отсюда понятно, что, несмотря на общее название, язык ассемблера для каждого типа компьютера свой. Это касается и внешнего вида программ, написанных на ассемблере, и идей, отражением которых этот язык является.

Об ассемблере
Директивы управления листингом
Схема команды
Структура машинной команды
Команды пересылки данных
Обзор группы арифметических команд и данных
Логические команды
Команды передачи управления
Цепочечные команды
Рунет : win32asm