SlideShare a Scribd company logo
1 of 42
Архитектура и програмирање
 микропроцесора Intel 8086
      Историјат развоја
      Модел процесора 8086
      Програмски модел
      Организација меморије
      Адресни начини рада
Историјат развоја
 1971. први микропроцесор уопште:
  четворобитни Intel 4004.
 Нешто касније и осмобитни процесор
  8008, а затим и осмобитни следбеници
  8080 (1973) и 8085 (1977).
 Први 16-битни микропроцесор уопште је
  Intel 8086 (1978).
 Током наредних 20-так година следила
  је серија све моћнијих микропроцесора,
  како     Intel-ових  тако   и   других
  произвођача.
Историјат развоја
 Intel је код свих процесора задржао
  компатибилност!
 Из тих разлога, проучавање процесора
  8086 је важно као родоначелника
  касније серије 80x86.
 Скуп инструкција овог процесора може
  се посматрати као подскуп скупа
  инструкција наредних генерација.
Модел процесора 8086

                            Једница за спрегу
     Извршна јединица
                              са магистралом
           (EU)
                                   (BIU)



                 Интерна магистрала података




    Сл. 1. Блок шема микропроцесора 8086.
Модел процесора 8086
   Микропроцесор 8086 организован је у
    две јединице (сл. 1):
       Извршна јединица (EU – Execution Unit).
       Једница за спрегу са магистралом (BIU – Bus
        Interface Unit).
Модел процесора 8086

      AH        AL
      BH        BL
      CH        CL
      DH        DL
           BP
           DI           ALU       маркери
           SI
           SP


                      Интерна магистрала података




                Сл. 2. Извршна јединица.
Модел процесора 8086
  Адресна Магистрала
 магистрала података



  Јединица за генерисање
    адреса и управљање
        магистралом

                           сабирач


                                                         6
                             CS                          5   ред чекања
                             ES         сегментни        4   инструкција
                             SS         регистри         3
                             DS                          2
                             IP                          1


                           Интерна магистрала података

        Сл. 3. Једниница за спрегу са магистралом.
Модел процесора 8086
 BIU   преко   адресне    магистрале   и
  магистрале података обезбеђује спрегу
  процесора са меморијским и У/И
  подсистемом а преко интерне маги-
  страле са функционалним јединицама
  процесора.
 EU прихвата кодове инструкција од BIU,
  извршава     инструкције    и   смешта
  резултате у интерне регистре. Преко BIU
  ови резултати могу се сместити у
  меморију или послтаи на излаз.
Модел процесора 8086
   У току рада између BIU и EU постоји
    преклапање у обављању њихових задатака.
   Активности ове две јединице могу се описати
    на следећи начин:
    1.   BIU поставља IP на адресну магистралу и прибавља
         реч/бајт из меморије.
    2.   IP се инкрементира (колико – то зависи од обима
         инструкције)
    3.   Инструкција прихваћена од стране BIU смешта се у
         ред чекања.
    4.   Ако је ред чекања био празан EU одмах добавља ту
         инструкцију и почиње да је извршава.
    5.   Док EU извршава инструкцију BIU прибавља
         наредну инструкцију. У зависности од времена
         извршења прве инструкције, BIU може да попуни
         ред чеклања са неколико нових инструкција пре
         него EU буде спремна на изврши наредну.
Модел процесора 8086
   Постоје 3 разлога која могу да уведу
    EU у стање чекања (wait mode):
       Инструкција захтева приступ меморијској
        локацији која није у реу чекања.
       Код инструкција типа jump ред чекања се
        празни и потом поново пуни инструкцијама
        почев од циљне адресе гранања.
       EU извршава “спору” инструкцију.
Програмски модел
 Програмски    модел    микропроцесора
  приказује типове интерних регистара
  доступних програмеру.
 При томе, показивач инструкција IP није
  доступан програмеру директно и у
  суштини је део BIU.
Програмски модел
   Скуп регистара видљивих програмеру:
       Осам 16-битних регистара: AX-DX, SP, BP, SI
        и DI. Прва четири могу се поделити на по
        два 8-битна регистра.
       Четири 16-битна сегментна регистра.
       16-битни показивач наредби.
       16-битни регистар стања.
