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




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


                     Выбор основания по умолчанию
-----------------------------------------------------------------

     Чаще всего вы,  вероятно, захотите использовать по умолчанию
десятичные  значения,  просто  потому,  что это наиболее знакомое
представление.  Однако, иногда удобно использовать числа без суф-
фиксов,  в которых по умолчанию используется другое основание.  В
этом случае необходима директива .RADIX.

     Директива .RADIX выбирает основание,  которое будет по умол-
чанию использоваться для спецификации чисел. Например, директива:

        .RADIX 16

в качестве  используемого  по  умолчанию  выбирает  основание  16
(шестнадцатиричное). Действие директивы .RADIX показано в следую-
щем фрагменте программы:

        .
        .
        .
        .RADIX 16               ; выбрать в качестве используемо-
                                ; го по умолчанию основание 16
        mov     ax,100          ; =100h или 256 в десятичном
                                ; виде
        .RADIX 10               ; выбрать в качестве используемо-
                                ; го по умолчанию основание 10
        sub     ax,100          ; -100 в десятичном виде,
                                ; результат равен 256-100=156
                                ; в десятичном виде
        .RADIX 2                ; выбрать по умолчанию основание
                                ; 2 (двоичное)
        add     ax,100          ; +100b (4 в десятичном виде)
                                ; результат = 156+4=160 (дес.)
        .
        .
        .

     С помощью директивы .RADIX можно выбрать основание 2,  8, 10
или 16.  Операнд директивы .RADIX всегда указывается в десятичном
виде,  независимо от того,  какое основание выбрано по умолчанию.
Другими словами одна директива .RADIX не влияет на операнд следу-
ющей директивы .RADIX.

     При использовании директивы .RADIX может возникнуть потенци-
альная проблема.  Независимо от выбранного по умолчанию основания
системы счисления подразумевается, что значения, задаваемые в ди-
рективах DD, DQ или DT - это десятичные значения (если не исполь-
зуется суффикс). Это значит, что в директиве:

        .
        .
        .
        .RADIX 16
        DD      1E7
        .
        .
        .

1E будет равно 1 * 10 в седьмой степени, а не 1Eh. Фактически, на
практике  всегда лучше указывать во всех шестнадцатиричных значе-
ниях суффикс h (даже после директивы .RADIX 16). Почему? Вспомни-
те  о том,  что b и d допускается использовать в качестве суффик-
сов, что определяет соответственно двоичное  и  шестнадцатиричное
представление.  К  сожалению,  b и d могут также использоваться в
качестве шестнадцатиричных цифр.  Если действует директива .RADIX
16, как Турбо Ассемблер будет воспринимать числа 129D и 101B?

     В этом  случае  Турбо  Ассемблер всегда обращает внимание на
допустимые суффиксы,  поэтому 129D - это 129 в десятичном виде, а
101B - это 101 в двоичном виде (или 5 в десятичном).  Это означа-
ет, что даже при действии директивы .RADIX 16 все шестнадцатирич-
ные числа, заканчивающиеся на b и d, должны иметь суффикс h. Учи-
тывая  это,  проще  всего  указывать   этот   суффикс   во   всех
шестнадцатиричных  числах.  Отсюда ясно,  что пользы от директивы
.RADIX 16 мало.



                       Инициализированные данные
-----------------------------------------------------------------

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

     Директивы определения данных DS,  DW,  DD,  DF,  DP, DQ и DT
позволяют вам определить переменные в памяти  различного размера:

        DW      1 байт
        DW      2 байта = 1 слово
        DD      4 байта = 1 двойное слово
        DF, DP  6 байт  = 1 указатель дальнего типа (386)
        DQ      8 байт  = одно четверное слово
        DT      10 байт






Например: . . . .DATA ByteVar DB 'Z' ; 1 байт WordVar DW 101b ; 2 байта (1 слово) DwordVar DD 2BFh ; 4 байта (1 двойное слово) QWordVar DQ 307o ; 8 байт (1 четверное слово) TWordVar DT 100 ; 10 байт . . . mov ah,2 ; функция DOS вывода на ; дисплей mov dl,[ByteVar] ; символ, который нужно ; вывести на экран int 21h . . . add ax,[WordVar] . . . add WORD PTR [DwordVar],ax adc WORD PTR [DwordVar+2],dx . . . Здесь определяются и используются пять переменных памяти и показывается, как некоторые из таких переменных можно использо- вать. Инициализация массивов ----------------------------------------------------------------- В одной директиве определения данных может указываться нес- колько значений. Например, директива: SampleArray DW 0, 1, 2, 3, 4 создает массив из пяти элементов с именем SampleArray, элементы которого имеют размер в слово (см. Рис. 5.7). В директивах опре- деления данных можно использовать любое число значений, умещающе- еся на строке. . . . . | | |-----------| | ? | SampleArray -------------> |-----------| | 0 | |-----------| | 1 | |-----------| | 2 | |-----------| | 3 | |-----------| | 4 | |-----------| | ? | |-----------| | | . . . . Рис. 5.7 Пример массива из пяти элементов. Как быть в том случае, если вы хотите определить массив, ко- торый слишком велик и не может уместиться на одной строке? Для этого просто нужно добавить несколько строк. Метку в директиве определения данных указывать необязательно. Например, по директи- вам: . . . SquareArray DD 0, 1, 4, 9, 16 DD 25, 36, 49, 64, 81 DD 100, 121, 144, 169, 196 . . . создается массив элементов размером в двойное слово с именем SquareArray, состоящий из квадратов первых 15 целых чисел. Турбо Ассемблер позволяет вам определить блок памяти, иници- ализированный указанным значением, с помощью операции DUP. Напри- мер: BlankArray DW 100h DUP (0) Здесь создается массив BlankArray, состоящий из 255 (десят.) слов, инициализированных значением 0. Аналогично, директива:


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