Математика | ||||
Макроассемблер MASM-Лямин Л.В. М.: Радио и связь, 1994. — 320 с.: ил | ||||
Лямин Л.В.
1 Макроассемблер MASM — М.: Радио и связь, 1994. — 320 с.: ил. ISBN 5-256-01171-5. В систематизированном виде приведены сведения по языку макроассемблера MASM версии 4.0 фирмы Microsoft. Описаны входящие в него утилиты, команды, структуры, операторы и выражения. Для программистов. ВВЕДЕНИЕ Основной проблемой для большинства отечественных программистов, как бы грамотны они ни были в прикладном программировании на конкретных языках программирования, является практически полное отсутствие справочных руководств по работе с конкретными программными пакетами. За < рубежом продажа пакетов программ любого уровня сопровождается приложением и поставочного комплекта доументации, содержащего практические описания и руководства по работе с данным пакетом или же отдельными его компонентами. Такой порядок является естественным, и при соблюдении пользователями лицензионных ограничений и соглашений процедура покупки программных пакетов исключает какие-либо дополнительные хлопоты. В нашей стране ситуация принципиально иная, вследствие чего беспроблемное за рубежом приобретение программных пакетов, здесь осуществляемое, как правило, преимущественно "пиратским" путем незаконного "взламывания" зашиты от копирования и распостранения программ (без учета интересов фирм-разработчиков), приводит к тому, что пользователи в 90% случаев получают "голые" пакеты, не обеспеченные никакой сопровождающей документацией (а зачастую и в неполном составе). В итоге, даже "разжившись" нужным программным пакетом, пользователь оказывается неспособным работать с ним, поскольку любой современный программный пакет обязательно содержит специализированный интерфейс пользователя, который может иметь вид как обычной командной строки, так и полноэкранного многооконного представления служебных функций. Но даже полноэранный интерфейс, оснащенный развитым гипертекстовым "справочником" (Help), мало способствует организации нормальной работы с пакетом, поскольку никакой встроенный справочник никогда не заменит полноценного руководства пользователя, а кроме того, зарубежные разработчики не учитывают того, что английским языком, например, в нашей стране владеет менее 0,1% пользователей (тем более, специальной технической терминологией). Результатом является освоение программных пакетов преимущественно по слухам и методом "научного тыка" и растягивается оно на год и более. Описанная ситуация типична для любой области программирования, так что в нормальной ситуации могут работать только счастливчики из персонала совместных предприятий, изначально обладающие полным комплектом необходимой документации. Ну а несчатные работники огромного количества НИИ и КБ вынуждены преодолевать весьма серьезные трудности, пытаясь работать с программами, о работе которых они ничего не знают. Как бы хорошо не знал программист-пользователь тот язык, в работе на 1* Содержание ВВЕДЕНИЕ.........:.......................................................................................................3 ЧАСТЬ I. СПРАВОЧНИК ПО ЯЗЫКУ АССЕМБЛЕРА..............................................6 Глава 1. ЭЛЕМЕНТЫ АССЕМБЛЕРА.........................................................................9 Л. Набор символов...................................................................................................9 .3. Вещественные числа............................................................................................9 .4. Кодированные вещественные числа....................................................................10 .5. Упакованные десятичные числа.........................................................................11 .6. Символьные и строковые константы...................................................................11 .7. Имена.................................................................................................................12 .8. Зарезервированные имена..................................................................................12 .9. Операторы..........................................................................................................13 .10. Комментарии.....................................................................................................14 .11. Директива COMMENT.......................................................................................14 Глава2. СТРУКТУРА ПРОГРАММЫ........................................................................15 2.1. Исходные файлы................................................................................................15 2.2. Директивы набора инструкций...........................................................................17 2.3. Директивы SEGMENT и ENDS..........................................................................18 2.4. Директива END..................................................................................................24 2.5. Директива GROUP.............................................................................................25 2.6. Директива ASSUME............................................................................................26 2.7. Директива ORG..................................................................................................27' 2.8. Директива EVEN................................................................................................27 2.9. Директивы PROC и ENDP.................................................................................28 Глава 3. ТИПЫ И ДЕКЛАРАЦИИ.............................................................................30 3.1. Декларации меток..............................................................................................30 3.2. Декларации данных...........................................................................................31* 3.3. Декларации символьных имен...........................................................................36 3.4. Декларации типа...........................................................................................:...,3в 3.5. Декларации структур и записей..............;..........................................................41 Глава 4. ОПЕРАТОРЫ И ВЫРАЖЕНИЯ..................................................................45 4.1. Операнды...........................................................................................................45 4.2. Операторы и выражения....................................................................................53* 4.3. Вычисление выражений и приоритетность.........................................................64 4.4. Прямые ссылки..................................................................................................65 4.5. Строгая типизация для операндов памяти..........................................................67 Глава 5. ГЛОБАЛЬНЫЕ ДЕКЛАРАЦИИ...................................................................68 5.1. Директива PUBLIC.............................................................................................68 5.2. Директива EXTRN.....................................................................................'..........69 5.3. Пример программы.............................................................................................69. Глава 6. УСЛОВНЫЕ ДИРЕКТИВЫ.........................................................................72 6.1. Директивы условного ассемблирования..............................................................72 6.2. Условные директивы контроля ошибок...............................................................76 Глава 7. МАКРОДИРЕКТИВЫ..................................................................................81 7.1. Макродирективы.................................................................................................81 7.2. Макрооператоры.................................................................................................89 Глава 8. ДИРЕКТИВЫ УПРАВЛЕНИЯ ФАЙЛАМИ..................................................93 8.1. Директива INCLUDE..........................................................................................93 8.2. Директива .RADIX.............................................................................................94 8.3. Директива %OUT..............................................................................................95 8.4. Директива NAME...............................................................................................95 8.5. Директива TTTLE...............................................................................................95 8.6. Директива SUBTTL..................................................................>.........................96 8.7. Директива РАСЕ................................................................................................96 8.8. Директивы .LIST и .XLIST.................................................................................98 8.9. Директивы .SFCOND, .LFCOND и .TFCOND.....................................................98 8.10. Директивы .LALL, .XALL и .SALL.....................................................................99 8.11. Директивы .CREF и .XCREF..................................................,........................101 ЧАСТЬ 2. ПРОГРАММНЫЙ ПАКЕТ MASM 4.0......................................................102 Глава 9. ОБЩИЕ СВЕДЕНИЯ О ПРОГРАММНОМ ПАКЕТЕ.................................102 9.1. Необходимые аппаратно-программные средства...............................................102 9.2. Необходимая исходная информация.................................................................103 9.3. Порядок работы с MASM..................................................................................104 9.4. Нововведения в программном пакете MASM.....................................................104 9.5. Совместимость с ассемблерами и компиляторами............................................105 Глава 10. МАКРОАССЕМБЛЕР MASM.....................................................................107 10.1. Инициация и использование MASM.................................................................107 10.2. Использование опций MASM............................................................................Ill 10.3. Чтение листинга ассемблера............................................................................120 Глава 11. КОМПОНОВЩИК LINK...........................................................................130 11.1. Инициация и использование LINK..................................................................130 11.2. Использование опций компоновки...................................................................139 11.3. Функционирование LINK..........................................,......................................148 Глава 12. УТИЛИТА СИМВОЛЬНОЙ ОТЛАДКИ SYMDEB.....................................153 12.1. Настройка для символьной отладки.................................................................153 12.2. Инициация SYMDEB.......................................................................................158 12.3. Использование опций SYMDEB.......................................................................162 12.4. Спецификация параметров команд..................................................................165 12.5. Использование команд SYMDEB......................................................................171 12.6. Примерный сеанс работы SYMDEB.................................................................224 Глава 13. УТИЛИТА ПЕРЕКРЕСТНЫХ ССЫЛОК CREF.......................................239 13.1. Использование CREF.......................................................................................239 13.2. Формат листинга перекрестных ссылок...........................................................242 Глава 14. БИБЛИОТЕЧНЫЙ АДМИНИСТРАТОР UB............................................245 14.1. Инициация и использование LIB.....................................................................246 14.2. Создание новой библиотеки.............................................................................251 14.3. Проверка непротиворечивости библиотек........................................................252 14.4. Формирование листинга библиотечных ссылок...............................................252 14.5. Трансформация библиотек...............................................................................253 Глава 15. УТИЛИТА ПРОГРАММНОЙ ПОДДЕРЖКИ МАКЕ................................258 15.1. Использование МАКЕ......................................................................................258 15.2. Пример сопровождения программы.................................................................265 ПРИЛОЖЕНИЯ.............................,.........................................................................267 Приложение А. Перечень инструкций.....................................................................267 АЛ. Инструкции 8086.............................................................................................267 А.2. Инструкции 8087.............................................................................................271 А.З. Мнемоники инструкций 80186.........................................................................273 А.4. Незащищенные инструкции 80286..................................................................274 А.5. Мнемоники защищенных инструкций 80286...................................................274 А.6. Мнемоники инструкций 80287.........................................................................275 Приложение В. Перечень директив..........................................................................276 8.1. Директивы MASM............................................................................................276 8.2. Операторы MASM.............................................................................................280 Приложение С. Сегментные имена для языков высокого уровня..............................283 С.1. Текстовые сегменты.........................................................................................283 С.2. Ближние сегменты данных..............................................................................283 С.З. Дальние сегменты данных.............................'..................................................285 С.4. Сегменты BSS..................................................................................................286 С.5. Сегменты констант....................................................................'.......................286 Приложение D. Сообщения об ошибках...................................................................288 D.I. Сообщения об ошибках MASM.........................................................................288 D.2. Сообщения об ошибках LINK...........................................................................295 D.3. Сообщения об ошибках SYMDEB....................................................................299 D.4. Сообщения об ошибках MAPSYM....................................................................300 D.5. Сообщения об ошибках CREF..........................................................................301 D.6. Сообщения об ошибках LIB.............................................................................301 D.7. Сообщения об ошибках МАКЕ.........................................................................303 D.8. Сообщения об ошибках ЕХЕРАСК..................................................................304 D.9. Сообщения об ошибках EXEMOD...................................................................305 Приложение Е. Выходные коды...............................................................................307 Е.1. Выходные коды от МАКЕ........................................................................'.........307 Е.2. Выходные коды от пакетных файлов MS-DOS.................................................307 Е.З.. Выходные коды для программ из пакета макроассемблера..............................307 Приложение F. Использование ЕХЕРАСК и ЕХЕМОО............................................310 F.I. Утилита ЕХЕРАСК..........................................................................................310 F.2, Утилита EXEMOD...........................................................................................310 Приложение G. Дополнительные технические данные............................................313 Цена: 150руб. |
||||