adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
Турбо Ассемблер 3.0/tasm/#2-2 = 1 =
Глава 13. Расширенные инструкции..................................9
Эффективная генерация кода: директивы SMART и NOSMART...........9
Расширенные инструкции перехода................................10
Дополнительные инструкции цикла процессора 80386...............11
Дополнительные инструкции ENTER и LEAVE........................11
Дополнительные инструкции возврата.............................11
Расширенные инструкции PUSH и POP..............................12
Инструкции PUSH и POP с несколькими операндами.................13
Использование в инструкциях PUSH и POP указателей..............13
Занесение в стек константа (процессор 8086)....................13
Расширенные инструкции сдвига..................................15
Принудительное переопределение сегментов: инструкции SEGxx.....15
Дополнительные инструкции работы с флагами.....................16
Дополнительные инструкции работы с битами полей................17
Инструкция GETFIELD............................................19
Дополнительная быстрая инструкции непосредственного
умножения.....................................................19
Расширение необходимых инструкций для процессора 80386.........20
Вызов процедур с кадрами стека.................................22
Вызываемые процедуры, содержащие RETURNS.......................23
Вызов процедур методов для объектов: CALL...METHOD.............23
Остаточная рекурсия для методов объектов: инструкция
JMP...METHOD..................................................25
Дополнительные инструкции для объектного программирования......25
Глава 14. Использование макрокоманд..............................26
Текстовые макрокоманды.........................................26
Определение текстовых макрокоманд с помощью директивы EQU......26
Директивы макрокоманд работы с текстовыми строками.............27
Директива CATSTR...............................................28
Директива SUBSTR...............................................28
Директива INSTR................................................28
Директива SIZESTR..............................................28
Примеры макрокоманд работы с текстом...........................29
Макрокоманды, состоящие из нескольких строк....................29
Тело макрокоманды, состоящей из нескольких строк...............29
Использование в макрокомандах символа &........................30
Включение комментариев в тело макрокоманды.....................31
Локальные формальные аргументы.................................31
Директива EXITM................................................33
Директива GOTO и макроидентификаторы перехода..................33
Общие макрокоманды, состоящие из нескольких строк..............34
Вызов общей макрокоманды, состоящей из нескольких строк........36
Литеральные строки в угловых скобках...........................37
Символ !.......................................................37
Символ вычисления выражения %..................................38
Переопределение общей макрокоманды, состоящей из нескольких
строк.........................................................38
Удаление общей макрокоманды: директива PURGE...................38
Определение вложенных и рекурсивных макрокоманд................39
Счетчик повторения макрокоманды................................40
Директива WHILE................................................41
Макрокоманды повторения строк..................................41
Непосредственная макродиректива %..............................42
Турбо Ассемблер 3.0/tasm/#2-2 = 2 =
Включение расширения макрокоманды в файл листинга..............43
Глава 15. Использование условных директив........................44
Синтаксис условных директив....................................44
Директива условного ассемблирования IFxxx......................45
Директивы условного ассемблирования ELSEIFxxx..................47
Директивы генерации сообщений об ошибке ERRxx..................48
Описания конкретных директив...................................49
Безусловные директивы генерации сообщений об ошибке............49
Условные директивы с выражениями...............................49
Условные директивы с идентификатором...........................50
Условные директивы с текстовыми строками.......................52
Условия выполнения прохода Ассемблером.........................56
Включение условных директив в файл листинга....................56
Глава 16. Интерфейс с компоновщиком..............................58
Описание внешних идентификаторов...............................58
Соглашения для конкретного языка...............................58
Описание общедоступных идентификаторов.........................58
Описание идентификаторов библиотеки............................59
Определение внешних идентификаторов............................60
Описание глобальных идентификаторов............................60
Определение общих переменных...................................60
Включение библиотеки...........................................62
Глава 17. Генерация листинга.....................................63
Формат листинга................................................63
Общие директивы управления листингом...........................64
Директивы листинга включаемых файлов...........................65
Директивы вывода блоков условного ассемблирования..............66
Директивы вывода в файл листинга макрокоманд...................67
Директивы вывода листинга перекрестных ссылок..................67
Параметры изменения формата листинга...........................69
Глава 18. Интерфейс Турбо Ассемблера и Borland C++...............73
Вызов из Borland C++ функций Турбо Ассемблера..................74
Основные моменты в интерфейсе Турбо Ассемблера и Borland
C++...........................................................76
Компоновка ассемблерных модулей с С++..........................77
Использование Extern "C" для упрощения компоновки..............78
Модели памяти и сегменты.......................................79
Упрощенные директивы определения сегментов и Borland C++.......79
Старые директивы определения сегментов и Borland C++...........80
Значения по умолчанию: когда необходимо загружать сегменты?....83
Общедоступные и внешние идентификаторы.........................86
Подчеркивания и язык Си........................................86
Различимость строчных и прописные символов в
идентификаторах...............................................88
Типы меток.....................................................88
Внешние дальние идентификаторы.................................90
Командная строка компоновщика..................................91
Взаимодействие между Турбо Ассемблером и Borland C++...........93
Передача параметров............................................93
Сохранение регистров..........................................101
Возврат значений..............................................102
Вызов функции Турбо Ассемблера из Borland C++.................104
Написание на языке Ассемблера функций-элементов С++...........108
Турбо Ассемблер 3.0/tasm/#2-2 = 3 =
Соглашения по вызовам, использующиеся в Паскале...............110
Вызов Borland C++ из Турбо Ассемблера.........................111
Компоновка с кодом инициализации С++..........................112
Задание сегмента..............................................112
Выполнение вызова.............................................112
Вызов из Турбо Ассемблера функции Borland C++.................114
Глава 19. Интерфейс Турбо Ассемблера с Турбо Паскалем...........117
Совместное с Турбо Паскалем использование данных..............118
Директива компилятора $L и внешние подпрограммы...............118
Директива PUBLIC..............................................119
Директива EXTRN...............................................119
Ограничения при использовании объектов типа EXTRN.............122
Использование корректировок сегментов.........................123
Устранение неиспользуемого кода...............................125
Соглашения Турбо Паскаля по передаче параметров...............125
Параметры-значения............................................125
Скалярные типы................................................125
Вещественные значения.........................................126
Типы Single, Double, Extended и Comp и типы сопроцессора
8087.........................................................126
Указатели.....................................................126
Строки........................................................126
Записи и массивы..............................................126
Множества.....................................................127
Параметры-переменные..........................................127
Обеспечение стека.............................................127
Доступ к параметрам...........................................128
Использование для адресации к стеку регистра BP...............128
Директива ARG.................................................129
Турбо Паскаль и директива .MODEL..............................130
Использование другого базового или индексного регистра........131
Результаты функции в Турбо Паскале............................131
Выделение пространства для локальных данных...................132
Выделение статической памяти..................................132
Выделение временной памяти....................................133
Примеры подпрограмм на Ассемблере для Турбо Паскаля...........135
Подпрограмма шестнадцатиричного преобразования общего
назначения...................................................135
Пример обмена содержимого двух переменных.....................138
Пример анализа операционной среды DOS.........................141
Часть 2. ПРИЛОЖЕНИЯ.............................................147
Приложение A. Замечания по программированию.....................148
Упрощенные директивы определения сегмента.....................148
Программы DOS.................................................150
Замечания по программам формата EXE...........................151
Замечания по программам формата COM...........................152
Программы Windows.............................................153
Замечания по динамически компонуемым библиотекам Windows......153
Замечания по прикладным программам Windows....................154
Приложение B. Обзор синтаксических правил Турбо Ассемблера......156
Лексическая грамматика........................................156
Грамматика выражений в режиме MASM............................158
Грамматика выражений в режиме Ideal...........................160
Турбо Ассемблер 3.0/tasm/#2-2 = 4 =
Старшинство ключевых слов.....................................162
Старшинство операций в режиме Ideal...........................162
Старшинство операций в режиме MASM............................162
Ключевые слова и предопределенные идентификаторы..............163
Ключевые слова директив.......................................163
Приложение C. Вопросы совместимости.............................168
Одно- и двухпроходные режимы ассемблирования..................169
Переменные операционной среды.................................170
Формат фирмы Microsoft для двоичных чисел с плавающей
точкой.......................................................170
Приложение D. Утилиты Турбо Ассемблера..........................171
Утилита-преобразователь H2ASH.................................171
Приложение E. Сообщения об ошибках..............................174
Информационные сообщения......................................174
Предупреждающие сообщения и сообщения об ошибках..............176
32-bit segment not allowed without .386.......................176
Argument needs type override..................................176
Argument to operation or instruction has illegal size.........177
Arithmetic overflow...........................................177
ASSUME must be segment register...............................177
Bad keyword in SEGMENT statement..............................177
Can't add relative quantities.................................177
Can't address with currently ASSUMEd segment registers........178
Can't convert to pointer......................................178
Can't emulate 8087 instruction................................178
Can't make variable public....................................179
Can't override ES segment.....................................179
Can't subtract dissimilar relative quantities.................179
Can't use macro name in expression............................179
Can't use this outside macro..................................179
 |
|
|
|
|
|