ky thuat vi xu ly - pham ngoc nam
TRANSCRIPT
-
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