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




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

     двух частей операнда.

              Занесение в стек константа (процессор 8086)
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          Хотя процессоры  80186б 80286 и 80386 среди основного набора
     инструкций  содержат инструкцию PUSH,  которая заносит в стек не-
     посредственное значение, в процессоре 8086 такой инструкции нет.

          Однако Турбо  Ассемблер  позволяет использовать в инструкции
     PUSH константы и в процессоре 8086.  При этом генерируется после-

     Турбо Ассемблер 3.0/tasm/#2-2                              = 14 =

     довательность инструкций,  имеющая  тот же результат,  что и инс-
     трукция PUSH c операндом-константой для процессора 80186 и выше.

                 Примечание: Это средство вы можете использовать толь-
            ко при разрешении генерации эффективного кода.

          Последовательность инструкций,  которую  Турбо Ассемблер ис-
     пользуется для выполнения операции PUSH с константой, имеет длину
     около 10 байт.  Они короче и выполняются быстрее,  чем выполнение
     той же функции,  но их выполнение связано с  потерей  содержимого
     регистра, например:

          MOV ax, constant
          PUSH ax

          Данная последовательность имеет длину только 6  байт,  но  в
     процессе этого теряется содержимое регистра AX.



     Турбо Ассемблер 3.0/tasm/#2-2                              = 15 =

                      Расширенные инструкции сдвига
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          При использовании процессор 8086 инструкции сдвига RCL, RCR,
     ROL, ROR,  SHL,  SHR,  SAL и SAR не могут воспринимать  константу
     циклического  сдвига,  отличную  от 1.  При работе на процессорах
     80186,  80286 и 80386 можно использовать  константу  циклического
     сдвига со значением до 255.

          Когда Турбо Ассемблер обнаруживает инструкцию сдвига со зна-
     чением константы, большим 1 (при выборе процессора 8086),он гене-
     рирует соответствующее число инструкций сдвига со значением конс-
     танты циклического сдвига 1. Например, инструкции:

          .8086
          SHL ax,4

     генерируют последовательность:

          SHL   ax,1
          SHL   ax,1
          SHL   ax,1
          SHL   ax,1

       Принудительное переопределение сегментов: инструкции SEGxx
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          В Турбо  Ассемблере  предусмотрены  6  инструкций,   которые
     приводят к генерации переопределений сегмента. Эти инструкции пе-
     речислены в следующей таблице:

                    Инструкции переопределения сегмента   Таблица 13.3
     ЪДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
     і    Инструкция і Значение                                      і
     ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
     і    SEGCS      і Генерирует префиксный байт переопределения CS.і
     і               і                                               і
     і    SEGSS      і Генерирует префиксный байт переопределения SS.і
     і               і                                               і
     і    SEGDS      і Генерирует префиксный байт переопределения DS.і
     і               і                                               і
     і    SEGES      і Генерирует префиксный байт переопределения ES.і
     і               і                                               і
     і    SEGFS      і Генерирует префиксный байт переопределения FS.і
     і               і                                               і
     і    SEGGS      і Генерирует префиксный байт переопределения GS.і
     АДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

          Вы можете  использовать  эти инструкции в сочетании с такими
     инструкциями, как XLATB,  которые не требуют аргументов, но могут
     использовать переопределение сегментов, например:

          SEGCS XLATB

     Турбо Ассемблер 3.0/tasm/#2-2                              = 16 =


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






XLAT BYTE cs:[bx] Приведенные два примера генерируют один и тот же код. Дополнительные инструкции работы с флагами ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Часто, чтобы улучшить эффективность и уменьшить размер кода, можно упростить инструкции работы с флагами. Например, если единственным желаемым результатом является установка конкретного бита в AX, а флаги процессора, на которые влияет данная инструк- ция, значение не имеют, инструкцию: OR ax,1000h можно упростить до инструкции: OR, ah,10h Турбо Ассемблер обеспечивает 4 дополнительных инструкции, которые обеспечивают эти функциональные возможности. Они показаны в следующей таблице: Эффективные инструкции работы с флагами Таблица 13.4 ЪДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і Инструкция і Функция іСоответствует инструкции і ГДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ і SETFLAG і Установка бит і OR і і і (бита) флага. і і і і і і і MASKFLAG і Размаскированиеі AND і і і бит (бита) і і і і флага. і і і і і і і TESTFLAG і Проверка бит і TEST і і і (бита) флага. і і і і і і і FLIPFLAG і Дополнение бит і XOR і і і (бита) флага. і і АДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ Эти инструкции можно использовать для улучшения модульности записей, например: FOO RECORD R0:1,R1:4,R2:3,R3:1 . . . Турбо Ассемблер 3.0/tasm/#2-2 = 17 = TESTFLAG AX,R0 В данном примере TESTFLAG будет генерировать наиболее эффек- тивные инструкции, независимо от того, где в записи находится R0. Дополнительные инструкции работы с битами полей ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Турбо Ассемблер может генерировать специальные последова- тельности инструкций для задания значений и извлечения значений из битовых полей, заданных с помощью оператора RECORD. Это позво- ляет вам писать код, независимый от фактического расположения по- ля в записи. При использовании их в сочетании с оператором ENUM, записи на языке ассемблера могут получить очень высокий уровень модульности. Список данных инструкций приведен в следующей табли- це: Инструкции для установки и извлечения значения Таблица 13.5 ЪДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і Инструкция і Функция і ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ і SETFIELD і Устанавливает значение поля записи. і і і і і GETFIELD і Извлекает значение из поля записи. і АДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ Инструкция SETFIELD ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Инструкция SETFIELD генерирует код, устанавливающий значение поля записи. Она имеет синтаксис: SETFIELD имя_поля регистр/память_приемник, регистр_источник где "имя_поля" - имя поля записи, "регистр/память_приемник" для SETFIELD представляет собой регистр или адрес в памяти типа BYTE или WORD (DWORD для процессора 80386). "Регистр_источник" должен быть регистром того же или меньшего размера. Если источник мень- ше, чем приемник, то регистр-источник должен быть младшей частью другого регистра, имеющего тот же размер, что и приемник. Этот полный регистр называется рабочим регистром. Используйте данный регистр для сдвига значения в регистре-источнике, благодаря чему оно выравнивается по приемнику. Например: FOO RECORD R0:1,R1:4,R2:3,R3:1 . . . SETFIELD F1 AX,BL ; рабочим регистром является BX SETFIELD F1 AX,BH ; недопустимо! SETFIELD сдвигает регистр-источник, чтобы эффективно выров-


Страницы : 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 52 53 54


adfun.ru









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

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

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

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