Програмски модел
    AX    AH         AL    акумулатор
    BX    BH         BL    базни регистар
    CX    CH         CL    бројач
    DX    DH         DL    регистар података
                SP         показивач магацина
                BP         базни показивач
                SI         индекс извора
                DI         индекс одредишта
                CS         програмски сегмент
                DS         сегмент података
                SS         сегмент магацина
                ES         додатни сегмент

                IP         показивач наредби
    SR    SRH        SRL   регистар стања

  Сл. 4. Програмски модел микропроцесора 8086.
Програмски модел
бит позиција    15   14   13   12   11   10   9   8   7   6   5   4     3   2   1   0

 Регистар       X    X    X    X OF DF IF TF SF ZF X AF X PF X CF
 стања

                                SRH                                   SRL




               Сл. 5. Распоред маркера у регистру стања.
Програмски модел
  Бит
         Назив                          Функција
позиција
   0      CF     Маркер преноса (Carry Flag)
   2      PF     Маркер парности (Parity Flag) - сетује се ако нижи бајт
                 резултата има паран број јединица
   4      AF     Поставља се ако постоји пренос или позајмица од
                 ниже тетраде AL регистра
   6      ZF     Маркер нула (Zero Flag)
   7      SF     Маркер знака (Sign Flag)
   8      TF     Маркер рада корак по корак (Single step Flag) – када
                 се сетује после инструкције генерише се прекид
   9      IF     Дозвола рада прекида (Interrupt enable Flag)
  10      DF     Маркер смера преноса (Direction Flag) - када је
                 сетован инструкције за рад са низовима
                 декрементирју индексни регистар
  11      OF     Маркер прекорачења (Oveflow Flag)
Организација меморије
 Укупан меморијски простор дели се на
  неколико сегмената.
 Процесор је ограничен на прихватање
  инструкција и података само из ових
  сегмената.
 Оваква метода адресирања назива се
  сегментно адресирање.
 Меморија је бајтовски оријентисана са
  Little Endian редоследом.
Организација меморије
 8086 има 20 адресних линија што
  омогућава генерисање 220 различитих
  адреса, тј. адресирање 210 16-битних
  речи.
 Симултани приступ 16-битним речима из
  бајтовски оријентисане меморије омогу-
  ћен је постојањем парне и непарне
  меморијске банке.
Организација меморије
   парна банка      непарна банка
    1048574           1048575

        .
        .                   .
                            .
        .                   .



     бајт 8            бајт 9
     бајт 6            бајт 7
     бајт 4            бајт 5
     бајт 2            бајт 3
     бајт 0            бајт 1

                                Сл. 6. Читање 16-битних речи из
                                       парне и непарне меморијске
                                       банке.
            16-битне речи
Организација меморије
 Могуће је читати и
  16-битне речи које
  почињу на непарним
  адресама.
 У том случају                    бајт 7
                                            реч која
                                   бајт 6
  процесор мора да     2. читање
                       1. читање
                                            почиње на
                                            непарној
                                   бајт 5
  обави два циклуса                бајт 4
                                            адреси


  читања.
Организација меморије
   У оквиру укупног адресног простора од
    1MB микропроцесор 8086 дефинише
    четири сегмента величине 64kB:
       сегмент кода,
       сегмент магацина,
       сегмент података и
       додатни сегмент.
Организација меморије
 Четири сегментна регистра се користе
  да у оквиру укупног меморијског
  простора указују на базну адресу
  сваког сегмента.
 Да би могао да се адресира читав
  адресни простор додају се 4 нуле на
  позицији најмање тежине, што има
  ефекат као да су сегментни регистри
  поможени са 16.
Организација меморије
Организација меморије
 Сегменти се могу делимично или чак
  потпуно преклапати (CS=DS=ES=SS).
 Меморијске локације које не припадају
  текућем сегменту нису доступне пре
  редефинисања    садржаја   сегментних
  регистара.
Адресни начини рада
   Фамилија     Intel 80x86     користи
    двооперандски формат инструкција при
    чему је први операнд одредишни а
    други изворни.


           MOV        BX, CX
          одредишни            изворни
           операнд             операнд
Адресни начини рада
 Постоји велики број адресних начина
  рада (CISC процесор!).
 Неки од адресних начина рада присутни
  су код свих чланова фамилије, а неки
  тек од процесора 80386 надаље.
 Ми ћемо, срећом, да се бавимо само
  оним начинима адресирања који постоје
  код 8086.
