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




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

                mov   dx,1000
                out   dx,al
                .
                .
                .

     Другие уникальные качества регистра DX относятся к операциям
деления и умножения. Когда вы делите 32- или 16-битовый делитель,
старшие 16  бит делимого должны быть помещены в регистр DX. После
выполнения деления остаток также сохраняется в  DX.  (Младшие  16
бит делимого должны быть помещены в AX.  Частное от деления также
будет записано в  AX.)  Аналогично,  когда  вы  перемножаете  два
16-битовых сомножителя, старшие 16 бит произведения сохраняются в
DX (младшие 16 бит записываются в регистр AX).

     Как и регистры AX, BX  и DX, регистр DX можно  интерпретиро-
вать, как два 8-разрядных регистра - DH и DL.


                              Регистр SI
-----------------------------------------------------------------

     Как и регистр BX, регистр SI может использоваться, как  ука-
затель на ячейку памяти. Например:

                .
                .
                .
                mov   ax,0
                mov   ds,ax
                mov   si,20
                mov   al,[si]
                .
                .
                .

     Здесь 8-битовое значение, содержащееся по адресу 20, записы-
вается в регистр AL. Особенно полезно использовать регистр SI для
ссылки на память в строковых инструкциях процессора 8086.  Напри-
мер:

                .
                .
                .
                mov   ax,0
                mov   ds,ax
                mov   si,20
                mov   al,[si]
                lodsb
                .
                .
                .

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


                              Регистр DI
-----------------------------------------------------------------

     Регистр DI очень похож на регистр SI в том  плане,  что  его
можно  использовать  в  качестве указателя ячейки памяти. При ис-
пользовании его в строковых инструкциях  он  имеет  также  особые
свойства. Например:

                .
                .
                .
                mov   ax,0
                mov   ds,ax
                mov   di,1024
                add   bl,[di]
                lodsb
                .
                .
                .

     Здесь 8-битовое значение, расположенное по адресу 1024,  за-
писывается  в регистр BL. при использовании его в строковых инст-
рукциях регистр DI несколько отличается от регистра SI. В то вре-
мя как SI всегда используется в строковый инструкциях, как указа-
тель на исходную ячейку памяти (источник), DI всегда служит  ука-
зателем  на целевую ячейку памяти (приемник). Кроме того, в стро-
ковых инструкциях регистр SI обычно адресуется к  памяти  относи-
тельно сегментного  регистра  DS,  тогда  как DI всегда адресует-
ся к памяти относительно сегментного регистра ES. (Когда регистры
SI  и  DI  используются  в качестве указателей на ячейки памяти в
других инструкциях (не строковых), то они всегда адресуются к па-
мяти относительно регистра DS.) Например:

                .





. . cld mov dx,0 mov es,dx mov di,2048 stosb . . . Строковая инструкция STOSB используется здесь и для сохра- нения значения в регистре AL (по адресу памяти, на который указы- вает регистр DI), и для добавления к содержимому регистра DI 1. Однако мы несколько забежали здесь вперед: перед изучением стро- ковых инструкций нам нужно сперва узнать о сегментах и сегментных регистрах. Строковые инструкции мы более детально обсудим в далее в данном руководстве. Регистр BP ----------------------------------------------------------------- Как и регистры BX, SI и DI, регистр BP также может использо- ваться в качестве указателя на ячейку памяти, но здесь есть неко- торые отличия. Регистры BX, SI и DI обычно ссылаются на память относительно сегментного регистра DS (или, в случае использования в строковых инструкциях регистра DI, относительно сегментного ре- гистра ES), а регистр BP адресуется к памяти относительно регист- ра SS (сегментный регистр стека). Здесь мы снова забегаем несколько вперед, поскольку сегменты мы еще не рассматривали, но принцип именно таков. Один из полез- ных способов передачи параметров в подпрограмму состоит в занесе- нии параметров в стек. Так делается в языках Паскаль и Си (см. главу "Интерфейс Турбо Ассемблера с Турбо Си", где поясняется, как и почему в языке Си для передачи параметров используется стек). Стек находится в сегменте, на который указывает регистр SS. Например: . . . push bp mov bp,sp mov ax,[bp+4] . . . Здесь выполняется обращение к сегменту стека для загрузки в AX первого параметра, передаваемого при вызове Турбо Си подпрог- раммы на Ассемблере. Если говорить кратко, то регистр BP создан для обеспечения работы с параметрами, локальными переменными другой адресации к памяти с использованием стека. Регистр SP ----------------------------------------------------------------- Регистр SP называется также указателем стека. Это "наименее общий" из регистров общего назначения, поскольку он практически всегда используется для специальной цели - обеспечения стека. Стек - это область памяти, в которой можно сохранять значения и из которой они могут затем извлекаться по дисциплине "послед- ний-пришел-первый-ушел" (FIFO). То есть последнее сохраненное в стеке значение будет первым значением, которое вы получите при чтении из стека. Классической аналогией стека является стопка та- релок. Поскольку тарелки можно класть столько сверху стопки (и брать также), то первая положенная тарелка будет последней, кото- рую вы сможете взять. Регистр SP в каждый момент времени указывает на вершину сте- ка. Как и в случае стопки тарелок, вершина стека - это то место, в котором в стеке сохраняется следующее помещенное туда значение. Действие, состоящее в занесении значений в стек, называют также "заталкиванием" (pushing) в стек. В самом деле, инструкция PUSH используется для занесения значений в стек. Аналогично, действие, состоящее в извлечении (выборке) значений из стека, называют так- же "выталкиванием" (popping) из стека (для этого используется инструкция POP). На Рис. 4.6 показывается, как изменяются регистры SP, AX и BP по мере выполнения следующего кода (при этом подразумевается, что начальное значение SP равно 1000): . . . mov ax,1 push ax mov bx,2 push bx pop ax pop bx . . .


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