Библиотека knigago >> Компьютеры: Языки и системы программирования >> Assembler >> Основы программирования на Ассемблере для ОС Windows: учебное пособие


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1408, книга: Одиночество
автор: Вячеслав Анатольевич Егоров

Я потужно продирался сквозь эту несуразную книгу, под названием "Одиночество". Автору, кхм, Вячеславу Егорову, стоит задуматься о смещении фокуса с написания художественных произведений к занятиям более подходящими для него, например, выгулом утят или уборкой конюшен. В этой так называемой "ужастике" нет ни малейшего элемента страха или напряжения. Герои картонные и невыразительные, а сюжет натянут, словно сова на глобус. Самиздатовский стиль написания и попытки...

Н. И. Черкасова - Основы программирования на Ассемблере для ОС Windows: учебное пособие

Основы программирования на Ассемблере для ОС Windows: учебное пособие
Книга - Основы программирования на Ассемблере для ОС Windows: учебное пособие.  Н. И. Черкасова  - прочитать полностью в библиотеке КнигаГо
Название:
Основы программирования на Ассемблере для ОС Windows: учебное пособие
Н. И. Черкасова

Жанр:

Учебники и самоучители по компьютеру, Windows, Assembler

Изадано в серии:

неизвестно

Издательство:

МГТУ ГА

Год издания:

ISBN:

978-5-903865-22-2

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Основы программирования на Ассемблере для ОС Windows: учебное пособие"

Данные тексты лекций содержат материалы учебно-методического характера, необходимые для освоения знаний и умений по предмету «Основы программирования на Ассемблере для ОС Windows». Содержит материал второй части учебной дисциплины «программирование на машинно-ориентированном языке», в котором рассматриваются вопросы работы с ассемблерами в современных операционных системах. Данное учебное пособие издается в соответствии с рабочей программой учебной дисциплины «Основы программирования на Ассемблере для ОС Windows» по Учебному плану направления 09.03.01 всех форм обучения. Рассмотрено и одобрено на заседании кафедры 25.04.17 г. и методического совета 25.04.17 г .

Читаем онлайн "Основы программирования на Ассемблере для ОС Windows: учебное пособие". [Страница - 2]

и
команды являются конструкциями машинного кода. Команда разделяется на
группы бит (или поля). Первые несколько бит это поле – код операции (также
операционный код, опкод – англ operation code), который определяет действия
компьютера. Остальные поля, называемые операндами, идентифицируют
требуемую команде информацию, показывают, где именно в памяти
компьютера находятся нужные числа (слагаемые, сомножители и тому
подобное) и куда следует поместить результат операции (сумму, произведение
и так далее). Операнд может содержать данные, часть адреса, косвенный
указатель на данные или другую информацию, относящуюся к обрабатываемым
командой данным.
опкод Операнд1 … Операнд n
Рис. 1. Общий формат команды
Пример: команда перемещения для микропроцессора 80x86 выглядит так:
C605EF00400005. C605 – опкод операции перемещения.
По такой команде компьютер помещает число 05 (две последние цифры
05) в ячейку памяти с номером 004000EF (цифры EF004000).
Двоичная система счисления используется в цифровых устройствах по
следующим причинам:
1.
наименьшее количество возможных состояний элемента ведет к
упрощению конструкции в целом, а также повышает помехоустойчивость и
скорость работы;
2.
двоичная система счисления позволяет упростить операции сложения и
умножения – основных действий над числами.
Следует отметить, что составление программ на машинном коде – достаточно
тяжелая и кропотливая работа, требующая чрезвычайного внимания и высокой

5

квалификации программиста, в программе на машинном коде легко ошибиться
и достаточно трудно отыскать ошибку. Расширение или сокращение уже
написанных программ также трудоемко и неэффективно.
1.1.

Язык программирования Ассемблер

Очевидно, разные типы процессоров имеют различные системы команд.
Если язык программирования ориентирован на конкретный тип процессора и
учитывает его особенности, то он называется языком программирования
низкого уровня. Операторы подобного языка близки к машинному коду и
ориентированы на конкретные команды процессора.
Язык ассемблера, как язык низкого уровня, позволяет максимально
использовать потенциал процессора и написать программу для любых, в том
числе и нестандартных. ситуаций, при этом, оптимизировав ее под требуемую
задачу. Он обеспечивает доступ к регистрам, указание методов адресации и
описание операций в терминах команд процессора. Язык ассемблера может
содержать средства более высокого уровня: встроенные и определяемые
макрокоманды,
соответствующие
нескольким
машинным командам,
автоматический выбор команды в зависимости от типов операндов, средства
описания структур данных.
Главное достоинство языка ассемблера – «приближенность» к
процессору, а главным неудобством – слишком мелкое деление типовых
операций, которое большинством пользователей воспринимается с трудом.
Однако язык ассемблера в значительно большей степени отражает само
функционирование компьютера, чем другие языки.
Оптимальной можно считать программу, которая работает правильно, по
возможности быстро и занимает, возможно, малый объем памяти. Кроме того,
ее легко читать и понимать; ее легко изменить; ее создание требует мало
времени и незначительных расходов. В идеале язык ассемблера должен
обладать совокупностью характеристик, которые бы позволяли получать
программы, удовлетворяющие как можно большему числу перечисленных
качеств.
Отметим, что язык ассемблера обладает двумя принципиальными
преимуществами:
1.
во-первых, написанные на нем программы требуют значительно
меньшего объема памяти,
2.
во-вторых, выполняются гораздо быстрее, чем программы-аналоги,
написанные на языках программирования высокого уровня

6

1.2.

Мнемоники команд

Язык ассемблера представляет каждую команду машинного кода, но не в
виде двоичных чисел, а с помощью условных символьных обозначений,
называемых мнемониками.
Использование машинных кодов затруднено, поскольку смысл кода
команды не ясен без соответствующего справочника, однако код каждой
машинной команды можно заменить коротким именем, называемым
мнемоническим кодом. Например, код 01000000b или 40h для микропроцессора
x86 означает «увеличить содержимое регистра EAX на единицу», выглядит как
«INC EAX». Мнемонической командой служит трёх-или --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.