BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Турбо Ассемблер 3.0/tasm/#1-2
Автор ""
Размер 469003 Байт
Страница 36 из 51
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

     і               і                                               і
     і    EXECREAD   і Сегмент доступен только для чтения и выполне- і
     і               і ния.                                          і
     і               і                                               і
     і    READONLY   і Сегмент доступен только для чтения.           і
     і               і                                               і
     і    READWRITE  і Сегмент доступен только для чтения и записи.  і
     АДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

          Если вы  выбираете  один  из  этих атрибутов или используете
     USE32, компоновщик Phar Lap предполагает,  что сегмент предназна-
     чен для выполнения в защищенном режиме.  Если вы выбираете USE32,
     но не задаете одно из этих значений, Турбо Ассемблер предполагает
     использование атрибута READONLY.

                           Директива ENDS
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          Вы можете использовать директиву ENDS для закрытия сегмента,
     после чего  данные  в него больше включаться не будут.  Директиву
     ENDS следует использовать для закрытия любого сегмента, открытого
     по директиве SEGMENT. Сегменты, открытые с помощью упрощенных ди-
     ректив определения сегментов, не требуют директивы ENDS.

          Директива ENDS имеет следующий синтаксис:

          ENDS [имя]

          В режиме MASM вы можете использовать следующий синтаксис:

          имя ENDS

     где "имя" задает имя сегмента,  который должен быть закрыт.  Если

     Турбо Ассемблер 3.0/tasm/#1-2                             = 146 =

     имя не  согласуется  с именем текущего открытого сегмента,  Турбо
     Ассемблер будет выводить сообщение об ошибке. Если имя не задает-
     ся, Турбо Ассемблер подразумевает текущий сегмент.

                           Директива GROUP
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          Директива GROUP может использоваться для  присваивания  сег-
     ментов группам.  Группы позволяют вам для доступа ко всем сегмен-
     там группы задавать один сегмент.

          В режиме Ideal директива GROUP имеет следующий синтаксис:

          GROUP имя имя_сегмента [, имя_сегмента...]

          В режиме MASM вы можете использовать следующий синтаксис:

          имя GROUP имя_сегмента [, имя_сегмента...]

     где "имя" представляет собой имя группы,  а "имя_сегмента" -  это
     имя сегмента, которое вы хотите присвоить группе.

                           Директива ASSUME
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          Если вы хотите получить доступ к данным сегмента, сегментный
     регистр должен  загружаться корректным значением сегмента.  Часто
     это нужно делать вам самим.  Например,  для загрузки в регистр DS
     адреса текущего сегмента данных дальнего типа вы можете использо-
     вать команды:

          MOV   AX,@fardata
          MOV   DS,AX

          Когда программа загружает в сегментный регистр значение сег-
     мента, вы можете использовать этот сегментный регистр для доступа
     к данным в сегменте. Это быстро утомляет, и вы начинаете забывать
     каждый раз при обработке данных в памяти задавать сегментный  ре-
     гистр (или у вас недостаточно практики в программировании).

          Чтобы указать Турбо Ассемблеру, что нужно связать сегментный
     регистр с  именем  сегмента  или  группы,  используйте  директиву
     ASSUME. Это  позволяет Турбо Ассемблеру быть "достаточно проница-
     тельным" и использовать при доступе к данным конкретный сегмент.

          Фактически, Турбо Ассемблер использует  также  информацию  о
     связи между  сегментным  регистром  и именем сегмента также и для
     других целей: в режиме MASM значение, которое подразумевается для
     регистра CS, используется для определения сегмента или группы,  к
     которому принадлежит метка. Таким образом, регистр CS должен кор-
     ректно задаваться  в  директиве ASSUME,  в противном случае Турбо
     Ассемблер при каждом определении метки или процедуры будет  сооб-
     щать об ошибке.

     Турбо Ассемблер 3.0/tasm/#1-2                             = 147 =


          Директива ASSUME имеет следующий синтаксис:

          ASSUME сегм_регистр : выражение [, сегм_регистр : выражение]






