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




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

 19                   10011              23               13
 20                   10100              24               14
 21                   10101              25               15
 22                   10110              26               16
 23                   10111              27               17
 24                   11000              30               18
 25                   11001              31               19
 26                   11010              32               1A
 .                       .               .                .
 .                       .               .                .
256              1000000000             400              100
 .                       .               .                .
 .                       .               .                .
4096          1000000000000           10000             1000
 .                       .               .                .
 .                       .               .                .
65536      1000000000000000          200000            10000
-----------------------------------------------------------------

     Например, перепишем последнюю инструкцию с операндами в дво-
ичном представлении:

             mov    cx,1100100b     ; установить счетчик в
                                    ; значение 100

     Двоичные значения размером в слово и двойное слово еще труд-
нее читать и использовать.

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

     Два из этих представлений, восьмеричное и шестнадцатиричное,
не только хорошо соответствуют двоичной природе компьютера,  но и
довольно компактны.

     В восьмеричном представлении, или представлении с основанием
8,  используются цифры от 0 до 7 (3 бита на цифру).  На Рис.  5.5
показано,  каким образом биты двоичного значения 001100100b можно
объединить  в  группы по три бита,  чтобы образовать восьмеричное
значение 144o.

  Двоичное     001       100       100
             |     |   |     |   |     |
             -------   -------   -------
                |         |         |
                --------- | ---------
                        | | |
                        v v v
  Восьмиричное          1 4 4

     Рис. 5.5  Преобразование двоичного значения 001100100 (деся-
тичное 100) в восьмеричное значение 144.

     В итоге можно видеть,  что восьмеричное число  втрое  короче
его  двоичного эквивалента.  В восьмеричном виде последний пример
принимает вид:

             mov    cx,144o  ; установить счетчик в значение 100

     Заметим, что суффикс o  указывает  на  восьмеричную  запись.
Можно также использовать суффикс q, который не так просто спутать
с нулем.  Однако программисты, работающие на IBM PC, почти всегда
используют  шестнадцатиричное (с основанием 16) представление,  а
не восьмеричное.

     Каждая шестнадцатиричная цифра может принимать  одно  из  16
значений. Перечислим их в шестнадцатиричном представлении:

        0 1 2 3 4 5 6 7 8  9 A B C D E F 10 ...

     После цифры 9 следуют шесть дополнительных шестнадцатиричных
цифр A - F. (Можно также использовать строчные буквы a - f.) Хотя
использование  букв в качестве цифр может показаться странным,  у
вас не выбора,  так как вам нужно 16 цифр,  а обычных цифр только
10. На Рис. 5.6 показано, как можно разбить на группы биты двоич-
ного числа 01100100b (100 в десятичном  виде),  чтобы  образовать
шестнадцатиричное значение 64h.

  Двоичное     0110           0100
             |      |       |      |
             --------       --------
                |                 |
                --------- ---------
                        | |
                        v v
  Шестнадцатиричное     6 4

     Рис. 5.6 Преобразование двоичного значения 001100100  (деся-
тичное 100) в шестнадцатиричное значение 64.

     Как показано на Рис. 4.6, в шестнадцатиричном  представлении
значения  имеют  вид "4 бита на цифру". В итоге шестнадцатиричные
значения имеет длину, равную только 1/4 длины их двоичных эквива-
лентов.  Фактически,  смещение  другого значения размером в слово
можно выразить с помощью четырех шестнадцатиричных цифр. В  шест-





надцатиричном виде последний пример принимает вид: mov cx,64h ; установить счетчик в значение 100 Шестнадцатиричные числа обозначаются суффиксом h. Кроме то- го, шестнадцатиричные числа должны начинаться с одной из цифр 0-9, так как шестнадцатиричное число типа BAD4h может ошибочно интерпретироваться, как метка. Приведем пример, к котором исполь- зуется как число 0BAD4h, так и метка BAD4h: . . . .DATA BAD4h DW 0 ; метка BAD4h . . . .CODE mov ax,0BAD4h ; загрузить в AX ; шестнадцатиричную ; константу (первый 0 ; показывает, что это ; константа . . . mov ax,BAD4h ; загрузить AX из ; переменной в памяти ; BAD4h (отсутствие ; 0 в качестве первого ; символа показывает, ; что это метка . . . В общем случае постоянным числовым значением может быть только операнд, начинающийся с цифр 0-9. Числа с плавающей точкой могут обозначаться двумя способами. Во-первых, вы можете задавать значение с плавающей точкой в виде "мантисса/экспонента", например: 1.1 -12.45 1.0E12 252.123E-6 Турбо Ассемблер преобразует форму "мантисса/экспонента" в двоичный вид, при котором соблюдается формат с плавающей точкой. Если хотите, вы можете задавать значения с плавающей точкой не- посредственно в формате IEEE или двоичном формате фирмы Microsoft, задав число в шестнадцатиричном виде и поместив к кон- це его суффикс r. Вещественные числа могут использоваться только в директивах DD, DQ и DT (которые мы обсудим позднее). Если вы выберите ис- пользование суффикса r, то вы должны точно определить максималь- ное число шестнадцатиричных цифр для инициализируемого типа дан- ных (плюс предшествующий ноль, если это необходимо). Например: DD 40000000r ; 2.0 (длина в точности равна 8) DD 0C014CCCCCCCCCCCr ; -5.2 (длина 16, плюс предшест- ; вующий ноль) DT 4037D529AE9E86000000r ; 1.2E17 (ровно 20 бит) В общем случае значительно проще использовать форму "мантис- са/экспонента". Чтобы показать, что число является десятичным, в качестве суффикса можно использовать букву d. Зачем же нужен этот суффикс, если по умолчанию Турбо Ассемблер и так предполагает, что все числа являются десятичными? Как вы можете догадаться, ответ сос- тоит в том, что числа кроме десятичного могут иметь и другие представления. Для этого служит директива .RADIX, о которой мы потом кратко расскажем. Наконец, могут использоваться символьные константы, при этом символы заключаются в одиночные или двойные кавычки. Значением символа является его значение кода ASCII. Например, все следующие строки загружаются в регистр AL символ A: mov al,65 mov al,41h mov al,'A' mov al,"A" Где можно использовать значения в различном описанном выше представлении? Двоичные, восьмиричные, десятичные и шестнадцати- ричные значения могут использоваться там же, где можно использо- вать константы, например: mov ax,1001b add cx,5bh sub [Count],177o and al,1 mov al,'A' Значения с плавающей точкой могут использоваться только в директивах DD, DQ и DT. Двоично-десятичные значения (BCD) можно использовать только в в директиве DT.


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