ky thuat vi xu ly - pham ngoc nam

Embed Size (px)

Citation preview

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    1/524

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    2/524

    KK thuthu tt vivi xx ll

    MM icroprocessorscroprocessors

    Ging vin: Ph m Ng c Nam

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    3/524

    2/Chapter1 DHBK 2005

    Your instructor Your instructor

    B mn k thu t in t tin h cOffice: C9-401Email: [email protected]

    Research:FPGA, PSoC, h nhng

    Tr tu nhn t o Education:

    K37 in t - HBK H n i (1997)

    Master v tr tu nhn t o 1999, i hc K.U. Leuven,v ng qu c B

    ti: Nh n d ng ch vit tayTin s k thu t chuyn ngnh in t -tin h c, 9/ 2004, ihc K.U. Leuven, V ng Qu c B

    ti: qu n l ch t l ng d ch v trong cc ng d ng aph ng ti n tin ti n

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    4/524

    3/Chapter1 DHBK 2005

    NNii dungdung mnmn hhcc

    1. Gii thi u chung v h vi x l2. B vi x l Intel 8088/80863. Lp trnh h p ng cho 80864. T ch c vo ra d liu5. Ng t v x l ng t6. Truy c p b nh tr c ti p DMA7. Cc b vi x l trn th c t

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    5/524

    4/Chapter1 DHBK 2005

    TT ii liliuu thamtham khkh oo

    Slides V n Th Minh, K thu t vi x l, Nh xu t b n gio

    dc, 1997. Barry B. Brey, The Intel Microprocessors:

    8086/8088, 80186/80188, 80286, 80386, 80486,

    Pentium and Pentium Pro Processor: Architecture,Programming, and Interfacing, Fourth Edition,Prentice Hall, 1997.

    Qu ch Tu n Ng c v c ng s , Ngn ng lp trnhAssembly v my vi tnh IBM-PC, 2 t p, Nh xu tbn gio d c, 1995.

    Cm n gio s Rudy Lauwereins cho php s dng slides c a ng

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    6/524

    5/Chapter1 DHBK 2005

    MMcc chch cc aa mnmn hhcc

    Nm c c u trc, nguyn l ho t ng c a b vix l v h vi x l

    C kh n ng l p trnh b ng h p ng cho vi x l C kh n ng la ch n vi x l thch h p cho cc

    ng d ng c th

    Nm c cc b vi x l trn th c t

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    7/524

    6/Chapter1 DHBK 2005

    BB ii tt pp llnn vv thithi

    Bi t p ln: thi t k mt ng d ng trn vi iu khi n:20% t ng s im

    Lm theo nhm 2-6 sinh vinNp danh sch cc nhm vo 3/1Cc nhm trnh by t ng 17/1

    Kim tra: 10%3 bi ki m tra khng bo tr cd t nh t 2 bi v k t qu ca 2 bi > 5: 1 imthi u 2 bi tr ln: khng c thi l n 1

    Thi h c k :1 cu l thuy t, 2 cu bi t p (lp trnh v thi t k )70% t ng s im

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    8/524

    7/Chapter1 DHBK 2005 Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnh Phn lo i vi x l Cc h m dng trong my tnh ( nh c li) Gii thi u s l c v c u trc v ho t ng c a h vi

    x l

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    9/524

    8/Chapter1 DHBK 2005 Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnhTh h -1: The early days (-1642)Th h 0: Mechanical (1642-1945)Th h 1: Vacuum tubes (1945-1955)Th h 2: Discrete transistors (1955-1965)Th h 3: Integrated circuits (1965-1980)Th h 4: VLSI (1980-?)

    Phn lo i vi x l Cc h m dng trong my tnh ( nh c li) Gii thi u s l c v c u trc v ho t ng c a h vi

    x l

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    10/524

    9/Chapter1 DHBK 2005 Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnhTh h -1: The early days (-1642)Th h 0: Mechanical (1642-1945)Th h 1: Vacuum tubes (1945-1955)Th h 2: Discrete transistors (1955-1965)Th h 3: Integrated circuits (1965-1980)Th h 4: VLSI (1980-?)

    Phn lo i vi x l Cc h m dng trong my tnh ( nh c li) Gii thi u s l c v c u trc v ho t ng c a h vi

    x l

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    11/524

    10/Chapter1 DHBK 2005 ThTh hh --1: The early days (1: The early days ( --1642)1642)

    Bn tnh, abacus , c s dng tnh ton.Khi ni m v gi tr theo v tr c x dng

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    12/524

    11/Chapter1 DHBK 2005 ThTh hh --1: The early days (1: The early days ( --1642)1642)

    Th k 12: Muhammad ibn Musa Al'Khowarizmi ara khi ni m v giithu t algorithm

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    13/524

    12/Chapter1 DHBK 2005 ThTh hh --1: The early days (1: The early days ( --1642)1642)

    Codex Madrid - Leonardo Da Vinci (1500)V mt ci my tnh c kh

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    14/524

    13/Chapter1 DHBK 2005 Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnhTh h -1: The early days (-1642)Th h 0: Mechanical (1642-1945)Th h 1: Vacuum tubes (1945-1955)Th h 2: Discrete transistors (1955-1965)Th h 3: Integrated circuits (1965-1980)Th h 4: VLSI (1980-?)

    Phn lo i vi x l Cc h m dng trong my tnh ( nh c li) Gii thi u s l c v c u trc v ho t ng c a h vi

    x l

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    15/524

    14/Chapter1 DHBK 2005

    ThTh hh 0: Mechanical (16420: Mechanical (1642 --1945)1945)

    Blaise Pascal, con trai c a m t ng

    i thu thu ,

    ch to mt my c ng c nh vo n m 1642

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    16/524

    15/Chapter1 DHBK 2005

    ThTh hh 0: Mechanical (16420: Mechanical (1642 --1945)1945)

    N m 1801, Joseph-Marie Jacquard pht minh ramy d t t ng s dng ba c l iu khi n ho tit d t trn v i

    Ba c l l u tr ch ng trnh: my a n ng utin

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    17/524

    16/Chapter1 DHBK 2005

    ThTh hh 0: Mechanical (16420: Mechanical (1642 --1945)1945)

    1822, Charles Babbagenh n ra r ng cc b ngtnh dng trong hnghi c qu nhi u li dnti vic r t nhiu tu b mt tch

    ng xin chnh ph Anh h tr nghincu v my tnh

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    18/524

    17/Chapter1 DHBK 2005

    ThTh hh 0: Mechanical (16420: Mechanical (1642 --1945)1945)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    19/524

    18/Chapter1 DHBK 2005

    ThTh hh 0: Mechanical (16420: Mechanical (1642 --1945)1945)

    Babbage thi t k mt ci my vi phn Difference Engine thay th ton b bng tnh: my th c hi n mt ng d ng c th u tin (application specific hard-coded machine)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    20/524

    19/Chapter1 DHBK 2005

    ThTh hh 0: Mechanical (16420: Mechanical (1642 --1945)1945)

    Ada Augusta King, tr thnh l p trnh vin utin vo n m 1842 khic vi t ch ng trnh choAnalytical Engine, thi tb th 2 c a Babbage

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    21/524

    20/Chapter1 DHBK 2005

    ThTh hh 0: Mechanical (16420: Mechanical (1642 --1945)1945)

    Herman Hollerith, ng i M, thi t k mt my tnh x l d liu v dn s M 1890

    ng thnh l p cng ty, Hollerith TabulatingCompany, sau y l Calculating-Tabulating-Recording (C-T-R) company vo n m 1914 v sauny c i tn l IBM (International BusinessMachine) vo n m 1924.

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    22/524

    21/Chapter1 DHBK 2005

    ThTh hh 0: Mechanical (16420: Mechanical (1642 --1945)1945)

    Konrad Zuse, Berlin, c , ph t tri n vo n m 1935 m ytnh Z-1 s dng r le v s nh phn

    Chu k lnh: 6 gi y (0.17 Hz)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    23/524

    22/Chapter1 DHBK 2005

    ThTh hh 0: Mechanical (16420: Mechanical (1642 --1945)1945)

    My tnh c in t ng ln a n ng u tin lmy Harvard Mark I ( IBM Automatic Sequence ControlCalculator ), ph t minh b i Howard Aiken v o cu i 1930

    ASCC kh ng ph i l my tnh c ch ng trnh l u tr sn m cc l nh c ghi vo cc b ng gi y.

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    24/524

    23/Chapter1 DHBK 2005

    ThTh hh 0: Mechanical (16420: Mechanical (1642 --1945)1945)

    Grace Murray Hopper found the first computer bug beaten todeath in the jaws of a relay. She glued it into the logbook of the computer and thereafter when the machine stops(frequently) she told Howard Aiken that they are "debugging"the computer.

    Lab book!!

    Numbered pagesfor USA patents

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    25/524

    24/Chapter1 DHBK 2005 Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnhTh h -1: The early days (-1642)Th h 0: Mechanical (1642-1945)Th h 1: Vacuum tubes (1945-1955)Th h 2: Discrete transistors (1955-1965)Th h 3: Integrated circuits (1965-1980)Th h 4: VLSI (1980-?)

    Phn lo i vi x l Cc h m dng trong my tnh ( nh c li) Gii thi u s l c v c u trc v ho t ng c a h vi

    x l

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    26/524

    25/Chapter1 DHBK 2005

    ThTh hh 1: Vacuum tubes (19451: Vacuum tubes (1945 --1955)1955)

    N m 1943, JohnMauchly v J.Presper Eckertbt u nghincu v ENIAC

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    27/524

    26/Chapter1 DHBK 2005

    ThTh hh 1: Vacuum tubes (19451: Vacuum tubes (1945 --1955)1955)

    18000 vacuum tubes, 1500 r le, 30 t n, 140 kW, 20 thanh ghi10 ch s th p phn, 100 nghn php tnh/ giy

    Trong t ng lai my tnh s nng t i a l 1.5 t n (Popular Mechanics, 1949)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    28/524

    27/Chapter1 DHBK 2005

    ThTh hh 1: Vacuum tubes (19451: Vacuum tubes (1945 --1955)1955)

    Lp trnh thng qua 6000 cng t c nhi u n c v hng t n d y

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    29/524

    28/Chapter1 DHBK 2005

    ThTh hh 1: Vacuum tubes (19451: Vacuum tubes (1945 --1955)1955)

    N m 1946, John von Neumann pht minh ra mytnh c ch ng trnh l u trong b nh

    My tnh c a ng g m c m t n v iu khi n, m tALU, mt b nh ch ng trnh v d liu v s dngs nh phn thay v s th p phn.

    My tnh ngy nay u c c u trc von Neumann ng t n n mng cho hi n t ng von Neumann

    bottleneck, s khng t ng thch gi a t c cab nh vi n v x l

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    30/524

    29/Chapter1 DHBK 2005

    ThTh hh 1: Vacuum tubes (19451: Vacuum tubes (1945 --1955)1955)

    N m 1948, my tnh c ch ng trnh l u tr trong b nh u

    tin c v n hnh t i tr ng i hc Manchester:Manchester Mark I

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    31/524

    30/Chapter1 DHBK 2005

    ThTh hh 1: Vacuum tubes (19451: Vacuum tubes (1945 --1955)1955)

    N m 1951, my tnh Whirlwind l n u tin s dngb nh li t (magnetic core memories). G n ynguyn l ny c s dng l i ch to MRAM dng tch h p.

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    32/524

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    33/524

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    34/524

    33/Chapter1 DHBK 2005

    ThTh hh 1: Vacuum tubes (19451: Vacuum tubes (1945 --1955)1955)

    N m 1954, John Backus, IBM pht minh raFORTRAN

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    35/524

    34/Chapter1 DHBK 2005 Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnhTh h -1: The early days (-1642)Th h 0: Mechanical (1642-1945)Th h 1: Vacuum tubes (1945-1955)Th h 2: Discrete transistors (1955-1965)Th h 3: Integrated circuits (1965-1980)

    Th h 4: VLSI (1980-?) Phn lo i vi x l Cc h m dng trong my tnh ( nh c li) Gii thi u s l c v c u trc v ho t ng c a h vi

    x l

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    36/524

    35/Chapter1 DHBK 2005

    ThTh hh 2: Discrete transistors (19552: Discrete transistors (1955 --1965)1965)

    N m 1947, William Shockley, John Bardeen, andWalter Brattain pht minh ra transistor

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    37/524

    36/Chapter1 DHBK 2005

    ThTh hh 2: Discrete transistors (19552: Discrete transistors (1955 --1965)1965)

    N m 1955, IBM cng b IBM704, my tnhmainframe s dng tranzistor

    y l my tnh v i php ton d u ph y ng utin (5 kFlops, clock: 300 kHz)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    38/524

    37/Chapter1 DHBK 2005 Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnhTh h -1: The early days (-1642)Th h 0: Mechanical (1642-1945)Th h 1: Vacuum tubes (1945-1955)Th h 2: Discrete transistors (1955-1965)Th h 3: Integrated circuits (1965-1980)

    Th h 4: VLSI (1980-?) Phn lo i vi x l Cc h m dng trong my tnh ( nh c li) Gii thi u s l c v c u trc v ho t ng c a h vi

    x l

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    39/524

    38/Chapter1 DHBK 2005

    ThTh hh 3: Integrated circuits (19653: Integrated circuits (1965 --1980)1980)

    N m 1958, Jack St. Clair Kilby of TexasInstruments (Nobel prize physics, 2000) a ra vch ng minh t ng tch h p 1 transistor v i cc in tr v t in trn m t chip bn d n vi kchth c 1 n a ci k p gi y. y chnh l IC.

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    40/524

    39/Chapter1 DHBK 2005

    ThTh hh 3: Integrated circuits (19653: Integrated circuits (1965 --1980)1980)

    7/4/1964 IBM a ra System/360, h my tnh t ngthch u tin c a IBM

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    41/524

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    42/524

    41/Chapter1 DHBK 2005

    ThTh hh 3: Integrated circuits (19653: Integrated circuits (1965 --1980)1980)

    N m 1971, Ted Hoff ch to Intel 4004 theo n t hng c a m t

    cng ty Nh t b n to chip s n xu t calculator.

    y l vi x l

    utin v i 2400 transistor (microprocessor, processor-on-a-chip).

    4 b t d liu, 12 bit a ch

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    43/524

    42/Chapter1 DHBK 2005

    ThTh hh 3: Integrated circuits (19653: Integrated circuits (1965 --1980)1980)

    1973-1974, Edward Roberts, William Yates and Jim Bybee

    ch to MITS Altair 8800, m y tnh c nhn u tin Gi $375, 256 bytes of memory, kh ng keyboard, kh ng

    mn hnh v khng b nh ngoi Sau , Bill Gate v Paul Allen v it ch ng trnh d ch

    BASIC cho Altair

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    44/524

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    45/524

    44/Chapter1 DHBK 2005

    ThTh hh 4: VLSI (19804: VLSI (1980 --?)?)

    N m 1981, IBM bt u vi IBM "PC" s dng h iu hnh DOS.

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    46/524

    45/Chapter1 DHBK 2005

    ThTh hh 4: VLSI (19804: VLSI (1980 --?)?)

    N m 1984, Xerox PARC (Palo Alto Research Center) a ra

    my tnh bn Alto v i giao di n ng i v my hon tonmi: windows, bi u t ng, mouse

    Con chu t u tin

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    47/524

    46/Chapter1 DHBK 2005

    ThTh hh 4: VLSI (19804: VLSI (1980 --?)?)

    N m 1986, si u my tnh Cray-XMP v i 4 b x l ttc tnh ton l 840 MFlops. N c lm mt b ng n c

    Ch 1

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    48/524

    47/Chapter1 DHBK 2005

    ThTh hh 4: VLSI (19804: VLSI (1980 --?)?)

    Tc tnh ton ny t c vi my tnh cnhn 1 vi x l , Pentium III, v o qu 1 n m 2000

    48/Ch 1

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    49/524

    48/Chapter1 DHBK 2005 Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnh Phn lo i vi x l Cc h m dng trong my tnh ( nh c li) Gii thi u s l c v c u trc v ho t ng c a h vi

    x l

    49/Ch t 1

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    50/524

    49/Chapter1 DHBK 2005

    PhnPhn lolo ii vivi xx ll

    50/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    51/524

    50/Chapter1 DHBK 2005

    PhnPhn lolo ii vivi xx ll

    **EngineEnginePerformance andPerformance andEmission ControlEmission Control

    (Traction Control)(Traction Control)

    **Safety SystemsSafety Systems

    **Cabin AirCabin AirQualityQuality

    **SuspensionSuspensionandand

    Braking ControlBraking Control

    **Steering ControlsSteering Controls **EntertainmentEntertainment

    **Intelligent TransportationIntelligent TransportationSystem (ITS)System (ITS)

    **Digital CarDigital CarRadioRadio

    **LightingLighting

    **Gear BoxGear Box

    BMW > 100 processors Trung bnh 1 cng dn M ~ 75 processors

    51/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    52/524

    51/Chapter1 DHBK 2005

    PhnPhn lolo ii vivi xx ll

    Type Gi (USD) Example applicationDisposable system 1 Greeting cardsEmbedded system 10 Watches, cars,

    appliancesGame computer 100 Home video games

    Personal computer 1K Desktop computer Server 10K Network server Collection of workstations

    100K Departmentalsupercomputer

    Mainframe 1M Batch processing inbank

    Supercomputer 10M Weather forecasting

    Phn lo i theo gi thnh:

    52/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    53/524

    52/Chapter1 DHBK 2005

    PhnPhn lolo ii vivi xx ll

    Phn lo i theo ch c n ng:Vi x l a n ng (General Purpose Microprocessor)DSP (Digital Signal Processor)Vi iu khi n (Microcontroller)ASIP (Application Specific Integrated Processor)

    Phn lo i theo t p lnh:CISC (complex Instruction Set computer): my tnh c t p lnh ph c t pnhi u lnh

    cu trc ph c t pmi lnh: c di khc nhau v th c hi n trong 1 n ch c chu k xung nh p

    RISC (reduced instruction Set computer): my tnh c t p lnh rtgn

    t lnhmi lnh c di c nh v th c hi n trong 1 n 2 chu k xung nh pcu trc vi x l n gi n, c nhi u thanh ghitc xung nh p ln v tiu th n ng l ng th p

    53/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    54/524

    53/Chapter1 DHBK 2005 Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnh Phn lo i vi x l Cc h m dng trong my tnh ( nh c li)

    Thp phn, Nh phn, H 8, H 16Cng, tr , nhn, chiaCc s mS nguyn, s th c, BCD, ASCII

    Gii thi u s l c v c u trc v ho t ng c a h vix l

    54/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    55/524

    54/Chapter1 DHBK 2005 Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnh Phn lo i vi x l Cc h m dng trong my tnh ( nh c li)

    Thp phn, Nh phn, H 8, H 16Cng, tr , nhn, chiaCc s mS nguyn, s th c, BCD, ASCII

    Gii thi u s l c v c u trc v ho t ng c a h vix l

    55/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    56/524

    55/Chapter1 DHBK 2005

    HH thth pp phnphn

    1234,567 10 =

    11000+2100+310+41+50.1+60.01+70.001110 3+210 2+310 1+410 0+510 -1+610 -2+710 -3r = c s (r = 10), d=digit (0 d 9), m = s ch s tr c d u ph y,n = s ch s sau d u ph y

    1m

    ni

    i

    ir d D

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    57/524

    57/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    58/524

    p DHBK 2005

    HH 8 (Octal)8 (Octal)

    7654,32 8=

    7512+664+58+41+30.125+20.01562578 3+68 2+58 1+48 0+38 -1+28 -2r = c s (r = 8), d=digit (0 d 7), m = s ch s tr c d u ph y, n= s ch s sau d u ph y

    1

    8m

    ni

    i

    id O

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    59/524

    59/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    60/524

    p DHBK 2005

    ChuyChuy nn ii gigiaa cc cc hh mm

    Chuy n t h th p phn sang nh phnQuy t c: ly s c n i chia cho 2 v ghi nh ph n d , lyth ng chia ti p cho 2 v ghi nh ph n d . Lp li khith ng b ng 0. o ng c th t dy cc s d s c ch s c a h nh phn c n tm

    V d: i 34 sang h nh phn: 100010

    Chy n t h nh phn sang h 16 v ng c li1011 0111B = B7H

    60/Chapter1 DHBK 2005 ChCh 11

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    61/524

    DHBK 2005 Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnh Phn lo i vi x l Cc h m dng trong my tnh ( nh c li)

    Thp phn, Nh phn, H 8, H 16Cng, tr , nhn, chiaCc s mS nguyn, s th c, BCD, ASCII

    Gii thi u s l c v c u trc v ho t ng c a h vix l

    61/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    62/524

    3 5

    65

    728 3

    2

    Nh

    x

    y

    Tng 88

    010

    CCng nhng nh phnphn

    Cng nh phn

    Cng th p phn

    Nh

    x

    y

    Tng

    0

    1

    1

    0

    0

    1

    1

    1

    0

    0

    1

    1

    1

    1

    1

    1

    1

    0

    0

    1

    0

    1

    0

    1

    1

    1

    1

    1

    1

    0

    62/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    63/524

    Tr Tr nhnh phnphn

    x

    y

    M

    n

    Hiu

    1 1 1 0 1

    1 1 1 1

    1 1 1 0

    0 1 1 1 0

    63/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    64/524

    Nhn nhNhn nh phnphn

    1 1 1 0

    1 1 0 1

    1 1 1 0

    0 0 0 0

    1 1 1 0

    1 1 1 0

    1 0 1 1 0 1 1 0

    Nguyn t c: c ng v d ch

    64/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    65/524

    Chia nhChia nh phnphn

    1 0 1 1 1 0 1 0

    0 0 0 0

    1 1 1 01 0 0 1 0 1 0

    1 1 1 01 0 0 1 0

    1 1 1 0

    1 0 0 1 01 1 1 0

    1 0 0

    1 1 0 1

    Nguyn t c: tr v d ch

    65/Chapter1 DHBK 2005 Ch gCh ng 11

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    66/524

    Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnh

    Phn lo i vi x l Cc h m dng trong my tnh ( nh c li)

    Thp phn, Nh phn, H 8, H 16Cng, tr , nhn, chiaCc s mS nguyn, s th c, BCD, ASCII

    Gii thi u s l c v c u trc v ho t ng c a h vix l

    66/Chapter1 DHBK 2005 BiBi diu di n bn b ng dng d u v llnn

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    67/524

    BiBiu diu di n bn b ng dng d u vu v llnn(Sign(Sign --Magnitude)Magnitude)

    Mt s c d u bao g m 2 ph n: d u v ln

    V d h 10: +123 10 (thng th ng 123) v -123 10

    H nh phn: bt d u l bt MSB; 0 = d ng, 1 = m V d: 01100

    2= +12

    10v 11100

    2= -12

    10

    Cc s c d u 8 bt s c gi tr t -127 n +127 v i2 s 0: 1000 0000 (-0) v 0000 0000 (+0)

    67/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    68/524

    SS bb 22

    S b 1 (b l gic): o bit1001 => 01100100 => 1011

    S b 2 (b s hc): s b 1 +1

    V d: Tm s b 2 c a 13

    13 = 0000 1101S b 1 c a 13 =1111 0010Cng thm 1: 1S b 2 c a 13= 1111 0011 (t c l -13)

    68/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    69/524

    SS bb 22

    V d: Tm s b 2 c a 0

    0 = 0000 0000S b 1 c a 0 =1111 1111Cng thm 1: 1

    S b 2 c a 0= 0000 0000 (t c l -0)

    Nh vy vi s b 2, s 0 c bi u di n 1 cch duynh t

    S c d u 8 bt s c gi tr t -128 n 127

    69/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    70/524

    SS bb 22

    Decimal S b 2 Sign-magnitude-8 1000 --7 1001 1111-6 1010 1110-5 1011 1101-4 1100 1100-3 1101 1011

    -2 1110 1010-1 1111 10010 0000 1000 & 00001 0001 00012 0010 00103 0011 00114 0100 01005 0101 01016 0110 01107 0111 0111

    70/Chapter1 DHBK 2005 Ch ngCh ng 11

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    71/524

    Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnh

    Phn lo i vi x l Cc h m dng trong my tnh ( nh c li)

    Thp phn, Nh phn, H 8, H 16Cng, tr , nhn, chiaCc s mS nguyn, s th c, BCD, ASCII

    Gii thi u s l c v c u trc v ho t ng c a h vix l

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    72/524

    72/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    73/524

    LittleLittle endianendian vv bigbig endianendian

    S 1234 H c l u tr th no trong b nh 8 bit?

    .....

    .....

    0000H

    FFFFH

    0100H

    0101H

    34H12H

    .....

    .....

    0000H

    FFFFH

    0100H

    0101H

    12H34H

    little endianIntel microprocessors

    big endianMotorola microprocessors

    73/Chapter1 DHBK 2005 SS thth cc

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    74/524

    SS thth cc(real number, floating point number)(real number, floating point number)

    V d: 1,234=1,234*10 0=0,1234*10 1=...

    11,01 B= 1,101*2 1=0,1101*2 2=...

    Real number: (m, e) , e.g. (0.1101, 2)Single precision: 32 bitDouble precision: 64 bit

    mantissa exponent

    74/Chapter1 DHBK 2005 SS thth cc

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    75/524

    SS thth cc(real number, floating point number)(real number, floating point number)

    IEEE-754 format cho single-precision

    1 sign bit: 0 d ng, 1 m

    8 bit biased exponent= exponent + 12724 bit mantissa chu n ho = 1 bit n + 23 bit fraction

    Mantissa chu n ho: c gi tr gia 1 v 2 : 1.f

    V d: biu di n 0.1011 d i dng IEEE-754

    Sign bit s=0chu n ho mantissa: 0.1011= 1.011*2 -1Biased exponent: -1 + 127=126=01111110IEEE format: 0 01111110 0110000000000000000000

    022233031

    S biased exponent e fraction f of normalized mantissa

    75/Chapter1 DHBK 2005 SS thth cc

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    76/524

    SS thth cc(real number, floating point number)(real number, floating point number)

    IEEE-754 format cho double-precision

    051526263

    S biased exponent e fraction f of normalized mantissa

    1 sign bit: 0 d ng, 1 m

    11 bit biased exponent= exponent + 102353 bit mantissa chu n ho = 1 bit n + 52 bit fraction

    double precision: (-1) s x 2 e-1023 x (1.f) 2

    single precision: (-1) s x 2 e-127 x (1.f) 2

    76/Chapter1 DHBK 2005 SS thth cc

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    77/524

    SS thth cc(real number, floating point number)(real number, floating point number)

    15 significant digits6 significant digitsDecimal Precision

    (2- 2 -52 ) 21023 or 1.798 x 10 308(2- 2 -23 ) 2127 or 3.403 x 10 38Largest positive

    2-1022

    or 2.225 x 10-308

    2-126

    or 1.175 x 10-38

    Smallest positive

    2 -52 or 2.220 x 10 -162-23 or 1.192 x 10 -7Machine epsilon

    Double PrecisionSingle Precision

    77/Chapter1 DHBK 2005

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    78/524

    BCDBCD

    Binary Coded Decimal number BCD chu n (BCD gi, packed BCD):

    1 byte bi u di n 2 s BCDV d: 25: 0010 0101

    BCD khng gi (unpacked BCD) :1 byte bi u di n 1 s BCDv d: 25: 00000010 00000101

    Decimaldigit

    BCD

    0 00001 00012 0010

    3 00114 01005 01016 01107 01118 10009 1001

    78/Chapter1 DHBK 2005 ASCIIASCII

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    79/524

    ASCIIASCII

    American Standard Code for InformationInterchange (7-bit code)

    b3b2b1b0 000 001 010 011 100 101 110 111

    0000 NUL DLE SP 0 @ P p0001 SOH DC1 ! 1 A Q a q0010 STX DC2 2 B R b r 0011 ETX DC3 # 3 C S c s0100 EOT DC4 $ 4 D T d t0101 ENQ NAK % 5 E U e u0110 ACK SYN & 6 F V f V0111 BEL ETB 7 G W g w1000 BS CAN ( 8 H X h x1001 HT EM ) 9 I Y i y1010 LF SUB * : J Z j z1011 VT ESC + ; K [ k {1100 FF FS , < L \ l |1101 CR GS - = M ] m }1110 SO RS . > N ^ n ~1111 SI US ? O o DEL

    79/Chapter1 DHBK 2005 Ch ngCh ng 11

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    80/524

    Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnh

    Phn lo i vi x l Cc h m dng trong my tnh ( nh c li) Gii thi u s l c v c u trc v ho t ng c a h vi

    x lH vi x l

    80/Chapter1 DHBK 2005 Ch ngCh ng 11

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    81/524

    Ch ngCh ng 11GiGiii thithi uu chungchung vv hh vivi xx ll

    Lch s pht tri n c a cc b vi x l v my tnh

    Phn lo i vi x l Cc h m dng trong my tnh ( nh c li) Gii thi u s l c v c u trc v ho t ng c a h vi

    x lH vi x l

    81/Chapter1 DHBK 2005

    H i ll

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    82/524

    HH vivi xx ll

    Vi x l

    CPU

    Vi x l

    CPU

    B nh

    Memory

    B nh

    Memory

    Ph i ghpvo/ra(I/O)

    Ph i ghpvo/ra(I/O)

    Bus d liu

    Bus a ch

    Bus iu khi n

    DRAMSRAMROMEEPROMFlash

    Intel 80X86Motorola 680XPowerPC...

    Thit b

    vo/ra

    Mn hnhMy inBn phmCon chu t cng mmCD-ROMDVD...

    ISAEISAPCIVESASCSIUSB...

    82/Chapter1 DHBK 2005

    HH ii ll

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    83/524

    HH vivi xx ll

    CPU n v s hc v logic

    (Arithmetic Logical Unit)Thc hi n cc php ton s hc

    Cng, tr , nhn chiaThc hi n cc php ton logic

    And, or, compare.. n v iu khi n (Control Unit)

    Cc thanh ghi (Registers)L u tr d liu v tr ng thi c a qu trnh th c hi n lnh

    c m l nh

    Gii m l nh

    Thc hi n lnh

    83/Chapter1 DHBK 2005

    HH ii ll

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    84/524

    HH vivi xx ll

    Memory

    ROM: khng b mt d liu, ch a d liu iu khi n h th nglc kh i ngRAM: mt d liu khi m t ngu n, ch a ch ng trnh v d liu trong qu trnh ho t ng c a h th ng

    Bus d liu8, 16, 32, 64 bit ty thu c vo vi x l

    Bus a ch :16, 20, 24, 32, 36 bit

    s nh c th nh a ch : 2NV d: 8088/8086 c 20 ng a ch => qu n l c220 bytes=1Mbytes

    84/Chapter1 DHBK 2005

    HH ii ll

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    85/524

    HH vivi xx ll

    242432323232

    2020202424

    3232323636

    Bus a ch

    16 M16 M4 G4 G4 G4 G

    161632323264

    680006801068020680306804068060

    Motorola

    1 M1 M1 M

    16 M16 M

    4 G4 G4 G

    64 G64 G

    816161616

    3232646464

    80888086

    8018680286

    80386SX

    80386DX80486DXPentium

    Pentium ProPentium I, II, III, IV

    Intel

    Kh n ng ach

    Busd liu

    Tn vi x lNh s n xu t

    1/Chapter2 DHBK 2005

    NNii dd hh

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    86/524

    NNii dungdung mnmn hhcc

    1. Gii thi u chung v h vi x l

    2. B vi x l Intel 8088/80863. Lp trnh h p ng cho 80864. T ch c vo ra d liu5. Ng t v x l ng t

    6. Truy c p b nh tr c ti p DMA7. Cc b vi x l trn th c t

    2/Chapter2 DHBK 2005

    ChCh 22 BB ii ll I t l 8088/8086I t l 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    87/524

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

    Cu trc bn trong

    S chn Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086

    M t tp lnh c a 8086 Cch nh a ch ch bo v cc my tnh t 80286

    3/Chapter2 DHBK 2005

    ChCh g 22 BB ii ll I t l 8088/8086I t l 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    88/524

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

    Cu trc bn trong

    S khiCc thanh ghi a n ngCc thanh ghi onCc thanh ghi con tr v ch s Thanh ghi c

    Hng i lnh S chn Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086 M t tp lnh c a 8086 Cch nh a ch ch bo v cc my tnh t

    80286

    4/Chapter2 DHBK 2005

    ChCh g 22 BB ii ll I t l 8088/8086I t l 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    89/524

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

    Cu trc bn trong

    S khiCc thanh ghi a n ngCc thanh ghi onCc thanh ghi con tr v ch s Thanh ghi c

    Hng i lnh S chn Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086 M t tp lnh c a 8086 Cch nh a ch ch bo v cc my tnh t

    80286

    5/Chapter2 DHBK 2005

    SS khkh ii 8088/80868088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    90/524

    S S khkh ii 8088/80868088/8086

    CSDS

    ESIP

    BX

    AX

    CXDXSPBP

    DISI SS

    ALU

    Kh i iukhi n

    ca EU

    Logic iu khi n

    bus

    Cc thanh

    ghi a n ng

    Cc thanh ghicon tr v ch s

    Cc thanh ghi on v con tr lnh

    Cc thanh ghi t m th i

    Thanh ghi c Hng i lnh

    Bus ngoi

    Bus trong c a CPU16 bit d liu20 bit a ch

    bus a ch 20 bitEU BIU

    Bus d liuALU 16 bit

    6/Chapter2 DHBK 2005

    Ch ngCh ng 22: BB ivi x ll Intel 8088/8086Intel 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    91/524

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

    Cu trc bn trong

    S khiCc thanh ghi a n ngCc thanh ghi onCc thanh ghi con tr v ch s Thanh ghi c

    Hng i lnh S chn

    Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086 M t tp lnh c a 8086 Cch nh a ch ch bo v cc my tnh t

    80286

    7/Chapter2 DHBK 2005

    CC cc thanhthanh ghighi a a n ngn ng cc aa 8088/80868088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    92/524

    CC cc thanhthanh ghighi a a n ngn ng cc aa 8088/80868088/8086

    Thanh ghi ch a AX (accumulator): ch a k t qu ca cc php tnh.Kt qu 8 bit c ch a trong AL

    Thanh ghi c s BX (base): ch a a ch c s, v d c a b ng dngtrong l nh XLAT (Translate)

    Thanh ghi m CX (count): dng ch a s ln lp trong cc l nh l p

    (Loop). CL

    c dng

    ch

    a s

    l

    n dch ho

    c quay trong cc l

    nhd ch v quay thanh ghi

    Thanh ghi d liu DX (data): cng AX ch a d liu trong cc phptnh nhn chia s 16 bit. DX cn c dng ch a a ch cngtrong cc l nh vo ra d liu tr c ti p (IN/OUT)

    AX ALAH

    BX BLBH

    CX CLCH

    DX DLDH

    8 bit cao 8 bit th p

    8088/8086 n 80286 : 16 bits80386 tr ln: 32 bits EAX,EBX, ECX, EDX

    8/Chapter2 DHBK 2005

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    93/524

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

    Cu trc bn trong

    S kh iCc thanh ghi a n ngCc thanh ghi onCc thanh ghi con tr v ch sThanh ghi c

    Hng i lnh S chn

    Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086 M t tp lnh c a 8086 Cch nh a ch ch bo v cc my tnh t

    80286

    9/Chapter2 DHBK 2005

    CC cc thanhthanh ghighi o onn

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    94/524

    CC cc thanhthanh ghighi o onn

    T ch c c a b nh 1 Mbytes on b nh (segment)216 bytes =64 KB

    on 1: a ch u 0000 0 H on 2: a ch u 0001 0 H on cu i cng: FFFF 0 H

    nh trong on: a ch lch: offset 1: offset: 0000 cu i cng: offset: FFFF

    a ch vt l:Segment : offset

    00000H

    FFFFFH

    1FFFFH

    10000H

    1F000H

    1 0 0 0

    Offset=F000

    Thanh ghi on a ch vt l=Segment*16 + offset

    Ch th c (real mode)

    10/Chapter2 DHBK 2005

    CC cc thanhthanh ghighi o onn

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    95/524

    CC cc thanhthanh ghighi o onn

    V d: a ch vt l 12345H

    V d: Cho a ch u c a on: 49000 H, xc nh a ch cu i

    ?0300 H

    ?1004 H

    0345H1200 H

    2345H1000 H

    i ch lch a ch on

    11/Chapter2 DHBK 2005

    CC cc thanhthanh ghighi o onn

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    96/524

    CC cc thanhthanh ghighi o onn

    Cc thanh ghi on: ch a a ch on

    00000

    FFFFF

    on d liuData segment

    on mCode segment

    on ng n xpStack segment

    on d liu ph extra segment

    10000

    200001FFFF

    300002FFFF

    34000

    43FFF49000

    58FFF

    1 0 0 0 DS

    2 0 0 0 CS

    3 4 0 0 SS

    4 9 0 0 ES

    .............

    12/Chapter2 DHBK 2005

    CC cc thanhthanh ghighi o onn

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    97/524

    CC cc thanhthanh ghighi o onn

    Cc on ch ng nhau

    00000

    FFFFF

    Data

    Code

    Stack

    090F0

    0A0F00A0EF

    0A2800A27F

    0 9 0 F CS

    0 A 0 F DS

    0 A 2 8 SS

    0A4800A47Fc

    ode

    da

    ta

    stack

    13/Chapter2 DHBK 2005

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    98/524

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

    Cu trc bn trong

    S kh iCc thanh ghi a n ngCc thanh ghi onCc thanh ghi con tr v ch sThanh ghi c

    Hng i lnh S chn

    Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086 M t tp lnh c a 8086 Cch nh a ch ch bo v cc my tnh t

    80286

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    99/524

    15/Chapter2 DHBK 2005

    CC cc thanhthanh ghighi concon trtr vv chch ss

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    100/524

    CC cc thanhthanh ghighi concon tr tr vv chch ss

    Thanh ghi on v thanh ghi l ch ng m nh

    a ch chu i chDIES

    a ch d liuBX, DI, SI, s 8 bitho c s 16 bit

    DS

    a ch ng n xpSP ho c BPSS

    a ch lnhIPCS

    Ch thchOffsetSegment

    16/Chapter2 DHBK 2005

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    101/524

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

    Cu trc bn trong

    S kh iCc thanh ghi a n ngCc thanh ghi onCc thanh ghi con tr v ch sThanh ghi c

    Hng i lnh S chn

    Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086 M t tp lnh c a 8086 Cch nh a ch ch bo v cc my tnh t

    80286

    17/Chapter2 DHBK 2005

    ThanhThanh ghighi cc (Flag Register)(Flag Register)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    102/524

    ThanhThanh ghighi cc (Flag Register)(Flag Register)

    9 bit c s dng, 6 c tr ng thi:C ho c CF (carry flag)): CF=1 khi c nh ho c m n t MSBP ho c PF (parity flag): PF=1 (0) khi t ng s bt 1 trong k tqu l ch n (l)A hoc AF (auxilary carry flag): c nh ph , AF=1 khi cnh ho c m n t mt s BCD th p sang BCD caoZ ho c ZF (zero flag): ZF=1 khi k t qu bng 0S ho c SF (Sign flag): SF=1 khi k t qu m

    O hoc OF (Overflow flag): c trn OF=1 khi k t qu l m ts v t ra ngoi gi i hn bi u di n c a n trong khi th chin php ton c ng tr s c d u

    1 0215 14

    CPAZSTIDO

    18/Chapter2 DHBK 2005

    ThanhThanh ghighi cc (Flag Register)(Flag Register)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    103/524

    ThanhThanh ghighi cc (Flag Register)(Flag Register)

    3 c iu khi nT ho c TF (trap flag)): c by, TF=1 khi CPU lm vi c ch ch y tng lnh

    I hoc IF (Interrupt enable flag): c cho php ng t, IF=1 thCPU s cho php cc yu c u ng t (ng t che c) ctc ng (Cc l nh: STI, CLI)D hoc DF (direction flag): c h ng, DF=1 khi CPU lmvic vi chu i k t theo th t t ph i sang tri (l nh STD,CLD)

    1 0215 14

    CPAZSTIDO

    19/Chapter2 DHBK 2005

    ThanhThanh ghighi cc (Flag Register)(Flag Register)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    104/524

    ThanhThanh ghighi cc (Flag Register)(Flag Register)

    V d:

    SF=0 v msb trong k t qu =0PF=1 v c 0 bt c a t ng b ng 1

    ZF=1 v k t qa thu c l 0CF=1 v c nh t bt msb trong php c ngOF=1 v c trn trong php c ng 2 s m

    80h+

    80h

    100h

    20/Chapter2 DHBK 2005

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    105/524

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

    Cu trc bn trong

    S kh iCc thanh ghi a n ngCc thanh ghi onCc thanh ghi con tr v ch sThanh ghi c

    Hng i lnh S chn

    Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086 M t tp lnh c a 8086 Cch nh a ch ch bo v cc my tnh t

    80286

    21/Chapter2 DHBK 2005

    HH ngng ii llnhnh

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    106/524

    HH ngng ii llnhnh

    4 bytes i vi 8088 v 6 bytes i vi 8086

    X l pipeline

    F1 D1 E1 F2 D2 E2 F3 D3 E3

    F1 D1F2

    E1D2F3

    E2D3 E3

    Khng cpipelining

    C pipelining

    22/Chapter2 DHBK 2005

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    107/524

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

    Cu trc bn trong

    S chn Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086

    M t

    t

    p lnh c

    a 8086 Cch nh a ch ch bo v cc my tnh t

    80286

    23/Chapter2 DHBK 2005

    Intel 8088Intel 8088

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    108/524

    Intel 8088Intel 8088

    16-bit processor introduced in 1979 3 m, 5 to 8 MHz, 29

    KTOR, 0.33 to 0.66MIPS

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    109/524

    25/Chapter2 DHBK 2005

    Intel 8086Intel 8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    110/524

    Intel 8086Intel 8086

    26/Chapter2 DHBK 2005

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    111/524

    Ch ngg 2:: B vi x l Intel 8088/8086

    Cu trc bn trong

    S chn Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086

    M t

    t

    p lnh c

    a 8086 Cch nh a ch ch bo v cc my tnh t

    80286

    27/Chapter2 DHBK 2005

    BBnn bb nhnh cc aa mm yy tt nhnh IBM PCIBM PC

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    112/524

    B b c a yy t B C

    00000

    A00009FFFF

    FFFFF

    Vng nh ch ng trnh640 Kbytes

    Vng nh h thng484 Kbytes

    Vng nh m rng

    1 Mbytesb nh th c

    28/Chapter2 DHBK 2005

    BBnn vv ngng nhnh ch ngch ng tr tr nhnh

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    113/524

    gg gg

    00000

    02530

    Cc vector ng t0040000500

    0070001160

    08490

    9FFF0

    9FFFF

    Vng BIOSVng DOSIO.SYSMSDOS

    Device drivers (mouse.sys)COMMAND.COM

    MSDOS

    08E30

    Vng dnh cho ccch ng trnh ng d ng

    29/Chapter2 DHBK 2005

    BBnn vv ngng nhnh hh thth ngng

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    114/524

    gg gg

    A0000Video RAM ( ho )

    B0000

    F0000

    FFFFF

    Video BIOS ROM

    ROM BIOS

    Vng dnh

    E0000ROM BASIC

    C0000C8000

    Video RAM (text)

    30/Chapter2 DHBK 2005

    CC cc cc ngng vv oo rara

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    115/524

    gg

    a ch : 0000H FFFFH, M/IO =0

    0000

    0320

    iu khi n DMA002000400060

    02F8

    0378

    FFFF

    iu khi n ng t nh th i (8253)8255COM2 iu khi n cngLPT103D0

    Vng m r ng

    03F0

    03F8

    CGA adapter iu khi n a m mCOM1

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    116/524

    32/Chapter2 DHBK 2005

    VV ngng nhnh dd nhnh ringring cc aa 8088/80868088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    117/524

    gg gg

    00000Cc vector ng t

    003FF

    FFFF0Reset Bootstrapprogram jump

    FFFFF

    33/Chapter2 DHBK 2005

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    118/524

    gg

    Cu trc bn trong

    S

    chn Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086

    Ch a ch thanh ghiCh a ch tc thCh a ch tr c ti pCh a ch gin ti p qua thanh ghiCh a ch t ng i c sCh a ch t ng i ch sCh a ch t ng i ch s c s

    Cch m ho l nh c a 8086 M t tp lnh c a 8086 Cch nh a ch ch bo v cc my tnh t

    80286

    34/Chapter2 DHBK 2005

    ChCh aa chch thanhthanh ghighi(Register Addressing Mode)(Register Addressing Mode)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    119/524

    (Register Addressing Mode)(Register Addressing Mode) Dng cc thanh ghi nh l cc ton h ng

    Tc th c hi n lnh cao

    V d:MOV BX, DX ; Copy ni dung DX vo BXMOV AL, BL ; Copy ni dung BL vo ALMOV AL, BX ; khng h p l v cc thanh ghi c kch th ckhc nhauMOV ES, DS ; khng h p l (segment to segment)MOV CS, AX ; khng h p l v CS khng c dng lmthanh ghi ch

    ADD AL, DL ; Cng n i dung AL v DL r i a vo AL

    35/Chapter2 DHBK 2005

    ChCh aa chch ttcc thth (Immediate Addressing Mode)(Immediate Addressing Mode)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    120/524

    (Immediate Addressing Mode)(Immediate Addressing Mode) Ton h ng ch l thanh ghi ho c nh

    Ton h ng ngu n l hng s Dng np h ng s vo thanh thi (tr thanh ghi on v thanh c ) ho c vo nh trong on d liuDS

    V d:MOV BL, 44 ; Copy s th p phn 44 vo thanh ghi BLMOV AX, 44H ; Copy 0044H vo thanh ghi AXMOV AL, A ; Copy m ASCII c a A vo thanh ghi ALMOV DS, 0FF0H ; khng h p lMOV AX, 0FF0H ;

    MOV DS, AX ;

    MOV [BX], 10 ; copy s th p phn 10 vo nh DS:BX

    36/Chapter2 DHBK 2005

    ChCh aa chch tr tr cc titi pp(Direct Addressing Mode)(Direct Addressing Mode)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    121/524

    (Direct Addressing Mode)(Direct Addressing Mode) Mt ton h ng l a ch nh ch a d liu

    Ton h ng kia ch c th l thanh ghi

    V d:MOV AL, [1234H] ; Copy n i dung nh c a ch DS:1234 vo ALMOV [ 4320H ], CX ; Copy n i dung c a CX vo 2 nh lin tip DS:4320 v DS: 4321

    37/Chapter2 DHBK 2005

    ChCh aa chch gigi nn titi pp quaqua thanhthanh ghighi(Register indirect Addressing Mode)(Register indirect Addressing Mode)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    122/524

    (Register indirect Addressing Mode)(Register indirect Addressing Mode) Mt ton h ng l thanh ghi ch a a ch c a 1 nh

    d liu Ton h ng kia ch c th l thanh ghi

    V d:MOV AL, [BX] ; Copy n i dung nh c a ch DS:BX vo ALMOV [ SI ], CL ; Copy n i dung ca CL vo nh c a ch DS:SIMOV [ DI ], AX ;copy ni dung ca AX vo 2 nh lin tip DS: DI v DS:(DI +1)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    123/524

    39/Chapter2 DHBK 2005

    ChCh aa chch t ngt ng ii chch ss (Indexed relative Addressing Mode)(Indexed relative Addressing Mode)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    124/524

    (Indexed relative Addressing Mode)(Indexed relative Addressing Mode) Mt ton h ng l thanh ghi ch s SI, DI v cc h ng

    s biu di n gi tr d ch chuy n Ton h ng kia ch c th l thanh ghi

    V d:MOV AX, [SI]+10 ; Copy n i dung 2 nh lin tip c a ch DS:SI+10 vDS:SI+11 vo AXMOV AX, [SI+10] ; Cch vi t khc ca lnh trnMOV AL, [DI]+5 ; copy ni dung ca nh DS:DI+5 vo thanh ghi AL

    40/Chapter2 DHBK 2005

    ChCh aa chch t ngt ng ii chch ss c c ss (( Based Indexed relative Addressing ModeBased Indexed relative Addressing Mode ))

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    125/524

    (( Based Indexed relative Addressing ModeBased Indexed relative Addressing Mode ))

    V d:MOV AX, [BX] [SI]+8 ; Copy n i dung 2 nh lin tip c a ch DS:BX+SI+8 v DS:BX+SI+9 vo AXMOV AX, [BX+SI+8] ; Cch vi t khc ca lnh trn

    MOV CL, [BP+DI+5] ; copy ni dung c a nh SS:BP+DI+5 vo thanhghi CL

    41/Chapter2 DHBK 2005

    TT mm tt tt cc cc chch aa chch

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    126/524

    DS

    DSSSSS

    [BX] + [DI]+ d ch chuy n

    [BX] + [SI]+ d ch chuy n[BP] + [DI]+ d ch chuy n[BP] + [SI]+ d ch chuy n

    T ng i ch sc s

    DSDS

    [DI] + d ch chuy n[SI] + d ch chuy n

    T ng i ch s

    DS

    SS

    [BX] + d ch chuy n[BP] + d ch chuy n

    T ng i c s

    DS

    DS

    DS

    [BX]

    [SI]

    [DI]

    Gin ti p qua thanh ghi

    DS[offset]Tr c tip

    D liuT c th

    Thanh ghiThanh ghi

    Thanh ghi on ng m nhTon h ngCh a ch

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    127/524

    43/Chapter2 DHBK 2005

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    128/524

    Cu trc bn trong

    S chn Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086 M t tp lnh c a 8086 Cch nh a ch ch bo v cc my tnh t

    80286

    44/Chapter2 DHBK 2005

    CC chch mm hoho llnhnh cc aa 80868086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    129/524

    Mt lnh c di t 1 n 6 byte

    Opcode1-2 byte MOD-REG-R/M0-1 byte Dch chuy n0-2 byte Tc th0-2 byte

    D W

    Opcode W=0 d liu 1 byte

    W=1 d liu 2 byte

    D=1 d liu i n thanh ghi cho b i 3 bit REGD=0 d liu i t thanh ghi cho b i 3 bit REG

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    130/524

    46/Chapter2 DHBK 2005

    CC chch mm hoho llnhnh cc aa 80868086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    131/524

    V d: chuy n lnh MOV CL, [BX] sang m my

    opcode MOV: 100010D liu l 1 byte: W=0Chuy n t i thanh ghi: D=1Khng c d ch chuy n: MOD=00[BX] nn R/M=111CL nn REG=001

    1 01 0 0 0 1 0 0 0 0 0 1 1 1 1

    MOV D W MOD CL [BX]

    V d 2: chuy n lnh MOV [SI+F3H], CL sang m my

    47/Chapter2 DHBK 2005

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    132/524

    Cu trc bn trong

    S chn Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086 M t tp lnh c a 8086

    Cc l nh di chuy n d liuCc l nh s hc v logicCc l nh iu khi n ch ng trnh

    Cch nh a ch ch bo v cc my tnh t 80286

    48/Chapter2 DHBK 2005

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    133/524

    Cu trc bn trong

    S chn Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086 M t tp lnh c a 8086

    Cc l nh di chuy n d liuCc l nh s hc v logicCc l nh iu khi n ch ng trnh

    Cch nh a ch ch bo v cc my tnh t 80286

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    134/524

    50/Chapter2 DHBK 2005

    CC cc llnhnh didi chuychuy nn dd liliuu

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    135/524

    Kh n ng k t hp ton h ng c a lnh MOV

    NOYESNOYESHng s

    NONOYESYES nh

    NOYESNOYESThanh ghi on

    NOYESYESYESThanh ghi a n ng

    Hng s nh Thanh ghi onThanh ghi a n ng

    ch

    Ngu n

    51/Chapter2 DHBK 2005

    CC cc llnhnh didi chuychuy nn dd liliuu

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    136/524

    Lnh XCHGDng hon chuy n ni dung gi a hai thanh ghi, gi a 1 thanh ghiv 1 nh C php: XCHG ch, ngu nGii hn: ton h ng khng c l thanh ghi onLnh ny khng tc ng n c

    V d:XCHG AX, BXXCHG AX, [BX]

    52/Chapter2 DHBK 2005

    CC cc llnhnh didi chuychuy nn dd liliuu

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    137/524

    Lnh PUSHDng c t 1 t t thanh ghi ho c nh vo nh ng n x pC php: PUSH Ngu nM t : SP=SP-2, Ngu n => {SP}Gii hn: thanh ghi 16 bit ho c l 1 t nh

    Lnh ny khng tc ng n c V d:

    PUSH BXPUSH PTR[BX]

    Lnh PUSHFCt n i dung c a thanh ghi c vo ng n x p

    53/Chapter2 DHBK 2005

    CC cc llnhnh didi chuychuy nn dd liliuu

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    138/524

    V d v lnh PUSH

    130001300113002130031300413005130061300713008130091300A

    1 3 0 00 0 0 A

    1 2 3 4

    SS

    SP

    AX

    SP

    130001300113002130031300413005130061300713008130091300A

    1 3 0 00 0 0 8

    1 2 3 4

    SS

    SP

    AX

    SP

    PUSH AX

    1234

    130001300113002130031300413005130061300713008130091300A

    1 3 0 00 0 0 6

    7 8 5 6

    SS

    SP

    BX

    SP

    PUSH BX

    12347856

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    139/524

    55/Chapter2 DHBK 2005

    CC cc llnhnh didi chuychuy nn dd liliuu

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    140/524

    V d lnh POP

    130001300113002130031300413005130061300713008130091300A

    1 3 0 00 0 0 6

    3 2 5 4

    SS

    SP

    DX

    SP

    12347856

    130001300113002130031300413005130061300713008130091300A

    1 3 0 00 0 0 8

    7 8 5 6

    SS

    SP

    DX

    SP12347856

    POP DX

    56/Chapter2 DHBK 2005

    CC cc llnhnh didi chuychuy nn dd liliuu

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    141/524

    Lnh INDng c 1 byte ho c 2 byte d liu t cng vo thanh ghi ALho c AXC php: IN Acc, PortLnh ny khng tc ng n c V d:

    IN AX, 00HIN AL, F0H

    IN AX, DX Lnh OUT

    Dng a 1 byte ho c 2 byte d liu t thanh ghi AL ho c AX racngC php: OUT Port, AccLnh ny khng tc ng n c V d:

    OUT 00H, AXOUT F0H, ALOUT DX, AX

    57/Chapter2 DHBK 2005

    CC cc llnhnh didi chuychuy nn dd liliuu

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    142/524

    Cc l nh di chuy n chu i MOVS, MOVSB, MOVSWDng chuy n m t ph n t c a chu i ny sang m t chu ikhcC php: MOVS chu i ch, chu i ngu n

    MOVSBMOVSW

    Thc hi n:

    DS:SI l a ch ca ph n t trong chu i ngu nES:DI l a ch ca ph n t trong chu i chSau m i ln chuy n SI=SI +/- 1, DI=DI +/- 1 ho c SI=SI +/- 2,DI=DI +/- 2 tu thu c vo c h ng DF l 0/1

    Lnh ny khng tc ng n c V d:

    MOVS byte1, byte2

    58/Chapter2 DHBK 2005

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    143/524

    Cu trc bn trong

    S

    chn Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086 M t tp lnh c a 8086

    Cc l nh di chuy n d liuCc l nh s hc v logicCc l nh iu khi n ch ng trnh

    Cch nh a ch ch bo v cc my tnh t 80286

    59/Chapter2 DHBK 2005

    CC cc llnhnh ss hhcc vv logiclogic

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    144/524

    ADD, ADC, SUB, MUL, IMUL, DIV, IDIV, INC, DEC AND, OR, NOT, NEG, XOR Lnh quay v d ch: RCL, RCR, SAL, SAR, SHL, SHR Lnh so snh: CMP, CMPS

    Lnh ADD

    Lnh c ng hai ton h ngC php: ADD ch, ngu nThc hi n: ch= ch + ngu nGii hn: ton h ng khng c l 2 nh v thanh ghi onLnh ny thay i c: AF, CF, OF, PF, SF, ZF

    V d:ADD AX, BXADD AX, 40H

    60/Chapter2 DHBK 2005

    CC cc llnhnh ss hhcc vv logiclogic

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    145/524

    Lnh ADCLnh c ng c nh hai ton h ngC php: ADC ch, ngu nThc hi n: ch= ch + ngu n+CFGii hn: ton h ng khng c l 2 nh v thanh ghi onLnh ny thay i c: AF, CF, OF, PF, SF, ZFV d:

    ADC AL, 30H Lnh SUB

    Lnh tr C php: SUB ch, ngu nThc hi n: ch= ch - ngu nGii hn: ton h ng khng c l 2 nh v thanh ghi on

    Lnh ny thay i c: AF, CF, OF, PF, SF, ZFV d:SUB AL, 30H

    61/Chapter2 DHBK 2005

    CC cc llnhnh ss hhcc vv logiclogic

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    146/524

    Lnh MULLnh nhn s khng d uC php: MUL ngu nThc hi n:

    AX=AL* ngu n8bitDXAX=AX*ngu n16bit

    Lnh ny thay i c: CF, OFV d:

    MUL BL

    Lnh IMULnhn s c d u

    62/Chapter2 DHBK 2005

    CC cc llnhnh ss hhcc vv logiclogic

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    147/524

    Lnh DIVLnh chia 2 s khng d uC php: DIV ngu nThc hi n:

    AL = th ng (AX / ngu n8bit) ; AH=d (AX / ngun8bit)AX = th ng (DXAX / ngu n16bit) ; DX=d (DXAX / ngun16bit)

    Lnh ny khng thay i cV d:

    DIV BL

    Lnh IDIVchia 2 s c d u

    63/Chapter2 DHBK 2005

    CC cc llnhnh ss hhcc vv logiclogic

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    148/524

    Lnh INCLnh c ng 1 vo ton h ng l thanh ghi ho c nh C php: INC chThc hi n: ch= ch + 1Lnh ny thay i c: AF, OF, PF, SF, ZFV d:

    INC AX

    Lnh DECLnh tr 1 t ni dung m t thanh ghi ho c nh C php: DEC chThc hi n: ch= ch - 1Lnh ny thay i c: AF, OF, PF, SF, ZFV d:

    DEC [BX]

    64/Chapter2 DHBK 2005

    CC cc llnhnh ss hhcc vv logiclogic

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    149/524

    Lnh ANDLnh AND logic 2 ton h ngC php: AND ch, ngu nThc hi n: ch= ch And ngu nGii hn: ton h ng khng c l 2 nh ho c thanh ghi onLnh ny thay i c: PF, SF, ZF v xo c CF, OFV d:

    AND BL, 0FH

    Lnh XOR, OR: t ng t nh lnh AND

    Lnh NOT: o tng bit c a ton h ng Lnh NEG: xc nh s b 2 c a ton h ng

    65/Chapter2 DHBK 2005

    CC cc llnhnh ss hhcc vv logiclogic

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    150/524

    Lnh CMPLnh so snh 2 byte ho c 2 t

    C php: CMP ch, ngu nThc hi n:

    ch = ngu n : CF=0 ZF=1 ch> ngu n : CF=0 ZF=0 ch < ngu n : CF=1 ZF=0

    Gii hn: ton h ng ph i cng di v khng c l 2 nh Lnh CMPS

    Dng so snh t ng ph n t ca 2 chu i c cc ph n t cngloiC php: CMPS chu i ch, chu i ngu n

    CMPSBCMPSW

    Thc hi n:

    DS:SI l a ch ca ph n t trong chu i ngu nES:DI l a ch ca ph n t trong chu i chSau m i ln so snh SI=SI +/- 1, DI=DI +/- 1 ho c SI=SI +/- 2, DI=DI +/- 2tu thu c vo c h ng DF l 0/1

    Cp nh t c AF, CF, OF, PF, SF, ZF

    66/Chapter2 DHBK 2005

    CC cc llnhnh ss hhcc vv logiclogic

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    151/524

    Lnh RCLLnh quay tri thng qua c nh C php: RCL ch, CL (vi s ln quay l n h n 1)

    RCL ch, 1RCL ch, S ln quay (80286 tr ln)

    Thc hi n: quay tri ch CL l n ch l thanh ghi (tr thanh ghi on) ho c nh

    Lnh ny thay i c: CF, OF

    Lnh RCRLnh quay ph i thng qua c nh

    CF MSB LSB

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    152/524

    68/Chapter2 DHBK 2005

    CC cc llnhnh ss hhcc vv logiclogic

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    153/524

    Lnh SALLnh d ch tri s hcC php: SAL ch, CL (vi s ln d ch l n h n 1)

    SAL ch, 1SAL ch, s ln d ch (80286 tr ln)

    Thc hi n: d ch tri ch CL bit t ng ng v i ch= ch*2 CLLnh ny thay i c SF, ZF, PF

    Lnh SHLLnh d ch tri logic t ng t nh SAL

    CF MSB LSB

    0

    69/Chapter2 DHBK 2005

    CC cc llnhnh ss hhcc vv logiclogic

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    154/524

    Lnh SARLnh d ch ph i s hcC php: SAR ch, CL (vi s ln d ch l n h n 1)

    SAR ch, 1ho c SAR ch, s ln d ch (80286 tr ln)

    Thc hi n: d ch ph i ch CL bitLnh ny thay i c SF, ZF, PF, CF mang gi tr ca MSB

    CFMSB LSB

    70/Chapter2 DHBK 2005

    CC cc llnhnh ss hhcc vv logiclogic

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    155/524

    Lnh SHRLnh d ch ph i logicC php: SHR ch, CL (vi s ln d ch l n h n 1)

    SHR ch, 1ho c SHR ch, s ln d ch (80286 tr ln)

    Thc hi n: d ch ph i ch CL bitLnh ny thay i c SF, ZF, PF, CF mang gi tr ca LSB

    CFMSB LSB

    0

    Ch :Trong cc l nh d ch v quay, ton h ng khng c l thanh ghi on

    71/Chapter2 DHBK 2005

    Ch ngCh ng 2:2: BB vivi xx ll Intel 8088/8086Intel 8088/8086

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    156/524

    Cu trc bn trong S chn Bn b nh ca my tnh IBM-PC Cc ch a ch c a 8086 Cch m ho l nh c a 8086 M t tp lnh c a 8086

    Cc l nh di chuy n d liu

    Cc l nh s hc v logicCc l nh iu khi n ch ng trnh

    Lnh nh y khng iu ki n: JMPLnh nh y c iu ki n JE, JG, JGE, JL, JLE...Lnh l p LOOPLnh g i ch ng trnh con CALL

    Lnh g i ch ng trnh con ph c v ng t INT v IRET

    Cch nh a ch ch bo v cc my tnh t 80286

    72/Chapter2 DHBK 2005

    LLnhnh nhnh yy khngkhng i iuu kiki nn JMPJMP

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    157/524

    Dng nh y ti mt a ch trong b nh

    3 lo i: nh y ng n, g n v xaLnh nh y ng n (short jump) di l nh 2 bytes:

    Ph m vi nh y: -128 n 127 bytes so v i lnh ti p theo l nhJMP

    Thc hi n: IP=IP + lch

    V d:

    E B lch

    XOR BX, BX

    Nhan: MOV AX, 1

    ADD AX, BX

    JMP SHORT Nhan

    73/Chapter2 DHBK 2005

    LLnhnh nhnh yy khngkhng i iuu kiki nn JMPJMP

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    158/524

    Lnh nh y gn (near jump)Ph m vi nh y: 32 Kbytes so v i lnh ti p theo l nh JMPV d:

    E 9 lchLo

    XOR BX, BX

    Nhan: MOV AX, 1

    ADD AX, BX

    JMP NEAR Nhan

    lchHi

    XOR CX, CX

    MOV AX, 1

    ADD AX, BX

    JMP NEAR PTR BX

    XOR CX, CX

    MOV AX, 1

    ADD AX, BX

    JMP WORD PTR [BX]

    Thc hi n: IP=IP+ lch IP=BX IP=[BX+1] [BX]

    Nhy gin ti p

    74/Chapter2 DHBK 2005

    LLnhnh nhnh yy khngkhng i iuu kiki nn JMPJMP

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    159/524

    Lnh nh y xa (far jump) di l nh 5 bytes i vi nh y ti nhn:

    Ph m vi nh y: nh y trong 1 on m ho c nh y sang on mkhcV d:

    E A IP Lo

    EXTRN Nhan : FARNext: MOV AX, 1

    ADD AX, BX

    JMP FAR PTR Next

    ........

    JMP FAR Nhan

    IP Hi

    Thc hi n: IP=IP c a nhnCS=CS c a nhn

    CS Lo CS Hi

    XOR CX, CXMOV AX, 1

    ADD AX, BX

    JMP DWORD PTR [BX]

    IP = [BX+1][BX]CS= [BX+3][BX+2]

    75/Chapter2 DHBK 2005

    TT mm tt tt llnhnh JMPJMP

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    160/524

    JMP

    00000H

    FFFFFH

    +127

    -128

    on m 2

    on m 1Nhy ng n Nhy gn

    Nhy xa

    76/Chapter2 DHBK 2005

    LLnhnh nhnh yy cc i iuu kiki nn

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    161/524

    JE or JZ, JNE or JNZ, JG, JGE, JL, JLE (dng chos c d u) v JA, JB, JAE, JBE (dng cho s khngdu) ...

    Nh y c th c hi n ph thu c vo cc c L cc l nh nh y ng n V d:

    Nhan1 : XOR BX, BX

    Nhan2: MOV AX, 1

    CMP AL, 10H

    JNE Nhan1

    JE Nhan2

    Thc hi n: IP=IP + d ch

    77/Chapter2 DHBK 2005

    LLnhnh llpp LOOPLOOP

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    162/524

    LOOP, LOOPE/LOOPZ, LOOPNE/LOOPNZ

    L lnh ph

    i h

    p gi

    a DEC CX v JNZ

    XOR AL, AL

    MOV CX, 16

    Lap: INC AL

    LOOP Lap

    Lp n kh CX=0

    XOR AL, AL

    MOV CX, 16

    Lap: INC AL

    CMP AL, 10

    LOOPE Lap

    Lp n kh CX=0ho c AL10

    XOR AL, AL

    MOV CX, 16

    Lap: INC AL

    CMP AL, 10

    LOOPNE Lap

    Lp n kh CX=0ho c AL=10

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    163/524

    79/Chapter2 DHBK 2005

    LLnhnh CALLCALL

    CALL (f ll) h h

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    164/524

    CALL xa (far call): t ng t nh nh y xaGi ch ng trnh con ngoi on m

    Tong PROC FAR

    ADD AX, BX

    ADD AX, CX

    RET

    Tong ENDP

    ...

    CALL Tong

    CALL DWORD PTR [BX]

    Ct CS vo ng n xpCt IP vo ng n xpIP=IP c a TongCS =CS c a TongRET: l y IP t ng n xply CS t ng n xp

    Ct CS vo ng n xpCt IP vo ng n xpIP = [BX+1][BX]CS= [BX+3][BX+2]RET: l y IP t ng n xply CS t ng n xp

    80/Chapter2 DHBK 2005

    LLnhnh ngng tt INTINT vv IRETIRET

    INT i h h h (CTCPVN)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    165/524

    INT g i ch ng trnh con ph c v ng t (CTCPVN) Bng vector ng t: 1 Kbytes 00000H n 003FF H

    256 vector ng t1 vector 4 bytes, ch a IP v CS c a CTCPVN32 vector u dnh ring cho Intel224 vector sau dnh cho ng i dng

    C php: INT Number V d: INT 21H g i CTCPVN c a DOS

    81/Chapter2 DHBK 2005

    LLnhnh ngng tt INTINT vv IRETIRET

    Th hi INT

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    166/524

    Th c hi n INT:Ct thanh ghi c vo ng n xpIF=0 (c m cc ng t khc tc ng), TF=0 (ch y su t)Ct CS vo ng n xpCt IP vo ng n xpIP=[N*4], CS=[N*4+2]

    Gp IRET:Ly IP t ng n x pLy CS t ng n xpLy thanh ghi c t ng n x p

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    167/524

    83/Chapter2 DHBK 2005

    nhnh aa chch bb nhnh chch bboo vv

    Ch h t d li h t h

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    168/524

    Cho php truy c p d liu v ch ng trnh vngnh trn 1M

    Thanh ghi l ch ch a a ch lch Thanh ghi on ch a t ch n on (segment

    selector)t ch n on ch n 1 ph n t trong 1 trong 2 b ng m t on (descriptor table), m i bng c kch th c 64 KB

    Bng m t on ton c c (Global DT): ch a thng tin v cc on c a b nh m t t c cc ch ng trnh c th truy nh pBng m t on c c b (Local DT): ch a thng tin v cc onca 1 ch ng trnh

    M t on ch a thng tin v a ch bt u c a on

    84/Chapter2 DHBK 2005

    nhnh aa chch bb nhnh chch bboo vv

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    169/524

    01215

    Index TI RPL

    RPL : m c u tin yu c u, 00 cao nh t, 11 th p nh tTI =0, s dng b ng ton c c, TI=1 s dng b ng cc bIndex : 13 bit ch s chn 1 trong 8K m t on trong b ng m t on

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    Access rights Base(B23-B16)

    Base(B15-B0)

    Limit(L15-L0) 01

    3

    57

    2

    46 Base(B31-B24)

    G D O A LimitV (L19-L16)

    Access rights Base(B23-B16)

    Base(B15-B0)

    Limit(L15-L0) 01

    3

    57

    2

    46

    m t on c a 80286 m t on t 80386Base: xc nh a ch bt u c a onLimit: gi i hn kch th c t i a c a on

    85/Chapter2 DHBK 2005

    nhnh aa chch bb nhnh chch bboo vv

    80286

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    170/524

    80286Base 24 bit: 000000H n FFFFFFH (16 MB)Limit 16 bit: kch th c on: t 1 n 64 KB a ch vt l= Base + lch1 ch ng trnh c th s dng t i a: 2*8K*64 K= 1GB b nh => b nh o (virtual memory)

    80386/486/PentiumBase 32 bit: 00000000H n FFFFFFFFH (4 GB)Limit 20 bit:

    G=0: kch th c on: t 1 n 1MBG=1: kch th c on t 4K n 4 GB

    a ch vt l= Base + lch

    1 ch ng trnh c th s dng t i a: 2*8K*4 GB= 64Terabytes b nh

    1/Chapter3 DHBK 2005

    NNii dungdung mnmn hh cc

    1 Gi i thi h h i l

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    171/524

    1. Gi i thi u chung v h vi x l2. B vi x l Intel 8088/80863. L p trnh h p ng cho 80864. T ch c vo ra d liu5. Ng t v x l ng t6. Truy c p b nh tr c ti p DMA7. Cc b vi x l trn th c t

    2/Chapter3 DHBK 2005

    Ch ngCh ng 33 LLpp tr tr nhnh hh pp ngng vv ii 80868086

    Gi i thi kh g h g t h h g

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    172/524

    Gi i thi u khung c a ch ng trnh h p ng Cch t o v ch y m t ch ng trnh h p ng trn

    my IBM PC Cc c u trc l p trnh c b n th c hi n b ng h p

    ng Mt s ch ng trnh c th

    3/Chapter3 DHBK 2005

    Ch ngCh ng 33 LLpp tr tr nhnh hh pp ngng vv ii 80868086

    Gi i thi kh ng c ch ng trnh h p ng

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    173/524

    Gi i thi u khung c a ch ng trnh h p ng C php c a ch ng trnh h p ng D liu cho ch ng trnhBin v h ngKhung c a m t ch ng trnh h p ng

    Cch t o v ch y m t ch ng trnh h p ng trnmy IBM PC

    Cc c u trc l p trnh c b n th c hi n b ng h png

    Mt s ch ng trnh c th

    4/Chapter3 DHBK 2005

    Ch ngCh ng 33 LLpp tr tr nhnh hh pp ngng vv ii 80868086

    Gi i thi u khung c a ch ng trnh h p ng

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    174/524

    Gi i thi u khung c a ch ng trnh h p ng C php c a ch ng trnh h p ng D liu cho ch ng trnhBin v h ngKhung c a m t ch ng trnh h p ng

    Cch t o v ch y m t ch ng trnh h p ng trnmy IBM PC

    Cc c u trc l p trnh c b n th c hi n b ng h png

    Mt s ch ng trnh c th

    5/Chapter3 DHBK 2005

    CC phph pp cc aa ch ngch ng tr tr nhnh hh pp ngng 1. .Model Small khai bo ki u kch th c b nh

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    175/524

    2. .Stack 100

    3. .Data4. Tbao DB Chuoi d a sap xep :, 10, 135. MGB DBa, Y, G , T , y , Z , U , B , D , E ,6. DB $7. .Code

    8. MAIN Proc9. MOV AX, @Data ;khoi dau DS10. MOV DS, AX11. MOV BX, 10 ;BX: so phan tu cua mang12. LEA DX, MGB ;DX chi vao dau mang byte13. DEC BX ;so vong so sanh phai lam14. LAP: MOV SI, DX ; SI chi vao dau mang15. MOV CX, BX ; CX so lan so cua vong so16. MOV DI, SI ;gia su ptu dau la max17. MOV AL, [DI] ;AL chua phan tu max

    18. TIMMAX:19. INC SI ;chi vao phan tu ben canh20. CMP [SI], AL ; phan tu moi > max?21. JNG TIEP ;khong, tim max22. MOV DI, SI ; dung, DI chi vao max23. MOV AL, [DI] ;AL chua phan tu max24. TIEP: LOOP TIMMAX ;tim max cua mot vong so25. CALL DOICHO ;doi cho max voi so moi26. DEC BX ;so vong so con lai27. JNZ LAP ;lam tiep vong so moi28. MOV AH, 9 ; hien thi chuoi da sap xep29. MOV DX, Tbao30. INT 21H31. MOV AH, 4CH ;ve DOS32. INT 21H33. MAIN Endp34. DOICHO Proc35. PUSH AX36. MOV AL, [SI]37. XCHG AL, [DI]38. MOV [SI], AL39. POP AX40. RET41. DOICHOEndp42. END MAIN

    khai bo on ng n xp

    khai bo on d liukhai bo on m l nh

    bt u ch ng trnh chnh

    kt thc ch ng trnh chnh

    bt u ch ng trnh conkt thc on m

    ch thch b tubng du ;

    6/Chapter3 DHBK 2005

    CC phph pp cc aa ch ngch ng tr tr nhnh hh pp ngng

    Tn M l nh Cc ton h ng ; ch gi i

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    176/524

    Tn M l nh Cc ton h ng ; ch gi i Ch ng trnh d ch khng phn bi t ch hoa, ch

    th ng Tr ng tn:

    ch a cc nhn, tn bi n, tn th t c di: 1 n 31 k t tn khng c c d u cch, khng b t u b ng s c dng cc k t c bi t: ? . @ _ $ %d u . ph i c t v tr u tin n u s dngNhn k t thc b ng d u :

    TWO_WORD

    ?1two-word.@?1wordLets_go

    7/Chapter3 DHBK 2005

    Ch ngCh ng 33 LLpp tr tr nhnh hh pp ngng vv ii 80868086

    Gi i thi u khung c a ch ng trnh h p ng

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    177/524

    Gi i thi u khung c a ch ng trnh h p ng C php c a ch ng trnh h p ng D liu cho ch ng trnhBin v h ngKhung c a m t ch ng trnh h p ng

    Cch t o v ch y m t ch ng trnh h p ng trnmy IBM PC

    Cc c u trc l p trnh c b n th c hi n b ng h png

    Mt s ch ng trnh c th

    8/Chapter3 DHBK 2005

    DD liliuu chocho ch ngch ng tr tr nhnh

    D liu:

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    178/524

    D liu:cc s h s 2: 0011Bh s 10: 1234h s 16: 1EF1H, 0ABBAHK t , chu i k t : A, abcd

    9/Chapter3 DHBK 2005

    Ch ngCh ng 33 LLpp tr tr nhnh hh pp ngng vv ii 80868086

    Gi i thi u khung c a ch ng trnh h p ng

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    179/524

    Gi i thi u khung c a ch ng trnh h p ng C php c a ch ng trnh h p ng D liu cho ch ng trnhBin v h ngKhung c a m t ch ng trnh h p ng

    Cch t o v ch y m t ch ng trnh h p ng trnmy IBM PC

    Cc c u trc l p trnh c b n th c hi n b ng h png

    Mt s ch ng trnh c th

    10/Chapter3 DHBK 2005

    BiBi nn vv hh ngng

    DB (define byte): nh ngh a bi n ki u byte

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    180/524

    DB (define byte): nh ngh a bi n ki u byte DW (define word): nh ngh a bi n ki u t DD (define double word): nh ngh a bi n ki u t kp

    Bi n byte:Tn DB gia_tr _kh i u

    V d :B1 DB 4B1 DB ?C1 DB $C1 DB 34

    MOV AL, B1

    LEA BX, B1MOV AL, [BX]

    11/Chapter3 DHBK 2005

    BiBi nn vv hh ngng

    Bi n t :

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    181/524

    Bi n t :Tn DW gia_tr _kh i u

    V d : W1 DW 4 W2 DW ?

    Bi n m ng:M1 DB 4, 5, 6, 7, 8, 9

    M2 DB 100 DUP(0)M3 DB 100 DUP(?)

    M4 DB 4, 3, 2, 2 DUP (1, 2 DUP(5), 6)

    M4 DB 4, 3, 2, 1, 5, 5, 6, 1, 5, 5, 6

    13000

    130011300213003130041300513006130071300813009

    1300A

    7

    65

    4

    89

    M1

    12/Chapter3 DHBK 2005

    BiBi nn vv hh ngng

    Bi n m ng 2 chi u:

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    182/524

    Bi n m ng 2 chi u:

    M1 DB 1, 6, 3DB 4, 2, 5

    M2 DB 1, 4DB 6, 2

    13000

    130011300213003130041300513006130071300813009

    1300A

    4

    36

    1

    25

    M1

    1 6 3

    4 2 5

    DB 3, 5

    MOV AL, M1 ; copy 1 vao ALMOV AH, M1[2]

    MOV BX, 1MOV SI, 1MOV CL, M1[BX+SI]MOV AX, Word Ptr M1[BX+SI+2]MOV DL, M1[BX][SI]

    13/Chapter3 DHBK 2005

    BiBi nn vv hh ngng

    Bi n ki u xu k t

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    183/524

    Bi n ki u xu k t STR1 DB stringSTR2 DB 73h, 74h, 72h, 69h, 6Eh, 67hSTR3 DB 73h, 74h, r, i, 6Eh, 67h

    H ng c tnC th khai bo h ng trong ch ng trnhTh ng c khai bo on d liuV d :

    CR EQU 0Dh ;CR l carriage returnLF EQU 0Ah ; LF l line feedCHAO EQU Hello

    MSG DB CHAO, $

    14/Chapter3 DHBK 2005

    Ch ngCh ng 33 LLpp tr tr nhnh hh pp ngng vv ii 80868086

    Gi i thi u khung c a ch ng trnh h p ng

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    184/524

    Gi i thi u khung c a ch ng trnh h p ng C php c a ch ng trnh h p ng D liu cho ch ng trnhBin v h ngKhung c a m t ch ng trnh h p ng

    Cch t o v ch y m t ch ng trnh h p ng trnmy IBM PC

    Cc c u trc l p trnh c b n th c hi n b ng h png

    Mt s ch ng trnh c th

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    185/524

    16/Chapter3 DHBK 2005

    KhungKhung cc aa ch ngch ng tr tr nhnh hh pp ngng

    Khai bo o n ng n x p

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    186/524

    g p.Stack kch thu c (bytes)

    V d :.Stack 100 ; khai bo stack c kch th c 100 bytes

    Gi tr ng m nh 1KB

    Khai bo o n d liu:.DataKhai bo cc bi n v h ng

    Khai bo o n m.Code

    17/Chapter3 DHBK 2005

    KhungKhung cc aa ch ngch ng tr tr nhnh hh pp ngng

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    187/524

    PSP PSP100h

    ch ng trnh ch ng trnh

    Stack

    100h

    SSCS

    DSES

    .COM . EXE

    18/Chapter3 DHBK 2005

    KhungKhung cc aa ch ngch ng tr tr nhnh hh pp ngng

    Khung c a ch ng trnh h p ng d ch ra file .EXE

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    188/524

    .Model Small

    .Stack 100

    .Data;cc nh ngh a cho bi n v h ng

    .CodeMAIN Proc

    ;kh i u cho DSMOV AX, @dataMOV DS, AX;cc lnh ca ch ng trnh;tr vDOS dng hm 4CH c a INT 21HMOV AH, 4CHINT 21H

    MAIN Endp;cc ch ng trnh con n u c

    END MAIN

    19/Chapter3 DHBK 2005

    KhungKhung cc aa ch ngch ng tr tr nhnh hh pp ngng

    Ch ng trnh Hello.EXE

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    189/524

    .Model Small

    .Stack 100

    .DataCRLF DB 13,10,$MSG DB Hello! $

    .CodeMAIN Proc

    ;kh i u cho DSMOV AX, @dataMOV DS, AX;v u dng m i dng hm 9 c a INT 21H

    MOV AH,9LEA DX, CRLFINT 21H;Hi n th l i cho dng hm9 c a INT 21HMOV AH,9LEA DX, MSGINT 21H;v u dng m i dng hm 9 c a INT 21HMOV AH,9LEA DX, CRLF

    INT 21H;tr vDOS dng hm 4CH c a INT 21HMOV AH, 4CHINT 21H

    MAIN EndpEND MAIN

    20/Chapter3 DHBK 2005

    KhungKhung cc aa ch ngch ng tr tr nhnh hh pp ngng

    Khung c a ch ng trnh h p ng d ch ra file .COM

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    190/524

    .Model Tiny

    .CodeORG 100h

    START: JMP CONTINUE

    ;cc nh ngh a cho bi n v h ngCONTINUE:MAIN Proc

    ;cc lnh ca ch ng trnhINT 20H ;tr vDOS

    MAIN Endp

    ;cc ch

    ng trnh con n u cEND START

    21/Chapter3 DHBK 2005

    KhungKhung cc aa ch ngch ng tr tr nhnh hh pp ngng

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    191/524

    0000H

    FFFFH

    on u ch ng trnhProgram segment prefix

    0100H JMP CONTINUE

    D liu

    CONTINUE:

    SP

    IP

    Chiu tin ca ng n xp

    Chiu tin ca m v d liu

    22/Chapter3 DHBK 2005

    KhungKhung cc aa ch ngch ng tr tr nhnh hh pp ngng

    Ch ng trnh Hello.COM

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    192/524

    .Model Tiny

    .CodeORG 100H

    START: JMP CONTINUECRLF DB 13,10,$MSG DB Hello! $

    CONTINUE:MAIN Proc

    ;v u dng m i dng hm 9 c a INT 21HMOV AH,9

    LEA DX, CRLFINT 21H;Hin th l i cho dng hm 9 c a INT 21HMOV AH,9LEA DX, MSGINT 21H;v u dng m i dng hm 9 c a INT 21HMOV AH,9

    LEA DX, CRLFINT 21H;tr vDOSINT 20H

    MAIN Endp

    23/Chapter3 DHBK 2005

    Ch ngCh ng 33 LLpp tr tr nhnh hh pp ngng vv ii 80868086

    Gi i thi u khung c a ch ng trnh h p ng

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    193/524

    g g p g Cch t o v ch y m t ch ng trnh h p ng trn

    my IBM PC Cc c u trc l p trnh c b n th c hi n b ng h p

    ng Mt s ch ng trnh c th

    24/Chapter3 DHBK 2005

    CC chch tt oo mm tt ch ngch ng tr tr nhnh hh pp ngng

    To ra t p v n bn ca ch ng trnh

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    194/524

    *.asm

    Dng MASM d ch ra m my*.obj

    Dng LINK ni tp . obj thnh*.exe

    Dng exe2bin dch *.exe thnh*.com

    chy ch ng trnh

    Dch c ra .com?khng

    25/Chapter3 DHBK 2005

    Ch ngCh ng 33 LLpp tr tr nhnh hh pp ngng vv ii 80868086

    Gi i thi u khung c a ch ng trnh h p ng

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    195/524

    Cch t o v ch y m t ch ng trnh h p ng trnmy IBM PC

    Cc c u trc l p trnh c b n th c hi n b ng h png

    Cu trc l a ch nCu trc l p

    Mt s ch ng trnh c th

    26/Chapter3 DHBK 2005

    CCuu tr tr cc llaa chch nn If If --thenthen

    If iu_ki n then cng_vi c

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    196/524

    V d : Gn cho BX gi tr tuy t i c a AX

    ; If AX

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    197/524

    V d : if AX

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    198/524

    Gi tr 1: cng vi c 1Gi tr 2: cng vi c 2

    ...Gi tr N: cng vi c N

    END CASE

    V d :CMP AX, 0 ;JL AM ; AX0

    AM: MOV CX, -1JMP End_case

    Khong: MOV CX, 0JMP End_case

    DUONG: MOV CX, 1End_case:

    Nu AX0 th CX=1

    29/Chapter3 DHBK 2005

    CC uu tr tr cc llpp FORFOR --DODO

    For s ln l p Do cng vi c

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    199/524

    MOV CX, 80 ;s ln lpMOV AH,2 ;hm hi n th

    MOV DL,$ ;DL ch a k t cn hin th HIEN: INT 21H ; Hi n th LOOP HIEN

    End_for

    kh i to b m

    cng vic

    gim b

    m

    i 1

    b m=0?S

    v d : Hi n th m t dng k t $ trn mn hnh

    30/Chapter3 DHBK 2005

    CC uu tr tr cc llpp While While --DODO

    While iu ki n Do cng vi c

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    200/524

    XOR CX, CX ;CX=0MOV AH,1 ;hm c k t t bn phm

    TIEP: INT 21H ; c mt k t vo ALCMP AL, 13 ; c CR?

    JE End_while ; ng, thotINC CX ; sai, thm 1 k t vo tngJMP TIEP ; c tip

    End_while:

    cng vic

    iu kin

    S

    v d : m s k t c c t bn phm,khi g p k t CR th thi

    31/Chapter3 DHBK 2005

    CC uu tr tr cc llpp RepeatRepeat --untiluntil

    Repeat cng vi c until iu ki n

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    201/524

    MOV AH,1 ;hm c k t t bn phmTIEP: INT 21H ; c mt k t vo AL

    CMP AL, 13 ; c CR?JNE TIEP ; ch a, c tip

    End_:

    cng vic

    iu ki n

    S

    v d: c t bn phm cho t i khi gp k t CR th thi

    32/Chapter3 DHBK 2005

    Ch ngCh ng 33 LLpp tr tr nhnh hh pp ngng vv ii 80868086

    Gi i thi u khung c a ch ng trnh h p ng

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    202/524

    Cch t o v ch y m t ch ng trnh h p ng trnmy IBM PC

    Cc c u trc l p trnh c b n th c hi n b ng h png

    Mt s ch ng trnh c th

    33/Chapter3 DHBK 2005

    XuXu tt nhnh pp dd liliuu

    2 cch:Dng l nh IN OUT trao i vi cc thi t b ngo i vi

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    203/524

    Dng l nh IN, OUT trao i vi cc thi t b ngo i viph c t p v ph i bi t a ch c ng ghp n i thi t b Cc h th ng khc nhau c a ch khc nhau

    Dng cc ch ng trnh con ph c v ng t c a DOS v BIOS n gi n, d s d ngkhng ph thu c vo h th ng

    Ng t 21h c a DOS:Hm 1: c 1 k t t bn phm

    Vo: AH=1Ra: AL=m ASCII c a k t , AL=0 khi k t l phm ch c n ng

    Hm 2: hi n 1 k t ln mn hnhVo: AH=2

    DL=m ASCII c a k t c n hi n th Hm 9: hi n chu i k t vi $ cu i ln mn hnh

    Vo: AH=9DX= a ch lch c a chu i k t c n hi n th

    Hm 4CH: k t thc ch ng trnh lo i .exeVo: AH=4CH

    34/Chapter3 DHBK 2005

    MMtt ss ch ngch ng tr tr nhnh cc thth

    V d 1: L p ch ng trnh yu c u ng i s dng g vo m tch ci th ng v hi n th d ng ch hoa v m ASCII d i

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    204/524

    ch ci th ng v hi n th d ng ch hoa v m ASCII d i

    d

    ng nh

    phn c

    a ch

    ci

    ln mn hnhV d :Hay nhap vao mot chu cai thuong: aM ASCII d i dng nh phn c a a la: 11000001Dang chu hoa cua a la: A

    Gi i:

    V d 2:c t bn phm m t s h hai (di nh t l 16 bit), k tqu c c t i thanh ghi BX. Sau hi n n i dung thanh

    ghi BX ra mn hnh.Gi i:

    V d 3: Nh p m t dy s 8 bit d ng th p phn, cc s cchnhau b ng 1 d u cch v k t thc b ng phm Enter. S p x p

    dy s theo th t t ng d n v in dy s s p x p ra mnhnh.Gi i:

    35/Chapter3 DHBK 2005

    MMtt ss ch ngch ng tr tr nhnh cc thth

    V d 4: Vi t ch ng trnh cho php nh p vo kchh h h

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    205/524

    th c M*N v cc ph n t c a m t m ng 2 chi ugm cc s th p phn 8 bit.

    Tm s ln nh t v nh nh t c a m ng, in ra mn hnhTnh t ng cc ph n t c a m ng v in ra mn hnhChuy n thnh m ng N*M v in m ng m i ra mn hnh

    Gi i:

    Hy nh p gi tr M=

    Hy nh p gi tr N=

    Nhp ph n t [1,1]=

    Nhp ph n t [1,2]

    ......

    S l n nh t l ph n t [3,4]=15

    Snhnht l ph n t [1,2]=2

    Tng=256

    ...

    DHBK 2005

    NN ii dungdung mnmn hh cc

    1 Gi i hi h h i l

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    206/524

    1. Gi i thi u chung v h vi x l2. B vi x l Intel 8088/80863. L p trnh h p ng cho 8086

    4. T ch c vo ra d liu5. Ng t v x l ng t6. Truy c p b nh tr c ti p DMA

    7. Cc b vi x l trn th c t

    DHBK 2005

    Ch ngCh ng 4:4: TT chch cc vv oo rara

    C t hi 8086 h h

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    207/524

    Cc tn hi u c a 8086 v cc m ch ph 8288

    Ghp n i 8088 v i b nh Ghp n i 8086 v i b nh Ghp n i v i thi t b ngo i vi

    DHBK 2005

    Ch ngCh ng 4:4: TT chch cc vv oo rara

    C t hi 8086 h h

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    208/524

    Cc tn hi u c a 8086 v cc m ch ph 8288

    Cc tn hi u c a 8086Phn knh v vi c m cho cc bus

    Mch t o xung nh p 8284 v m ch iu khi nBi u th i gian c a cc l nh ghi/ c

    Ghp n i 8088 v i b nh

    Ghp n i 8086 v i b nh Ghp n i v i thi t b ngo i vi

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    209/524

    DHBK 2005

    CC cc chnchn tt nn hihi uu cc aa

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    210/524

    8086

    AD0-AD15

    A16/S3

    A17/S4

    A19/S6A18/S5

    BHE/S7READY

    HOLD(RQ/GT0)HLDA(RQ/GT1)HLDA(RQ/GT1)

    M/IO (S2)

    DT/R(S1)

    WR (LOCK)RD

    DEN (S0)SS0

    NMIINTR

    MN/MXRESET

    Tn hi u iukhi n h thng

    Tn hi u iukhi n CPU

    DHBK 2005

    CC cc chnchn tt nn hihi uu cc aa

    AD0-AD15:

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    211/524

    AD0-AD15:

    ALE =1: 16 chn a ch cho b nh ho c I/OALE=0: 16 ng d liu

    A19/S6-A16/S34 bit a ch cao4 bit tr ng thi:

    S6 lun b ng 1S5: tr ng thi c a IFS4, S3: bit tr ng thi v thanh ghi o n

    ang truy c p

    READY: input pin,0 => vi x l vo tr ng thi i

    S4 S3

    0 0

    0 1

    1 0

    1 1

    DHBK 2005

    CC cc chnchn tt nn hihi uu cc aa

    NMI (Non-maskable interrupt)

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    212/524

    NMI (Non-maskable interrupt)NMI=1 => th c hi n INT 2

    RESET1: kh i ng l i h th ng v th c hi n l nh t i nh

    MN/MX1: ch min0: ch max

    BHE/S7:0: cho php truy c p byte cao d liuTr ng thi S7 lun b ng 1

    RD0: CPU c d liu t b nh ho c thi t b ngo i vi

    DHBK 2005

    CC cc chnchn tt nn hihi uu cc aa

    Cc chn ch min

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    213/524

    Cc chn ch minINTA: interrupt acknowledge

    0: khi INTR=1 v IF=1

    ALE: address latch enableDT/R: data transmit/receive

    1: bus d liu ang truy n d liu i0: bus d liu ang nh n d liu

    DEN: Data enable0: kch ho t m d liu ngoi

    HOLD1: CPU t m d ng ho t ng nh ng quy n iu khibus c t tr ng thi tr khng cao

    DHBK 2005

    CC cc chnchn tt nn hihi uu cc aa

    Cc chn ch Max

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    214/524

    Cc chn ch MaxS2, S1, S0

    ghp n i v i iu khi n bus 8288

    S2 S1 S0chu k iu khi n ca

    0 0 0 ch p nh n yu c u ng t

    0 0 1 c thi t b ngo i vi0 1 0 Ghi thi t b ngo i vi

    0 1 1 D ng1 0 0 c m l nh1 0 1 c bnh

    DHBK 2005

    CC cc chnchn tt nn hihi uu cc aa

    Cc chn ch Max

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    215/524

    Cc chn ch MaxRQ/GT0 v RQ/GT1: Request/Grant

    Tn hi u yu c u dng bus c a cc b vi x l khc/chc a CPUGT0 c m c u tin cao h n GT1

    LOCK0: c m cc b vi x l khc dng bus

    QS0 v QS1:tr ng thi c a hng i lnh

    QS1 QS0 Tr ng thi hng i lnh

    DHBK 2005

    Ch ngCh ng 4:4: TT chch cc vv oo rara

    Cc tn hi u c a 8086 v cc m ch ph

  • 8/14/2019 ky thuat vi xu ly - pham ngoc nam

    216/524

    Cc tn hi u c a 8086 v cc m ch ph 8288

    Cc tn hi u c a 8086Phn knh v vi c m cho cc bus

    Mch t o xung nh p 8284 v m ch iu khi nBi u th i gian c a cc l nh