Адресни начини рада
   Код 8086 можемо препознати пет врста
    операнада:
       регистарски операнди,
       константе и
       три начина адресирања меморијских
        операнада.
Адресни начини рада
   Сходно томе, имамо пет адресних
    начина рада (мада, са више детаља
    посматрано, можемо посматрати чак 17
    различитих начина адресирања):
       Регистарско адресирање;
       Непосредно адресирање;
       Директно адресирање;
       Индиректно адресирање;
       Индексно адресирање.
Адресни начини рада
 Регистарско адресирање подразумева да
  је операнд у неком од регистара.
 Битно је да операнди буду истог обима
  (оба 8-битна или оба 16-битна)

                  MOV         BX, AX
      извор        генерисање адресе   одредиште
    Регистар AX                        Регистар BX
Адресни начини рада
 Оба операнда mov инструкције не могу
  бити истовремено у сегментним реги-
  стрима.
                mov ax, cs
               mov ds, ax
 Сегментни регистар CS не може бити
  одредиште mov инструкције, јер пар
  CS:IP одређује адресу наредне инструк-
  ције.
Адресни начини рада
   Непосредно адресирање подразумева да
    је операнд специфициран у оквиру
    инструкције.

                   MOV        CH, 3Ah

       извор        генерисање адресе   одредиште
     податак 3Ah                        Регистар CX
Адресни начини рада
MOV BL, 44   ; kopira se dekadno 44 u BL
MOV AX, 44h ; kopira se heksadekadno 44 u BL
MOV AL, ‘A’  ; kopira se ASCII znak ‘A’ u AL
MOV AX, ‘AB’ ; kopira se ASCII ‘BA’ (4241h) u AX
MOV CL, 11001110b; kopira binarno 11001110 u CL
Адресни начини рада
   Директно адресирање односи се                      на
    операнд    у    меморији  када                     се
    специфицира    офсет   у односу                    на
    одговарајући сегмент.
               MOV         [1234h], AX
       извор       генерисање адресе       одредиште

                      DS*10h+DISP
     регистар AX                           M[11234h]
                      10000h+1234h

      Напомена: претпоставили смо да је DS=1000h.
Адресни начини рада
 Уместо офсета могуће је навести лабелу
  која   одговара   некој    променљивој
  дефинисаној у сегменту података.
     data1    DB       12H
     data2    DW       3456H
          …
              MOV      AL, data1
              MOV      AX, data2
 Лабела   је дужине 6 знакова (код
  новијих процесора до 35) и почиње
  словом или знацима @, $, _, ?.
Адресни начини рада
   Регистарско   индиректно   адресирање
    тиче се операнда у меморији чија је
    адреса (тачније, 16-офсет у оквиру
    сегмента података) у неком         од
    регистара BP, BX, DI и SI.
                    MOV      [BX], CL
        извор        генерисање адресе     одредиште

                       DS*10h+BX
      регистар CL                          M[10300h]
                       10000h+0300h

Напомена: претпоставили смо да је DS=1000h, BX = 0300h.
Адресни начини рада
 У одређеним случајевима потребно је
  користити директиву BYTE PTR или
  WORD PTR да се специфицира обим
  операнда.
 Такође се директивом OFFSET адреса
  неког податка (тј. офсет у односу на
  почетак   сегмента    података) може
  преузети у неки од регистара.
Адресни начини рада
 Базно-плус-индексно   адресирање     се
  такође односи на операнд у меморији.
 За формирање адресе користи се:
       базни регистар (BP или BX) који треба да
        садржи базно адресу неког поља података, и
       индексни регистар (DI или SI) који садржи
        релативну позицију податка у односу на
        базну адресу.
Адресни начини рада
            MOV          [BX+SI], BP


    извор          генерисање адресе           одредиште

                   DS*10h+BX+SI
 регистар BP                                   M[10500h]
                   10000h+0300h+0200h

 Напомена: претпоставили смо да је DS=1000h, BX = 0300h,
           SI=0200h.
