| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
і і і
і 3 і Разрешены инструкции процессора і
і і 80386. і
і і і
і 4 і Разрешены инструкции процессора і
і і i486. і
і і і
і 7 і Разрешены привилегированные і
і і инструкции процессоров (80286, і
і і 386, 486). і
і і і
і 8 і Разрешены инструкции математи- і
і і ческого сопроцессора 8087. і
і і і
і і і
і 10 і Разрешены инструкции математи- і
і і ческого сопроцессора 80287. і
і і і
і 11 і Разрешены инструкции математи- і
і і ческого сопроцессора 80387. і
АДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Не определенные здесь биты зарезервированы для будущего ис-
пользования. При использовании идентификатора @Cpu замаскируйте
их, это обеспечит совместимость вашей программы с будущими верси-
ями Турбо Ассемблера.
Так как семейство процессоров 8086 совместимо снизу-вверх,
то когда вы разрешаете тип процессора по директиве .286, автома-
тически разрешаются также младшие типы сопроцессоров (8086,
80186).
Турбо Ассемблер 3.0/tasm/#1-2 = 122 =
Это значение только предоставляет информацию о процессоре,
который вы выбрали на этапе ассемблирования с помощью .286 или
аналогичных директив. Тип процессора, на котором выполняется ваша
программа, не указывается.
Пример:
IPUSH = @Cpu AND 2 ; разрешает непосредственную
; инструкцию push процессора
; 186 и старше
IF IPUSH
PUSH 1234
ELSE
mov ax,1234
push ax
ENDIF
Турбо Ассемблер 3.0/tasm/#1-2 = 123 =
Идентификатор @WordSize
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Функция: Числовое значение, указывающее 16- или 32-разрядные
сегменты.
Примечания: @WordSize возвращает значение 2, если текущим
сегментом является 16-разрядный сегмент, и 4, если это 32-разряд-
ный сегмент.
Пример:
IF @WordSize EQ 4
mov esp,0100h
ELSE
mov sp,0100h
ENDIF
Директивы сопроцессора 8087
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Имеющиеся директивы задания сопроцессора перечислены в сле-
дующей таблице. Заметим, что директивы, начинающиеся с точки,
доступны только в режиме MASM.
Турбо Ассемблер 3.0/tasm/#1-2 = 124 =
Директивы сопроцессора 8087 Таблица 6.2
ЪДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Директива і Значение і
ГДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і .287 і Разрешает ассемблирование всех инструкций і
і і арифметического сопроцессора 80287. Исполь- і
і і зуйте данную директиву, если вы знаете, что і
і і вам не потребуется запускать программы на і
і і машине с сопроцессором 8087. Данная дирек- і
і і тива приводит к оптимизации инструкций. При і
і і этом они становятся несовместимыми с сопро- і
і і цессором 8087. Поэтому не используйте дан- і
і і ную директиву, если ваши программы должны і
і і работать на сопроцессоре 8087. і
і і і
і .387 і Разрешает ассемблирование всех инструкций і
і і арифметического сопроцессора 80387. Исполь- і
і і зуйте данную директиву, если вы знаете, что і
і і вам не потребуется запускать программы на і
і і машине с сопроцессором 8087. Данная дирек- і
і і тива приводит к оптимизации инструкций. При і
і і этом они становятся несовместимыми с сопро- і
і і цессором 8087. Поэтому не используйте дан- і
і і ную директиву, если ваши программы должны і
і і работать на сопроцессоре 8087. і
і і і
і .8087 і Разрешает ассемблирование инструкций ариф- і
і і метического сопроцессора и запрещает все і
і і инструкции, доступные для сопроцессоров і
і і 80287 и 80387. Этот режим инструкций сопро- і
і і цессора используется Турбо Ассемблером по і
і і умолчанию. і
і і і
і P287 і Разрешает ассемблирование инструкций ариф- і
і і метического сопроцессора 80287. і
і і і
і P387 і Разрешает ассемблирование инструкций ариф- і
і і метического сопроцессора 80287. і
і і і
і P8087 і Разрешает ассемблирование только инструк- і
і і ций арифметического сопроцессора 8087. В і
і і Турбо Ассемблере этот режим назначается по і
і і умолчанию. і
АДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Директивы эмуляции сопроцессора
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Если вам нужны реальные инструкции с плавающей точкой, то
нужно использовать сопроцессор 8087. Если у вас установлен пакет
программной эмуляции инструкций с плавающей точкой, то для его
использования можно указать директиву EMUL. (Директива EMUL рабо-
тает аналогично параметру /e).
Турбо Ассемблер 3.0/tasm/#1-2 = 125 =
Примечание: Директивы EMUL и NOEMUL работают как в ре-
жиме MASM, так и в режиме Ideal.
Например:
Finit ; реальные инструкции сопроцессора
; 8087
EMUL
Fsave BUF ; эмулируемая инструкция
При использовании сопроцессора 8087 вы можете либо эмулиро-
вать инструкции с плавающей точкой с помощью директивы EMUL, либо
принудительно использовать инструкции с плавающей точкой с по-
мощью директивы NOEMUL. Заметим, что вы можете использовать инс-
трукции EMUL и NOEMUL, когда хотите генерировать инструкции с
плавающей точкой для одной части файла и эмулируемые инструкции
для другой.
Приведем пример использования инструкции NOEMUL:
NOEMUL ; ассемблировать реальные инструкции
; с плавающей точкой
finit
EMUL ; вернуться к эмуляции
Турбо Ассемблер 3.0/tasm/#1-2 = 126 =
Глава 7. Использование моделей памяти программы и сегментации
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Каждый процессор семейства 80х86 имеет не менее 4 сегментных
регистров (CS, DS, ES и SS). Эти регистры содержат значение сег-
мента, которое описывает физический блок памяти объемом до 64К
(или до 4 гигабайт в процессоре 80386 и старше). Все адреса вы-
числяются с использованием в качестве базового значения одного из
сегментных регистров.
Смысл значения записанного в сегментном регистре бывает раз-
личным и зависит от используемого в процессоре режиме адресации -
реального (это единственный режим, который может использоваться в
процессорах 8086 и 80186), когда сегментное значение представляет
собой фактический номер параграфа, или защищенного режима, когда
сегментный регистр содержит селектор (не имеющий числового значе-
ния).
Операционная система или среда программы определяет, работа-
ет программа в реальном или защищенном режиме. Если вы используе-
те защищенный режим процессоров 80386 или 80486, то операционная
система определяет также, допустимы ли большие сегменты (до 4 ги-
габайт). Турбо Ассемблер в одинаковой степени поддерживает все
эти операционные среды.
В случае общей модели 80х86 программы состоят из одного или
более сегментов, где каждый сегмент представляет собой физически
различные части кода или данных (или код и данные), к которым
|
adfun.ru
|
|
|
|