adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
Примечание: Данная директива работает только в режиме
Ideal.
Турбо Ассемблер обычно использует в качестве имени модуля
имя исходного файла с дисководом, каталогом и расширением. Если
вы хотите изменить это используемое по умолчанию имя, укажите ди-
рективу NAME. Новым именем модуля будет имя "имя_модуля", напри-
мер:
NAME loader
Директива END
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Используйте директиву END, чтобы отметить конец исходного
файла. При этом используется следующий синтаксис:
END начальный_адрес:
Турбо Ассемблер 3.0/tasm/#1-2 = 70 =
где "начальный_адрес" - это необязательный идентификатор или вы-
ражение, определяющий адрес в программе, с которого вы хотите на-
чать выполнение. Если ваша программа скомпонована из нескольких
исходных файлов, начальный адрес может задаваться только в одном
из них. Этот адрес может представлять собой адрес в модуле. Он
может быть также внешним идентификатором, определенным в другом
модуле, описанном по директиве EXTRN.
Любой текст, указанный в исходном файле после директивы END,
Турбо Ассемблер игнорирует.
Пример:
.MODEL small
.CODE
; тело программы
END START ; точка входа программы "START"
THIS LINE IS IGNORED ; эта строка игнорируется
SO IS THIS ONE ; эта строка тоже
Вывод сообщения в процессе ассемблирования
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Турбо Ассемблер обеспечивает две директивы, которые позволя-
ют вам выводить строку на консоль в процессе ассемблирования:
DISPLAY и %OUT. Вы можете использовать эти директивы для сообще-
ний о ходе ассемблирования, о том, чтобы знать, насколько продви-
нулся процесс ассемблирования, или чтобы определить, что достиг-
нута определенная часть кода.
Эти две директивы практически представляют собой одно и то
же, но директива DISPLAY выводит на экран строку, заключенную в
кавычки, а %OUT - без кавычек.
В режимах Ideal и MASM директива DISPLAY имеет следующий
синтаксис:
DISPLAY "текст"
где "текст" - любое сообщение, которое вы хотите вывести на эк-
ран. Заметим, что для вывода информации вместо экрана в файл вы
можете использовать средство изменения направления вывода DOS.
Директива %OUT в режимах Ideal и MASM имеет следующий син-
таксис:
%OUT текст
где "текст" также представляет то, что вы хотите вывести.
Вывод предупреждающих сообщений
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Турбо Ассемблер предоставляет вам выбирать предупреждающие
Турбо Ассемблер 3.0/tasm/#1-2 = 71 =
сообщения (если они имеются), которые будут выводиться в опреде-
ленных частях кода. Каждое предупреждающее сообщение содержит
трехбуквенный идентификатор, который вы можете заранее задать,
чтобы Турбо Ассемблер знал, хотите или нет вы просматривать пре-
дупреждающие сообщения этого класса. Для разрешения предупрежда-
ющих сообщений вы можете использовать директиву WARN, а для их
запрещения - NOWARN.
Синтаксис директивы WARN следующий:
WARN [класс_предупреждений]
где "класс_предупреждений" - это трехбуквенный идентификатор, за-
дающий конкретный тип сообщения. Допускается использовать следую-
щие классы предупреждений:
ALN Выравнивание сегмента
BRK Требуются скобки
ICG Неэффективная генерация кода
LCO Переполнение счетчика инструкций
OPI Открытие условного IF
OPP Открыть процедуру
OPS Открытие сегмента
OVF Арифметическое переполнение
PDC Конструкция, зависящая от прохода
PRO Запись в память в защищенном режиме с исполь-
зованием регистра CS
PQK Предположение об использовании констант для
[константа] предупреждение.
RES Предупреждение о зарезервированном слове.
TPI Недопустимое предупреждение Турбо Паскаля.
Заметим, что те же идентификаторы используются в параметре
командной строки /W.
Приведем пример использования директивы WARN:
WARN OVF ; разрешается предупреждение о переполнении
DW 1000-h * 123h ; выводится предупреждение о переполнении
Примечание: Директива WARN без класса предупреждений
разрешает все предупреждения. Директива WARN с идентифика-
тором разрешает только указанные предупреждения.
Для запрещения конкретного класса предупреждающих сообщений
(или их всех) используйте директиву NOWARN. Эта директива исполь-
зует те же идентификаторы, что и описанные выше для директивы
WARN. Приведем примеры использования директивы NOWARN:
NOWARN OVF ; запрещается предупреждение о переполнении
DW 1000-h * 123h ; не выводится предупреждение о
; переполнении
Турбо Ассемблер 3.0/tasm/#1-2 = 72 =
Вывод нескольких сообщений об ошибках
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
По умолчанию Турбо Ассемблер допускает вывод для каждой
строки исходного кода только одного сообщения об ошибке. Если
строка исходного кода содержит несколько ошибок, то Турбо Ассемб-
лер сообщает сначала о наиболее существенной из них. С помощью
директив MULTERRS и NOMUTERRS вы можете управлять числом сообще-
ний об ошибках, получаемых для каждой строки исходного кода.
Директива MULTERRS позволяет Ассемблеру сообщать для каждой
строки исходного кода о более чем одно ошибке. Иногда это полезно
использовать для обнаружения трудноуловимой ошибки, или когда ис-
ходная строка содержит более одной ошибки.
Заметим, что иногда дополнительные сообщения об ошибках мо-
гут вызвать "цепную реакцию", к которой приводит первая ошибка.
После исправления первой ошибки в этом случае исчезает вся "це-
почка" ошибок.
Приведем пример директивы MULTERRS:
MULTERRS
mov ax,[bp+abc ; порождает две ошибки:
; 1) неопределенный идентификатор
; abc
; 2) нужна правая квадратная
; скобка
Директива NOMULTERRS позволяет выводить для каждой строки
исходного кода только одно сообщение об ошибке или предупреждаю-
щее сообщение. Когда вы исправите эту ошибку, могут исчезнуть
также другие сообщения об ошибках. Однако если вы хотите опреде-
лить вывод сообщений о самых серьезных ошибках, нужно использо-
вать директиву MULTERRS, чтобы увидеть все сообщения об ошибках.
Приведем пример использования директивы NOMULTERRS:
NOMULTERRS
mov ax,[bp+abc ; порождает одну ошибку:
; 1) неопределенный идентификатор
; abc
Турбо Ассемблер 3.0/tasm/#1-2 = 73 =
Глава 4. Объектно-ориентированное программирование
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Объектно-ориентированное программирование - это подход к
разработке программного обеспечения, основанный на объектах, а не
на процедурах. Этот подход позволяет максимизировать принципы мо-
дульности и "сокрытия информации". Объектно-ориентированное прог-
раммирование базируется на связывании или инкапсуляции структур
данных и процедуры, которая работает с данными в структуре, с мо-
дулем.
Объектно-ориентированный принцип разработки дает много преи-
муществ. Например, каждый объект инкапсулирует его структуру дан-
ных с процедурой, используемой для работы с экземплярами структу-
ры данных. Это позволяет устранить в коде программы внутренние
зависимости, которые могут быстро привести к тому, что этот код
будет трудно обслуживать. Объекты могут также наследовать из по-
|
adfun.ru
|
|
|
|