Адресни начини рада
   Регистарско  релативно    адресирање
    податка у меморији генерише адресу
    податка тако што сабира размештај са
    садржајем неког од BP, BX, DI или SI
    регистра.
                MOV          CL, [BX+4]
       извор          генерисање адресе           одредиште

                      DS*10h+BX+4
     M[10304]                                    Регистар CL
                      10000h+0300h+4

    Напомена: претпоставили смо да је DS=1000h, BX = 0300h,
Адресни начини рада
   Размештај се наводи у оквиру заграде,
    као у претходном примеру, или изван
    заграде.
         MOV      VEKTOR[DI], AL
   Размештај је означени 16-битни број
    (код 8086/.../80286).
Адресни начини рада
   Базно    релативно    адресирање     са
    индексирањем        формира      адресу
    операнда тако што се сабере размештај
    и садржај базног и индексног регистра.
          MOV           POLJE[BX+SI], DX
      извор           генерисање адресе             одредиште

                     DS*10h+POLJE+BX+SI
    регистар DX                                    Регистар CL
                     10000h+1000h+0300h+0200h


    Напомена: претпоставили смо да је DS=1000h, BX = 0300h,
              SI=0200h и POLJE=1000h.
Адресни начини рада
   Као    што    смо     рекли    постоји     17
    различитих меморијских начина рада:
    disp, [bx], [bp], [si], [di], disp[bx],
    disp[bp], disp[si], disp[di], [bx][si], [bx]
    [di],  [bp][si],    [bp][di],   disp[bx][si],
    disp[bx][di], disp[bp][si] и disp[bp][di].
Адресни начини рада
 Постоји лак начин да се запамти које
  комбинације дају легални адресни
  начин рада.
 Једноставно треба изабрати из сваке
  колоне следеће табеле највише један
  елемент.

More Related Content

Similar to Cs20

Revenge
RevengeRevenge
Revenge
Bole98
 
Komponente hardvera pc i
Komponente hardvera pc iKomponente hardvera pc i
Komponente hardvera pc i
Olga Klisura
 
Konfiguracija racunara
Konfiguracija racunaraKonfiguracija racunara
Konfiguracija racunara
majapts
 
Hardverske komponente PC racunara
Hardverske komponente PC racunaraHardverske komponente PC racunara
Hardverske komponente PC racunara
zornik
 
04 procesor-ploca-magistrala-portovi
04 procesor-ploca-magistrala-portovi04 procesor-ploca-magistrala-portovi
04 procesor-ploca-magistrala-portovi
djudjujag
 

Similar to Cs20 (17)

Revenge
RevengeRevenge
Revenge
 
Komponente hardvera pc i
Komponente hardvera pc iKomponente hardvera pc i
Komponente hardvera pc i
 
IT5-L3.pptx
IT5-L3.pptxIT5-L3.pptx
IT5-L3.pptx
 
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša S...
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša S...L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša S...
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša S...
 
Konfiguracija racunara
Konfiguracija racunaraKonfiguracija racunara
Konfiguracija racunara
 
Hardverske komponente PC racunara
Hardverske komponente PC racunaraHardverske komponente PC racunara
Hardverske komponente PC racunara
 
04 procesor-ploca-magistrala-portovi
04 procesor-ploca-magistrala-portovi04 procesor-ploca-magistrala-portovi
04 procesor-ploca-magistrala-portovi
 
Uor pitanja
Uor pitanjaUor pitanja
Uor pitanja
 
Uticaj komponennata na performanske racunara
Uticaj komponennata na performanske racunaraUticaj komponennata na performanske racunara
Uticaj komponennata na performanske racunara
 
Pc racunala
Pc racunalaPc racunala
Pc racunala
 
IT4-L6.pptx
IT4-L6.pptxIT4-L6.pptx
IT4-L6.pptx
 
hardware_racunara1.ppt
hardware_racunara1.ppthardware_racunara1.ppt
hardware_racunara1.ppt
 
hardware_racunara1.ppt
hardware_racunara1.ppthardware_racunara1.ppt
hardware_racunara1.ppt
 
Rac seminar
Rac seminarRac seminar
Rac seminar
 
Hardvarske komponente računara
Hardvarske komponente računaraHardvarske komponente računara
Hardvarske komponente računara
 
Procesor(CPU)
Procesor(CPU)Procesor(CPU)
Procesor(CPU)
 
Računarstvo i informatika I razred memorije
Računarstvo i informatika I razred memorije Računarstvo i informatika I razred memorije
Računarstvo i informatika I razred memorije
 

