В.Н. Пильщиков - Программирование на языке ассемблера IBM PC (1110551)
Текст из файла
В. Н. Пильщиков Программирование на языке ассемблера! ВМ РС МОСКВА а "ДИАЛОГ-МИФИ" а 1999 ББК 32.973 УДК 681.325.5 П32 1БВ1ч 5-86404-051-7 Книга представляет собой учебное пособие по языку ассемблер для персональных компьютеров типа 1ВМ РС. Подробно рассмотрены команды этих ЭВМ, конструкция языка и методы программирования на нем.
Изложение сопровождается многочисленными примерами. Для студентов и преподавателей ВУЗов, для всех желающих детально изучить язык ассемблер и приемы программирования на нем. ББК 32.9 Учебно-справочное издание Владимир Николаевич Пильщиков Программирование иа языке ассемблера 1ВМ РС Редактор О.
А. Голубев Макет и обложка Н. В. Дмитриевой Корректор Л. М. Плясова Лицензия ЛР 1ч 071568 от 25.12.97. Подписано в печать 14.12.99. Формат 60х84/16. Бум. офс. Печать офс. Гарнитура Таймс. Уел. печ. л. 16.74. Уч.- изд. л. 17.4.
Доп. тираж 5 000 зкз. Заказ 7ЧО %. Акционерное общество "ДИАЛОГ-МИФИ" 115409, Москва, ул. Москворечье, 31, корп. 2 Подольская типография 142ИО, г. Подольск, Московская обл., ул. Кирова, 25 1БВХ 5-86404-051-7 © В. Н. Пильщиков, 1994-99 Ю Оригинал-макет, оформление обложки. ЗАО "ДИАЛОГ-МИФИ", 1999 В. Н.
Пильщиков П32 Программирование на языке ассемблера 1ВМ РС. - М.: "ДИАЛОГ- МИФИ", 1999. - 288 с. 22 Программирование нв воине ассемблере!ВМ РС спецификатор, а именно букву а (аесцпа!), разрешается указывать и в конце десятичного числа, но обычно этого не делают. Примеры: десвтичвие числе: двоичвие числа: 25, -386, +4, 25а, -306а 101Ь, -11000Ь 74ч, -74ч 1йуь, -1йть восьмиричвие числа: вестввддатеричвве чисваг Ой5Ь - число, й5Ь - идввтифиавтор. Во-вторых, как и в случае идентификаторов, в числах малые и большие буквы отождествляются, поэтоыу буквы-спецификаторы (Ь, Ь и т.
д.) и буквенные шестнадцатеричные цифры (А-Р) можно записывать как малыми, так и большими буквами. Например, !АЬ, !аЬ, !аН и !АН - это одно и то же число. В дальнейшем мы буделг придерживаться такого правила: буквенные цифры будем записывать большими буквами, а спецификаторы - ьгачыми буквами (например: !АЬ). Так получается наиболее наглядная запись. 2.13. Символьные данные Символы заключаются либо в одинарные, либо в двойные кавычки: 'А' или "А".
Естественно, левая и правая кавычки должны быть одинаковыми: 'В" или "В' - ошибка. Строки (последовательности символов) тюцке закчгочаются либо в одинарные, либо в двойные кавычки: 'А+Ь' или "А+В". Теперь кое-что уточним: в качестве символов можно исполыовать русские буквы; в строках одноименные большие и ыачые буквы не отождествляются ('А+В' и 'а+Ь' - разные строки); если в качестве символа или внутри строки надо указать кавычку, то делается это так: если символ или строка заключена в одинарные кавычки, то одинарную кавычку надо удваивать, а вот двойную кавычку не надо удваивать, и наоборот, если внешние кавычки двойные, то двойная кавычка должна удваиваться, а одинарная не удваиваетсж а "с а .е а е.
а ° е. Собственно ради того, чтобы не удваивать внутренние кавычки, в язык и введены два вида кавычек, ограничивающих символы и строки. Сделаем пару заыечаний о записи шестгзадцатеричных чисел. Во-первых, если такое число начинается с "буквенной" цифры (А-Р), например А5Ь, тогда становится непонятным, что означает эта запись - число или идентификатор. Чтобы не бьшо путаницы, вводится следующее требование: если шсстнадпатеричное число начинается с цифры А-Р, то в начаче числа обязательно дгьчжен бмть записан хотя бы один незначащий начьг яэыэ ассемблера.
Маявяьныв сведения 22 2.2. Предложении Прогрюача на ЯА - это последовательность предложений, каждое из которых записывается в отдельной строке: <дрвддохеахв> <дредъохваив> <дредхохвахв> Переносить предложение на следующую строку или записывать в одной строке два предложения нельзя. Если в предложении более 131 символа, то 132-й и все последующие символы игнорируются. При записи предложемий действуют следующие правила расстановки пробелов: пробел обязателен между рядом стоящими идентификаторами и/или числами (чтобы отделить их друг от друга); внугри идентификаторов и чисел пробелы недопустиыы; в остачьных местах пробелы можно ставить или не ставить; там, где допустим один пробел, можмо ставить любое число пробелов.
Эти правила не относятся к пробелам внутри строк, где пробел - обычный значащий символ. По сыыслу все предложения ЯА делятся ма три группы: комментарии, команды, директивы (приказы ассемблеру). рассмотрим каждый из этих типов предложений. 2.23й Комзюнтарзззз Комыентарии не ачияют на смысл программы, при трансляции ассемблер игнорирует их. Они предназначены для людей, они пояс)е)ют смысл прогрвзшы. Комментарием считается любая строка, начинающаяся со знака "точка с запятой" (перед ним может быть любое число пробелов) либо пустая строка (точнее, строка, в которой нет иных симвачов, кроме пробелов).
В комментариях можмо испачьювать любые симвачы, в том числе и русские буквы. Например, комментариями являются 1-я и 3-я строки в следующеы тексте: ;это хоюэвхтархя ию ах,о ИОЧ вх,з Предложемия-комментарии обычно используются лля пояснения не одной команды (это можмо сделать, ьак увидим, в самой команде), а целой группы команд, следующих за этим комментарием: ъачисаеахв с ИОД)аэв) дивпог миФи 24 програмыярояаяае яа языке ассеывяеда!ВЫ рс Пустые же строки обычно используются для того, чтобы отделить одну часть программы от друзой, чтобы сделать нагляднее деление программы на части. Отметим, что в ЯА допустим и многострочный комментарий. Он дасаев начинаться со строчки сонихит <маркер> <текст> (СОММЕР - это одна из директив ЯА).
В качестве ыаркера берт]ся первый за словом СОММй!Ч"Т символ, отличный от пробела; этот символ начинает комментарий. Концом тахого комментария считается конец первой из последующих строк программы, в которой (в любой позиции) снова встретился этот же маркер. Например: соиивнт я все ато аъваетса комментарием * В ато токе Такой вид комментария обычно используется, когда надо (например, при отладке) временно исключить из программы некоторый ее фрагмент. 2.2.2. Команды Предложения-команды - это символьная форма записи машинных коьганд.
Общий синтаксис этого типа предложений тахов: [<метка>:] <маемокод> [<одеравдв>] [;<коммавтария>] Примеры: ьлвг ЬДП ВХ,2 ;иамеаеаие ввдекса нхп х свв аХвшка Синтаксически, ьгсгка - это гьчя. Если ыетка есть, то после нее обязательно ставится двоеточие. Метка нужна для ссылок на команду из других мест програьщы, например, для перехода на эту команду.
В отличие от машинного языка, где надо высчитывать адреса ячеек, в которые попадают команды, побы затем указывать эти адреса в ь:омандах перехода, в ЯА достаточно лишь помеппь коьгащу и затем ссылаться на нее по метке. В ЯА разрешается в одной строке указывать только метку (с двоеточием) и больше ничего. Такая ьгетка, считается, метит следующую команду прогрщшы. Эта возможность полезна, по крайней мере, в двух случаях: когда команду надо поыетить двухи или более метками и когда ыетка очень длинная и потому остальная часть команды слишком сильно сдвигается вправо, что плохо смотрится. Пример: хнхтхвпхяхтхон: хьв! ьпп вх,ьх 26 Программярояаяио яа язмяо ассемблера IВМ рп 2.2.4. Ссылки назад и вперед Теперь сделаем несколько замечаний о ыетках и именах.
Во-первых, метки команд и имена (коистаит, переиеииых и т. п.), указываемые в директивах, - это, вообще говора, разные вещи как по смыслу, так и по ряду форыальиых призиаков. Одиэко, если ие вдаваться в детали, то метки можно рассматривать как имена коыаид. Поэтому в дальнейшем под термином "шш" ыы будем обычно понимать как имена переменных, так и метки. Во-вторых, появление имени в начале козгюгды или директивы считается описаииеы данного имели.
В ЯА действует общее правило: каждое иця дачжио быть описано только раз, т. е. в програыые це должно быть двух предложений с одним и теи же именем вначале. (Из этого правила есть исключения, оии будут оговариваться явио.) В-третьих, если в языках высокого уровня действует правило "сначала опиши и лишь затеи используй", то в ЯА такого правила иет и именем можно пользоваться (ссылаться иа него) как до его описюпы, так и после описания. Поэтому допустимы оба следующих случая: ссылка назад ...
Характеристики
Тип файла DJVU
Этот формат был создан для хранения отсканированных страниц книг в большом количестве. DJVU отлично справился с поставленной задачей, но увеличение места на всех устройствах позволили использовать вместо этого формата всё тот же PDF, хоть PDF занимает заметно больше места.
Даже здесь на студизбе мы конвертируем все файлы DJVU в PDF, чтобы Вам не пришлось думать о том, какой программой открыть ту или иную книгу.