КулЛиб электронная библиотека
Всего книг - 604637 томов
Объем библиотеки - 922 Гб.
Всего авторов - 239638
Пользователей - 109534

Впечатления

iron_man888 про Смирнова (II): Дикий Огонь (Эпическая фантастика)

Думал, очередная графомания, но это офигенно! Автор далеко пойдет. Любителям фэнтези с неоднозначными героями и крутыми сюжетными поворотами зайдет однозначно

Рейтинг: +1 ( 1 за, 0 против).
kiyanyn про Грицак: Когда появился украинский народ? (Альтернативная история)

Да, никто не сделал большего для развития украинского самосознания и воспитания ненависти ко всему российскому даже в самых пророссийских регионах Украины, как ВВП в феврале...

Именно он - по делам, а не по словам - лучший друг бандеровцев :(

Рейтинг: -4 ( 0 за, 4 против).
pva2408 про Грицак: Когда появился украинский народ? (Альтернативная история)

Конечно не существовало. Если конечно не читать украинских учебников))
«Украинский народ – самый древний народ в мире. Ему уже 140 тысяч лет»©
В них древние укры изобрели колесо, выкопали Черное море а , а землю использовали для создания Кавказских гор, били др. греков и римлян которые захватывали южноукраинские города, А еще Ной говорил на украинском языке, галлы родом из украинской же Галиции, украинцем был легендарный Спартак, а

подробнее ...

Рейтинг: +4 ( 7 за, 3 против).
Дед Марго про Грицак: Когда появился украинский народ? (Альтернативная история)

Просто этот народ с 9 века, когда во главе их стали норманы-русы, назывался русским, а уже потом московиты, его неблагодарные потомки, присвоили себе это название, и в 17 веке появились малороссы украинцы))

Рейтинг: -8 ( 2 за, 10 против).
fangorner про Алый: Большой босс (Космическая фантастика)

полная хня!

Рейтинг: +3 ( 3 за, 0 против).
Stribog73 про Тарасов: Руководство по программированию на Форте (Руководства)

В книге ошибка. Слово UNLOOP спутано со словом LEAVE. Имейте в виду.

Рейтинг: +2 ( 2 за, 0 против).
Дед Марго про Дроздов: Революция (Альтернативная история)

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

Рейтинг: +1 ( 3 за, 2 против).

Введение в NASM (низкоуровневое программирование для Windows) [Игорь Орещенков] (fb2) читать постранично

- Введение в NASM (низкоуровневое программирование для Windows) 219 Кб, 16с.  (читать) (читать постранично) (скачать fb2) - Игорь Орещенков

Настройки текста:




Игорь Орещенков ВВЕДЕНИЕ В NASM (низкоуровневое программирование для Windows)

«Абстрактных, ненужных знаний нет. В жизни может случиться, что только знание того, какой чешский король разбил монголов, спасет твою голову».

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

Сегодня мы можем наблюдать проникновение микропроцессорной техники практически во все отрасли деятельности человека. Организации осознали выгоду электронного документооборота, вкладывают все большие средства в развитие собственных вычислительных систем и интегрируются в глобальную сеть. Сетевое оборудование должно обладать достаточным «интеллектом», чтобы управлять трафиком и обеспечивать эффективное функционирование сети. Мобильные телефоны благодаря наличию в них мощных вычислительных устройств превратились в тамагочи для взрослых. Да что там говорить — самая последняя кофеварка норовит обзавестись собственным микропроцессором и подключиться не только к электрической, но и к вычислительной сети. Современные микропроцессоры обеспечивают огромную производительность и предоставляют в распоряжение разработчиков постоянно расширяющиеся наборы команд. С одной стороны, это открывает потрясающие перспективы, с другой — накладывает ответственность на специалистов, управляющих их работой. Ведь чтобы реализовать весь потенциал микропроцессора, программист должен применить эффективный алгоритм и воспользоваться при этом самыми подходящими из имеющихся инструкций.

Да, компиляторы с языков высокого уровня обеспечивают такую необходимую сегодня скорость разработки конечного продукта. В большинстве случаев, с которыми сталкивается рядовой программист, ему нет необходимости искать эффективный путь решения задачи — микропроцессор сам «вытянет» это решение, за считанные секунды перебрав миллионы вариантов. Но кому-то придется разрабатывать эти компиляторы, включать в них поддержку инструкций новых процессоров, оптимизировать перевод лексем языка высокого уровня в машинный код. Кто-то должен оптимизировать критические участки кода, чтобы дать возможность остальным позабыть о подобных проблемах и стремиться к «более высоким вершинам». В конце концов, кто-то должен написать первый SDK для нового микропроцессорного устройства, будь то мобильный телефон или кофеварка. Конечно, потребность в таких специалистах намного меньше, чем в программистах «1С» и Visual Basic. Но она будет всегда, пока будут микропроцессоры современного типа. И эти же специалисты пойдут в первых рядах, когда (если) будут изобретены принципиально новые вычислительные устройства. И для тех же прикладных программистов никогда не будет лишним знать, во что превращается высокоуровневый код при его исполнении процессором, и где могут возникнуть «узкие места». Естественно, сразу разобраться с принципами программирования на низком уровне не удастся. Нужно «учиться, учиться и еще раз учиться», а потом приобретать опыт, наступать на грабли, работать над ошибками. И начинать лучше всего в привычной среде, каковой для большинства IT-специалистов является персональный IBM-совместимый компьютер. Кроме того, желательно при разработке программного обеспечения ориентироваться сразу на современную операционную систему, а не на DOS, как это зачастую делается в учебниках.

Возможно ли это — низкоуровневое программирование под Windows? На этот вопрос можно с полной уверенностью заявить: да, и процесс этот можно обставить с достаточным комфортом. Речь в этой статье пойдет как раз о выборе инструментария, организации рабочего места и базовых правилах программирования на ассемблере для 32-разрядных операционных систем семейства Windows. Что же нужно смельчаку, рискнувшему погрузиться в мир низкоуровневого программирования? Если он является убежденным аскетом, то абсолютно ничего, кроме операционной системы и горы технической документации. В самом деле, набрать программу в шестнадцатеричном коде можно даже при помощи текстового редактора. И это не просто бравада автора — на сайте [1] заинтригованный читатель может ознакомиться с лучшими образцами «программистского дзэна». Однако такой подход является скорее искусством и требует огромных затрат времени и сил, обладая при этом очень низким коэффициентом полезного действия. Можно ли сделать низкоуровневое программирование продуктивным? Чтобы