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




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Справочник по системе программирования Турбо Ассемблер 2.0
Автор ""
Размер 416131 Байт
Страница 26 из 51
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

            sub   al,'A'
            sub   al,65
            .
            .
            .

     Постоянные значения можно задавать в двоичном,  восьмеричном
или  шестнадцатиричном  представлении, а также в десятичном виде.
Указанные формы представления чисел мы обсудим позднее в  разделе
"Биты, байты и основания".

     Операнды-константы никогда не могут при  использовании  двух
операндов  располагаться  слева,  так как невозможно использовать
константу в качестве операнда-приемника (это противоречит опреде-
лению  константы, как неизменяемой величины). Операнды-константы,
однако, могут прекрасно использоваться в  том  месте,  где  имеет
смысл  использование значения в качестве исходного операнда. Про-
цессор 8086 накладывает на использование констант некоторые огра-
ничения. Например, вы не можете занести значение-константу в стек
(это ограничение касается только  процессоров  8086/8088).  Чтобы
занести в стек значение 5, вы должны выполнить две инструкции:

     .
     .
     .
     mov   ax,5
     push  ax
     .
     .
     .

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


                               Выражения
-----------------------------------------------------------------

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

     Например, во фрагменте программы:

          .
          .
          .
  MemVar  DB   0
  NextVar DB   ?
          .
          .
          .
          mov   ax,SEG MemVar
          mov   ds,ax
          mov   bx,OFFSET MemVar + (3*2) - 5)
          mov   BYTE PTR [bx],1
          .
          .
          .

операция SEG используется для загрузки постоянного значения  сег-
мента, в котором находится MemVar,  и копирования этого  значения
из регистра AX в DS.  Далее в этой программе используется сложное
выражение,  включающее в себя операции *,  +, - и OFFSET, при вы-
числении  которого  получается значение OFFSET MemVar+1,  которое
представляет собой ни что иное,  как адрес NextVar.  Наконец, для
выбора  байтовой операции при сохранении константы 1 в ячейке, на
которую указывает регистр BX (что  представляет  собой  NextVar),
используется операция BYTE PTR.

     Относительно выражений стоит сделать важное  замечание:  при
вычислении  всех  выражений должно получаться значение-константа.
OFFSET MemVar - это значение-константа, представляющее собой сме-
щение переменной MemVar в ее сегменте. Кроме того, в то время как
сохраненное в  переменной MemVar значение может изменяться,  сама
переменная MemVar, конечно, никуда не перемещается.

     Так как значения-константы точно известны,  Турбо  Ассемблер
может  вычислять  состоящие  из постоянных значений выражения так
же, как он ассемблирует ваш исходный код.  Для  Турбо  Ассемблера
выражение  OFFSET  MemVar + 2 совершенно аналогично выражению 5 +
2. Поскольку все элементы выражения неизменяемы и  определены  во
время ассемблирования,  выражение  можно  свести  к одному значе-
нию-константе.

     В выражениях могут использоваться следующие операции:

     <>, (), LENGTH, MASK, SIZE, WIDTH
     . (селектор элемента структуры)
     HIGH, LOW
     : (переопределение сегмента)





OFFSET, PTR, SEG, THIS, TYPE *, /, MOD, SHL, SHR +, - (бинарные) EQ, GE, GT, LE, LT, NE NOT AND OR, XOR LARGE, SHORT, SMALL, .TYPE Названия и обозначения некоторых операций говорят сами за себя. Эти операции выполняют в арифметических выражениях именно те действия, для которых они предназначены. Операции мы поясним в этой главе позднее, когда до них дойдет дело. Кроме того, ответы на вопросы, касающиеся отдельных операций, можно найти в Главе 2 "Справочного руководства". Операнды-метки ----------------------------------------------------------------- Во многих инструкциях в качестве операндов можно использо- вать метки. При указании их в соответствующих операциях метки мо- гут использоваться для получения постоянных значений (констант). Например: . . . MemWord DW 1 . . . mov al,SIZE MemWord . . . Здесь значение 2 (размер в байтах переменной в памяти MemWord) помещается в AL. В данном контексте метка может стано- виться частью выражения, как уже показано в предыдущем разделе. Метки могут также использоваться в качестве целевых операн- дов в операциях CALL и JMP. Например, во фрагменте программы: . . . cmp ax,100 ja IsAbove100 . . . IsAbove100: . . . инструкция JA используется для перехода по адресу, заданному опе- рандом IsAbove100, если значение AX превышает 100. Здесь метка используется в качестве константы, задавая адрес перехода. Наконец, метки можно использовать в качестве операндов почти также, как используются регистры, то есть как операнд-источник или операнд-приемник в инструкциях работы с данными. Программа: . . . TampVar DW ? . . . mov [TempVar],ax sub ax,[TempVar] . . . обнуляет содержимое регистра AX, так как первая инструкция запи- сывает содержащееся в регистре AX значение в переменную памяти TempVar, затем вторая инструкция вычитает из AX сохраненное в TempVar значение. Использование меток в качестве операндов представляет собой отдельную тему при описании моделей памяти. Этого мы коснемся позднее. Режимы адресации к памяти ----------------------------------------------------------------- Как при использовании операнда в памяти задать ту ячейку па- мяти, с которой вы хотите работать? Очевидный ответ состоит в том, чтобы присвоить нужной переменной в памяти имя (как мы это делали в последнем разделе). С помощью, например, следующих опе- раторов вы можете вычесть переменную памяти Debts (долги) из пе- ременной памяти Assets (имущество): . . .


Страницы : 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
Форумы политика, лучшие анекдоты
знакомства.