Cs20

  • 1. Архитектура и програмирање микропроцесора Intel 8086  Историјат развоја  Модел процесора 8086  Програмски модел  Организација меморије  Адресни начини рада
  • 2. Историјат развоја  1971. први микропроцесор уопште: четворобитни Intel 4004.  Нешто касније и осмобитни процесор 8008, а затим и осмобитни следбеници 8080 (1973) и 8085 (1977).  Први 16-битни микропроцесор уопште је Intel 8086 (1978).  Током наредних 20-так година следила је серија све моћнијих микропроцесора, како Intel-ових тако и других произвођача.
  • 3. Историјат развоја  Intel је код свих процесора задржао компатибилност!  Из тих разлога, проучавање процесора 8086 је важно као родоначелника касније серије 80x86.  Скуп инструкција овог процесора може се посматрати као подскуп скупа инструкција наредних генерација.
  • 4. Модел процесора 8086 Једница за спрегу Извршна јединица са магистралом (EU) (BIU) Интерна магистрала података Сл. 1. Блок шема микропроцесора 8086.
  • 5. Модел процесора 8086  Микропроцесор 8086 организован је у две јединице (сл. 1):  Извршна јединица (EU – Execution Unit).  Једница за спрегу са магистралом (BIU – Bus Interface Unit).
  • 6. Модел процесора 8086 AH AL BH BL CH CL DH DL BP DI ALU маркери SI SP Интерна магистрала података Сл. 2. Извршна јединица.
  • 7. Модел процесора 8086 Адресна Магистрала магистрала података Јединица за генерисање адреса и управљање магистралом сабирач 6 CS 5 ред чекања ES сегментни 4 инструкција SS регистри 3 DS 2 IP 1 Интерна магистрала података Сл. 3. Једниница за спрегу са магистралом.
  • 8. Модел процесора 8086  BIU преко адресне магистрале и магистрале података обезбеђује спрегу процесора са меморијским и У/И подсистемом а преко интерне маги- страле са функционалним јединицама процесора.  EU прихвата кодове инструкција од BIU, извршава инструкције и смешта резултате у интерне регистре. Преко BIU ови резултати могу се сместити у меморију или послтаи на излаз.
  • 9. Модел процесора 8086  У току рада између BIU и EU постоји преклапање у обављању њихових задатака.  Активности ове две јединице могу се описати на следећи начин: 1. BIU поставља IP на адресну магистралу и прибавља реч/бајт из меморије. 2. IP се инкрементира (колико – то зависи од обима инструкције) 3. Инструкција прихваћена од стране BIU смешта се у ред чекања. 4. Ако је ред чекања био празан EU одмах добавља ту инструкцију и почиње да је извршава. 5. Док EU извршава инструкцију BIU прибавља наредну инструкцију. У зависности од времена извршења прве инструкције, BIU може да попуни ред чеклања са неколико нових инструкција пре него EU буде спремна на изврши наредну.
  • 10. Модел процесора 8086  Постоје 3 разлога која могу да уведу EU у стање чекања (wait mode):  Инструкција захтева приступ меморијској локацији која није у реу чекања.  Код инструкција типа jump ред чекања се празни и потом поново пуни инструкцијама почев од циљне адресе гранања.  EU извршава “спору” инструкцију.
  • 11. Програмски модел  Програмски модел микропроцесора приказује типове интерних регистара доступних програмеру.  При томе, показивач инструкција IP није доступан програмеру директно и у суштини је део BIU.
  • 12. Програмски модел  Скуп регистара видљивих програмеру:  Осам 16-битних регистара: AX-DX, SP, BP, SI и DI. Прва четири могу се поделити на по два 8-битна регистра.  Четири 16-битна сегментна регистра.  16-битни показивач наредби.  16-битни регистар стања.
  • 13. Програмски модел AX AH AL акумулатор BX BH BL базни регистар CX CH CL бројач DX DH DL регистар података SP показивач магацина BP базни показивач SI индекс извора DI индекс одредишта CS програмски сегмент DS сегмент података SS сегмент магацина ES додатни сегмент IP показивач наредби SR SRH SRL регистар стања Сл. 4. Програмски модел микропроцесора 8086.
  • 14. Програмски модел бит позиција 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Регистар X X X X OF DF IF TF SF ZF X AF X PF X CF стања SRH SRL Сл. 5. Распоред маркера у регистру стања.
  • 15. Програмски модел Бит Назив Функција позиција 0 CF Маркер преноса (Carry Flag) 2 PF Маркер парности (Parity Flag) - сетује се ако нижи бајт резултата има паран број јединица 4 AF Поставља се ако постоји пренос или позајмица од ниже тетраде AL регистра 6 ZF Маркер нула (Zero Flag) 7 SF Маркер знака (Sign Flag) 8 TF Маркер рада корак по корак (Single step Flag) – када се сетује после инструкције генерише се прекид 9 IF Дозвола рада прекида (Interrupt enable Flag) 10 DF Маркер смера преноса (Direction Flag) - када је сетован инструкције за рад са низовима декрементирју индексни регистар 11 OF Маркер прекорачења (Oveflow Flag)
  • 16. Организација меморије  Укупан меморијски простор дели се на неколико сегмената.  Процесор је ограничен на прихватање инструкција и података само из ових сегмената.  Оваква метода адресирања назива се сегментно адресирање.  Меморија је бајтовски оријентисана са Little Endian редоследом.
  • 17. Организација меморије  8086 има 20 адресних линија што омогућава генерисање 220 различитих адреса, тј. адресирање 210 16-битних речи.  Симултани приступ 16-битним речима из бајтовски оријентисане меморије омогу- ћен је постојањем парне и непарне меморијске банке.
  • 18. Организација меморије парна банка непарна банка 1048574 1048575 . . . . . . бајт 8 бајт 9 бајт 6 бајт 7 бајт 4 бајт 5 бајт 2 бајт 3 бајт 0 бајт 1 Сл. 6. Читање 16-битних речи из парне и непарне меморијске банке. 16-битне речи
  • 19. Организација меморије  Могуће је читати и 16-битне речи које почињу на непарним адресама.  У том случају бајт 7 реч која бајт 6 процесор мора да 2. читање 1. читање почиње на непарној бајт 5 обави два циклуса бајт 4 адреси читања.
  • 20. Организација меморије  У оквиру укупног адресног простора од 1MB микропроцесор 8086 дефинише четири сегмента величине 64kB:  сегмент кода,  сегмент магацина,  сегмент података и  додатни сегмент.
  • 21. Организација меморије  Четири сегментна регистра се користе да у оквиру укупног меморијског простора указују на базну адресу сваког сегмента.  Да би могао да се адресира читав адресни простор додају се 4 нуле на позицији најмање тежине, што има ефекат као да су сегментни регистри поможени са 16.
  • 23. Организација меморије  Сегменти се могу делимично или чак потпуно преклапати (CS=DS=ES=SS).  Меморијске локације које не припадају текућем сегменту нису доступне пре редефинисања садржаја сегментних регистара.
  • 24. Адресни начини рада  Фамилија Intel 80x86 користи двооперандски формат инструкција при чему је први операнд одредишни а други изворни. MOV BX, CX одредишни изворни операнд операнд
  • 25. Адресни начини рада  Постоји велики број адресних начина рада (CISC процесор!).  Неки од адресних начина рада присутни су код свих чланова фамилије, а неки тек од процесора 80386 надаље.  Ми ћемо, срећом, да се бавимо само оним начинима адресирања који постоје код 8086.
  • 26. Адресни начини рада  Код 8086 можемо препознати пет врста операнада:  регистарски операнди,  константе и  три начина адресирања меморијских операнада.
  • 27. Адресни начини рада  Сходно томе, имамо пет адресних начина рада (мада, са више детаља посматрано, можемо посматрати чак 17 различитих начина адресирања):  Регистарско адресирање;  Непосредно адресирање;  Директно адресирање;  Индиректно адресирање;  Индексно адресирање.
  • 28. Адресни начини рада  Регистарско адресирање подразумева да је операнд у неком од регистара.  Битно је да операнди буду истог обима (оба 8-битна или оба 16-битна) MOV BX, AX извор генерисање адресе одредиште Регистар AX Регистар BX
  • 29. Адресни начини рада  Оба операнда mov инструкције не могу бити истовремено у сегментним реги- стрима. mov ax, cs mov ds, ax  Сегментни регистар CS не може бити одредиште mov инструкције, јер пар CS:IP одређује адресу наредне инструк- ције.
  • 30. Адресни начини рада  Непосредно адресирање подразумева да је операнд специфициран у оквиру инструкције. MOV CH, 3Ah извор генерисање адресе одредиште податак 3Ah Регистар CX
  • 31. Адресни начини рада MOV BL, 44 ; kopira se dekadno 44 u BL MOV AX, 44h ; kopira se heksadekadno 44 u BL MOV AL, ‘A’ ; kopira se ASCII znak ‘A’ u AL MOV AX, ‘AB’ ; kopira se ASCII ‘BA’ (4241h) u AX MOV CL, 11001110b; kopira binarno 11001110 u CL
  • 32. Адресни начини рада  Директно адресирање односи се на операнд у меморији када се специфицира офсет у односу на одговарајући сегмент. MOV [1234h], AX извор генерисање адресе одредиште DS*10h+DISP регистар AX M[11234h] 10000h+1234h Напомена: претпоставили смо да је DS=1000h.
  • 33. Адресни начини рада  Уместо офсета могуће је навести лабелу која одговара некој променљивој дефинисаној у сегменту података. data1 DB 12H data2 DW 3456H … MOV AL, data1 MOV AX, data2  Лабела је дужине 6 знакова (код новијих процесора до 35) и почиње словом или знацима @, $, _, ?.
  • 34. Адресни начини рада  Регистарско индиректно адресирање тиче се операнда у меморији чија је адреса (тачније, 16-офсет у оквиру сегмента података) у неком од регистара BP, BX, DI и SI. MOV [BX], CL извор генерисање адресе одредиште DS*10h+BX регистар CL M[10300h] 10000h+0300h Напомена: претпоставили смо да је DS=1000h, BX = 0300h.
  • 35. Адресни начини рада  У одређеним случајевима потребно је користити директиву BYTE PTR или WORD PTR да се специфицира обим операнда.  Такође се директивом OFFSET адреса неког податка (тј. офсет у односу на почетак сегмента података) може преузети у неки од регистара.
  • 36. Адресни начини рада  Базно-плус-индексно адресирање се такође односи на операнд у меморији.  За формирање адресе користи се:  базни регистар (BP или BX) који треба да садржи базно адресу неког поља података, и  индексни регистар (DI или SI) који садржи релативну позицију податка у односу на базну адресу.
  • 37. Адресни начини рада MOV [BX+SI], BP извор генерисање адресе одредиште DS*10h+BX+SI регистар BP M[10500h] 10000h+0300h+0200h Напомена: претпоставили смо да је DS=1000h, BX = 0300h, SI=0200h.
  • 38. Адресни начини рада  Регистарско релативно адресирање податка у меморији генерише адресу податка тако што сабира размештај са садржајем неког од BP, BX, DI или SI регистра. MOV CL, [BX+4] извор генерисање адресе одредиште DS*10h+BX+4 M[10304] Регистар CL 10000h+0300h+4 Напомена: претпоставили смо да је DS=1000h, BX = 0300h,
  • 39. Адресни начини рада  Размештај се наводи у оквиру заграде, као у претходном примеру, или изван заграде. MOV VEKTOR[DI], AL  Размештај је означени 16-битни број (код 8086/.../80286).
  • 40. Адресни начини рада  Базно релативно адресирање са индексирањем формира адресу операнда тако што се сабере размештај и садржај базног и индексног регистра. MOV POLJE[BX+SI], DX извор генерисање адресе одредиште DS*10h+POLJE+BX+SI регистар DX Регистар CL 10000h+1000h+0300h+0200h Напомена: претпоставили смо да је DS=1000h, BX = 0300h, SI=0200h и POLJE=1000h.
  • 41. Адресни начини рада  Као што смо рекли постоји 17 различитих меморијских начина рада: disp, [bx], [bp], [si], [di], disp[bx], disp[bp], disp[si], disp[di], [bx][si], [bx] [di], [bp][si], [bp][di], disp[bx][si], disp[bx][di], disp[bp][si] и disp[bp][di].
  • 42. Адресни начини рада  Постоји лак начин да се запамти које комбинације дају легални адресни начин рада.  Једноставно треба изабрати из сваке колоне следеће табеле највише један елемент.