или ASSUME nothing где "сегм_регистр" - это один из регистров CS, DS, ES или SS. Ес- ли вы задаете процессор 80386 или 80486, то можете использовать регистры FS и GS. "Выражение" может быть любым выражением, при вычислении которого получается имя сегмента или группы. В против- ном случае может использоваться ключевое слово NOTHING. Это клю- чевое слово отменяет связь между сегментным регистром и любым сегментом или именем группы. Директива ASSUME NOTHING отменяет связь между всеми сегмент- ными регистрами и сегментом или именем группы. Вы можете использовать директиву ASSUME при модификации сег- ментного регистра или в начале процедуры для задания в этой точке предположений о сегментных регистрах. На практике ASSUME исполь- зуется обычно в начале модуля и иногда внутри него. Если вы ис- пользуете оператор MODEL, то Турбо Ассемблер назначает директиву ASSUME по умолчанию. Если вы не задаете в директиве ASSUME значение, то ранее за- данное в ней значение не изменяется. Например, в следующем фрагменте программы показано, как мож- но загрузить текущий инициализированный сегмент данных дальнего типа в регистр DS, обратиться через этот регистр к памяти и восс- тановить регистр DS в значение сегмента данных: MOV AX,@fardata MOV DS,AX ASSUME DS:@fardata: MOV BX,<переменная_данных_дальнего_типа> MOV AX,@data MOV DS,AX ASSUME DS:@data Переопределение сегмента ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Компоновщик организует и упорядочивает все сегменты, опреде- ленные в модулях программы. В общем случае компоновщих начинает размещение сегментов в том порядке, в котором они встречаются в модулях программы. С помощью такого механизма, как комбинирование сегментов и назначение сегментам классов вы можете изменять этот порядок. Существуют также другие способы повлиять на порядок сегмен- Турбо Ассемблер 3.0/tasm/#1-2 = 148 = тов в конечной программе. Например, можно изменить тот порядок, в котором сегменты встречаются в исходном модуле. Существуют также директивы, влияющие на порядок сегментов. Ниже следует их описа- ние. Турбо Ассемблер 3.0/tasm/#1-2 = 149 = Изменение упорядочивания сегментов в модуле ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Порядок сегментов в каждом модуле определяет начальное раз- мещение сегментов в программе компоновщиком. В MASM 1.0 и 2.0 сегменты передавались компоновщику в алфавитном порядке. В Турбо Ассемблере предусмотрены директивы (только в режиме MASM), кото- рые позволяют воспроизвести это поведение. Заметим, что данные директивы действуют так же, как парамет- ры командной строки /A и /S. Директива .ALPHA ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Директива .ALPHA определяет упорядочивание сегментов по ал- фавиту. Данная директива сообщает Турбо Ассемблеру, что сегменты в объектном файле нужно разместить в алфавитном порядке (в соот- ветствии с именами сегментов). Она имеет синтаксис: .ALPHA Директива .SEQ ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Директива .SEQ определяет последовательное упорядочивание сегментов и сообщает Турбо Ассемблеру, что сегменты нужно поме- щать в объектный файл в том порядке, в котором они встречаются в исходном файле. Поскольку это поведение предполагается Турбо Ас- семблером по умолчанию, директиву .SEQ используют обычно только для переопределения предыдущей директивы .ALPHA. Данная директива имеет следующий синтаксис: .SEQ Директива DOSSEG: упорядочивание сегментов в порядке DOS ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Обычно компоновщик упорядочивает сегменты в последовательном порядке - в том порядке, в котором он их обрабатывает при генера- ции программы. Если вы включаете в любой модуль программу дирек- тиву DOSSEG, то это указывает компоновщику, что вместо этого упорядочивания нужно использовать порядок сегментов, принятый в


Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.