microprocessor final ver1_part2
TRANSCRIPT
![Page 1: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/1.jpg)
1/Chapter2© DHBK 2005
N i dung môn h cộ ọN i dung môn h cộ ọ
1. Gi i thi u chung v h vi x lýớ ệ ề ệ ử2. B vi x lý Intel 8088/8086ộ ử3. L p trình h p ng cho 8086ậ ợ ữ4. T ch c vào ra d li uổ ứ ữ ệ5. Ng t và x lý ng tắ ử ắ6. Truy c p b nh tr c ti p DMAậ ộ ớ ự ế7. Các b vi x lý trên th c tộ ử ự ế
![Page 2: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/2.jpg)
2/Chapter2© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ
80286
![Page 3: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/3.jpg)
3/Chapter2© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ S đ kh iơ ồ ố Các thanh ghi đa năng Các thanh ghi đo nạ Các thanh ghi con tr và ch sỏ ỉ ố Thanh ghi cờ Hàng đ i l nhợ ệ
• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ
80286
![Page 4: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/4.jpg)
4/Chapter2© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ S đ kh iơ ồ ố Các thanh ghi đa năng Các thanh ghi đo nạ Các thanh ghi con tr và ch sỏ ỉ ố Thanh ghi cờ Hàng đ i l nhợ ệ
• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ
80286
![Page 5: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/5.jpg)
5/Chapter2© DHBK 2005
S đ kh i 8088/8086ơ ồ ốS đ kh i 8088/8086ơ ồ ố
CSDS
ESIP
BXAX
CXDXSPBP
DISI SS
ALU
Khối điều khiển
của EU
Logic điều khiển
bus
∑Các thanh ghi đa năng
Các thanh ghicon trỏvà chỉ số
Các thanh ghiđoạn và con trỏlệnh
Các thanh ghi tạm thời
Thanh ghi cờ
Hàng đợi lệnh
Bus ngoài
Bus trong của CPU16 bit dữ liệu20 bit địa chỉ
bus địa chỉ 20 bitEU BIU
Bus dữ liệu ALU 16 bit
![Page 6: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/6.jpg)
6/Chapter2© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ S đ kh iơ ồ ố Các thanh ghi đa năng Các thanh ghi đo nạ Các thanh ghi con tr và ch sỏ ỉ ố Thanh ghi cờ Hàng đ i l nhợ ệ
• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ
80286
![Page 7: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/7.jpg)
7/Chapter2© DHBK 2005
Các thanh ghi đa năng c a 8088/8086ủCác thanh ghi đa năng c a 8088/8086ủ
• Thanh ghi ch a AX (accumulator): ch a k t qu c a các phép tính. ứ ứ ế ả ủK t 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 dùng ơ ở ứ ị ỉ ơ ở ụ ủ ảtrong l nh XLAT (Translate)ệ
• Thanh ghi đ m CX (count): dùng đ ch a s l n l p trong các l nh l p ế ể ứ ố ầ ặ ệ ặ(Loop). CL đ c dùng đ ch a s l n d ch ho c quay trong các l nh ượ ể ứ ố ầ ị ặ ệd ch và quay thanh ghiị
• Thanh ghi d li u DX (data): cùng AX ch a d li u trong các phép tính ữ ệ ứ ữ ệnhân chia s 16 bit. DX còn đ c dùng đ ch a đ a ch c ng trong các ố ượ ể ứ ị ỉ ổl nh vào ra d li u 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 bitsế
•80386 tr lên: 32 bits EAX, EBX, ởECX, EDX
![Page 8: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/8.jpg)
8/Chapter2© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ S đ kh iơ ồ ố Các thanh ghi đa năng Các thanh ghi đo nạ Các thanh ghi con tr và ch sỏ ỉ ố Thanh ghi cờ Hàng đ i l nhợ ệ
• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ
80286
![Page 9: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/9.jpg)
9/Chapter2© DHBK 2005
Các thanh ghi đo nạCác thanh ghi đo nạ
• T ch c c a b nh 1 Mbytesổ ứ ủ ộ ớ Đo n b nh (segment)ạ ộ ớ
216 bytes =64 KBĐo n 1: đ a ch đ u 0000ạ ị ỉ ầ 0 HĐo n 2: đ a ch đ u 0001ạ ị ỉ ầ 0 HĐo n cu i cùng: FFFFạ ố 0 H
Ô nh trong đo n:ớ ạđ a ch l ch: offsetị ỉ ệÔ 1: offset: 0000Ô cu i cùng: offset: FFFFố
Đ a ch v t lý:ị ỉ ậSegment : offset
00000H
FFFFFH
1FFFFH
10000H
1F000H
1 0 0 0
Offset=F000
Thanh ghi đo nạĐ a ch v t lý=Segment*16 + offsetị ỉ ậ
Ch đ th c (real mode)ế ộ ự
![Page 10: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/10.jpg)
10/Chapter2
© DHBK 2005
Các thanh ghi đo nạCác thanh ghi đo nạ
• Ví d : Đ a ch v t lý 12345Hụ ị ỉ ậ
• Ví d : Cho đ a ch đ u c a đo n: 49000 H, xác đ nh đ a ch cu iụ ị ỉ ầ ủ ạ ị ị ỉ ố
Đ a ch đo nị ỉ ạ Đi ch l chạ ỉ ệ
1000 H 2345H
1200 H 0345H
1004 H ?
0300 H ?
![Page 11: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/11.jpg)
11/Chapter2
© DHBK 2005
Các thanh ghi đo nạCác thanh ghi đo nạ
• Các thanh ghi đo n: ch a đ a ch đo nạ ứ ị ỉ ạ
00000
FFFFF
Đoạn dữ liệuData segment
Đoạn mãCode segment
Đoạn ngăn xếpStack segment
Đoạn dữ liệu 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
.............
![Page 12: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/12.jpg)
12/Chapter2
© DHBK 2005
Các thanh ghi đo nạCác thanh ghi đo nạ
• Các đo n 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
data
stack
![Page 13: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/13.jpg)
13/Chapter2
© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ S đ kh iơ ồ ố Các thanh ghi đa năng Các thanh ghi đo nạ Các thanh ghi con tr và ch sỏ ỉ ố Thanh ghi cờ Hàng đ i l nhợ ệ
• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ
80286
![Page 14: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/14.jpg)
14/Chapter2
© DHBK 2005
Các thanh ghi con tr và ch sỏ ỉ ốCác thanh ghi con tr và ch sỏ ỉ ố
• Ch a đ a ch l ch (offset)ứ ị ỉ ệ Con tr l nh IP (instruction pointer): ch a đ a ch l nh ti p ỏ ệ ứ ị ỉ ệ ế
theo trong đo n mã l nh CS. ạ ệCS:IP
Con tr c s BP (Base Pointer): ch a đ a ch c a d li u ỏ ơ ở ứ ị ỉ ủ ữ ệtrong đo n ngăn x p SS ho c các đo n khácạ ế ặ ạ
SS:BP Con tr ngăn x p SP (Stack Pointer): ch a đ a ch hi n th i ỏ ế ứ ị ỉ ệ ờ
c a đ nh ngăn x pủ ỉ ếSS:SP
Ch s ngu n SI (Source Index): ch a đ a ch d li u ngu n ỉ ố ồ ứ ị ỉ ữ ệ ồtrong đo n d li u DS trong các l nh chu iạ ữ ệ ệ ỗ
DS:SI Ch s đích (Destination Index): ch a đ a ch d li u đích ỉ ố ứ ị ỉ ữ ệ
trong đo n d li u DS trong các l nh chu iạ ữ ệ ệ ỗDS:DI
SI và DI có th đ c s d ng nh thanh ghi đa năngể ượ ử ụ ư 80386 tr lên 32 bit: EIP, EBP, ESP, EDI, ESIở
![Page 15: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/15.jpg)
15/Chapter2
© DHBK 2005
Các thanh ghi con tr và ch sỏ ỉ ốCác thanh ghi con tr và ch sỏ ỉ ố
• Thanh ghi đo n và thanh ghi l ch ng m đ nhạ ệ ầ ị
Segment Offset Chú thích
CS IP Đ a ch l nhị ỉ ệ
SS SP ho c BPặ Đ a ch ngăn x pị ỉ ế
DS BX, DI, SI, s 8 bit ốho c s 16 bitặ ố
Đ a ch d li uị ỉ ữ ệ
ES DI Đ a ch chu i ị ỉ ỗđích
![Page 16: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/16.jpg)
16/Chapter2
© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ S đ kh iơ ồ ố Các thanh ghi đa năng Các thanh ghi đo nạ Các thanh ghi con tr và ch sỏ ỉ ố Thanh ghi cờ Hàng đ i l nhợ ệ
• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ
80286
![Page 17: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/17.jpg)
17/Chapter2
© DHBK 2005
Thanh ghi c (Flag Register)ờThanh ghi c (Flag Register)ờ
• 9 bit đ c s d ng, 6 c tr ng thái:ượ ử ụ ờ ạ C hoăc CF (carry flag)): CF=1 khi có nh ho c m n t MSBớ ặ ượ ừ P ho c PF (parity flag): PF=1 (0) khi t ng s bít 1 trong k t ặ ổ ố ế
qu là ch n (l )ả ẵ ẻ A ho c AF (auxilary carry flag): c nh ph , AF=1 khi có nh ặ ờ ớ ụ ớ
ho c m n t m t s BCD th p sang BCD caoặ ượ ừ ộ ố ấ Z ho c ZF (zero flag): ZF=1 khi k t qu b ng 0ặ ế ả ằ S ho c SF (Sign flag): SF=1 khi k t qu âmặ ế ả O ho c OF (Overflow flag): c tràn OF=1 khi k t qu là m t ặ ờ ế ả ộ
s v t ra ngoài gi i h n bi u di n c a nó trong khi th c ố ượ ớ ạ ể ễ ủ ựhi n phép toán c ng tr s có d uệ ộ ừ ố ấ
1 0215 14
CPAZSTIDO
![Page 18: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/18.jpg)
18/Chapter2
© DHBK 2005
Thanh ghi c (Flag Register)ờThanh ghi c (Flag Register)ờ
• 3 c đi u khi nờ ề ể T hoăc TF (trap flag)): c b y, TF=1 khi CPU làm vi c ch ờ ẫ ệ ở ế
đ ch y t ng l nhộ ạ ừ ệ I ho c IF (Interrupt enable flag): c cho phép ng t, IF=1 thì ặ ờ ắ
CPU s cho phép các yêu c u ng t (ng t che đ c) đ c tác ẽ ầ ắ ắ ượ ượđ ng (Các l nh: STI, CLI)ộ ệ
D ho c DF (direction flag): c h ng, DF=1 khi CPU làm vi c ặ ờ ướ ệv i chu i ký t theo th t t ph i sang trái (l nh STD, CLD)ớ ỗ ự ứ ự ừ ả ệ
1 0215 14
CPAZSTIDO
![Page 19: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/19.jpg)
19/Chapter2
© DHBK 2005
Thanh ghi c (Flag Register)ờThanh ghi c (Flag Register)ờ
• Ví d : ụ
SF=0 vì msb trong k t qu =0ế ả PF=1 vì có 0 bít c a t ng b ng 1ủ ổ ằ ZF=1 vì k t q a thu đ c là 0ế ủ ượ CF=1 vì có nh t bít msb trong phép c ngớ ừ ộ OF=1 vì có tràn trong phép c ng 2 s âmộ ố
80h +
80h
100h
![Page 20: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/20.jpg)
20/Chapter2
© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ S đ kh iơ ồ ố Các thanh ghi đa năng Các thanh ghi đo nạ Các thanh ghi con tr và ch sỏ ỉ ố Thanh ghi cờ Hàng đ i l nhợ ệ
• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ
80286
![Page 21: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/21.jpg)
21/Chapter2
© DHBK 2005
Hàng đ i l nhợ ệHàng đ i l nhợ ệ
• 4 bytes đ i v i 8088 và 6 bytes đ i v i 8086ố ớ ố ớ• X lý pipelineử
F1 D1 E1 F2 D2 E2 F3 D3 E3
F1 D1F2
E1D2F3
E2D3 E3
Không có pipelining
Có pipelining
![Page 22: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/22.jpg)
22/Chapter2
© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ
80286
![Page 23: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/23.jpg)
23/Chapter2
© DHBK 2005
Intel 8088Intel 8088
• 16-bit processor• introduced in 1979• 3 µm, 5 to 8 MHz, 29
KTOR, 0.33 to 0.66 MIPS
![Page 24: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/24.jpg)
24/Chapter2
© DHBK 2005
Intel 8088Intel 8088
•Ch đ Min và ch đ Max:ế ộ ế ộ
MN/MX = 1 ch đ Minế ộ = 0 ch đ Max v i bus ế ộ ớcontroller 8288
![Page 25: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/25.jpg)
25/Chapter2
© DHBK 2005
Intel 8086Intel 8086
![Page 26: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/26.jpg)
26/Chapter2
© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ
80286
![Page 27: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/27.jpg)
27/Chapter2
© DHBK 2005
B n đ b nh c a máy tính IBM PCả ồ ộ ớ ủB n đ b nh c a máy tính IBM PCả ồ ộ ớ ủ
00000
A00009FFFF
FFFFF
Vùng nhớ chương trình640 Kbytes
Vùng nhớ hệ thống484 Kbytes
Vùng nhớ mở rộng
1 Mbytes b nh th cộ ớ ự
![Page 28: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/28.jpg)
28/Chapter2
© DHBK 2005
B n đ vùng nh ch ng trìnhả ồ ớ ươB n đ vùng nh ch ng trìnhả ồ ớ ươ
00000
02530
Các vector ng tắ00400005000070001160
08490
9FFF09FFFF
Vùng BIOSVùng DOSIO.SYSMSDOS
Device drivers (mouse.sys)COMMAND.COM
MSDOS
08E30
Vùng dành cho các ch ng trình ng d ngươ ứ ụ
![Page 29: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/29.jpg)
29/Chapter2
© DHBK 2005
B n đ vùng nh h th ngả ồ ớ ệ ốB n đ vùng nh h th ngả ồ ớ ệ ố
A0000Video RAM (đ ho )ồ ạ
B0000
F0000FFFFF
Video BIOS ROM
ROM BIOS
Vùng đ dànhể
E0000ROM BASIC
C0000C8000
Video RAM (text)
![Page 30: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/30.jpg)
30/Chapter2
© DHBK 2005
Các c ng vào raổCác c ng vào raổ
• Đ a ch : 0000H –FFFFH, M/IO =0ị ỉ
0000
0320
Đi u khi n DMAề ể00200040006002F8
0378
FFFF
Đi u khi n ng tề ể ắĐ nh th i (8253)ị ờ8255COM2
Đi u khi n c ngề ể ổ ứLPT103D0
Vùng m r ngở ộ
03F003F8
CGA adapterĐi u khi n đĩa m mề ể ề COM1
![Page 31: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/31.jpg)
31/Chapter2
© DHBK 2005
Trình t kh i đ ngự ở ộTrình t kh i đ ngự ở ộ
• Khi b t ngu n ho c nh n Resetậ ồ ặ ấ CS=FFFFh và IP=0000 => đ a ch FFFF0 ch a ch th chuy n ị ỉ ứ ỉ ị ể
đi u khi n đ n đi m kh i đ u c a các ch ng trình BIOSề ể ế ể ớ ầ ủ ươ Các ch ng trình BIOS ki m tra h th ng và b nhươ ể ệ ố ộ ớ Các ch ng trình BIOS kh i t o b ng vector ng t và vùng ươ ở ạ ả ắ
d li u BIOSữ ệ BIOS n p ch ng trình kh i đ ng (boot program) t đĩa vào ạ ươ ở ộ ừ
b nhộ ớ Ch ng trình kh i đ ng n p h đi u hành t đĩa vào b nhươ ở ộ ạ ệ ề ừ ộ ớ H đi u hành n p các ch ng trình ng d ngệ ề ạ ươ ứ ụ
![Page 32: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/32.jpg)
32/Chapter2
© DHBK 2005
Vùng nh dành riêng c a 8088/8086ớ ủVùng nh dành riêng c a 8088/8086ớ ủ
00000Các vector ng tắ
003FF
FFFF0Reset Bootstrapprogram jump
FFFFF
![Page 33: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/33.jpg)
33/Chapter2
© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ
Ch đ đ a ch thanh ghiế ộ ị ỉ Ch đ đ a ch t c thìế ộ ị ỉ ứ Ch đ đ a ch tr c ti pế ộ ị ỉ ự ế Ch đ đ a ch gián ti p qua thanh ghiế ộ ị ỉ ế Ch đ đ a ch t ng đ i c sế ộ ị ỉ ươ ố ơ ở Ch đ đ a ch t ng đ i ch sế ộ ị ỉ ươ ố ỉ ố Ch đ đ a ch t ng đ i ch s c sế ộ ị ỉ ươ ố ỉ ố ơ ở
• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ
80286
![Page 34: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/34.jpg)
34/Chapter2
© DHBK 2005
Ch đ đ a ch thanh ghiế ộ ị ỉCh đ đ a ch thanh ghiế ộ ị ỉ(Register Addressing Mode)(Register Addressing Mode)
• Dùng các thanh ghi nh là các toán h ngư ạ• T c đ th c hi n l nh caoố ộ ự ệ ệ
• Ví d :ụ MOV BX, DX ; Copy n i dung DX vào BXộ MOV AL, BL ; Copy n i dung BL vào ALộ MOV AL, BX ; không h p l vì các thanh ghi có kích th c ợ ệ ướ
khác nhau MOV ES, DS ; không h p l (segment to segment)ợ ệ MOV CS, AX ; không h p l vì CS không đ c dùng làm ợ ệ ượ
thanh ghi đích
ADD AL, DL ; C ng n i dung AL và DL r i đ a vào ALộ ộ ồ ư
![Page 35: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/35.jpg)
35/Chapter2
© DHBK 2005
Ch đ đ a ch t c thìế ộ ị ỉ ứCh đ đ a ch t c thìế ộ ị ỉ ứ(Immediate Addressing Mode)(Immediate Addressing Mode)
• Toán h ng đích là thanh ghi ho c ô nhạ ặ ớ• Toán h ng ngu n là ạ ồ h ng sằ ố• Dùng đ n p h ng s vào thanh thi (tr thanh ghi ể ạ ằ ố ừ
đo n và thanh c ) ho c vào ô nh trong đo n d li u ạ ờ ặ ớ ạ ữ ệDS
• Ví d :ụ MOV BL, 44 ; Copy s th p phân 44 vào thanh ghi BLố ậ MOV AX, 44H ; Copy 0044H vào thanh ghi AX MOV AL, ‘A’ ; Copy mã ASCII c a A vào thanh ghi ALủ MOV DS, 0FF0H ; không h p l ợ ệ MOV AX, 0FF0H ; MOV DS, AX ;
MOV [BX], 10 ; copy s th p phân 10 vào ô nh DS:BXố ậ ớ
![Page 36: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/36.jpg)
36/Chapter2
© DHBK 2005
Ch đ đ a ch tr c ti pế ộ ị ỉ ự ếCh đ đ a ch tr c ti pế ộ ị ỉ ự ế(Direct Addressing Mode)(Direct Addressing Mode)
• M t toán h ng là đ a ch ô nh ch a d li uộ ạ ị ỉ ớ ứ ữ ệ• Toán h ng kia ch có th là thanh ghiạ ỉ ể
• Ví d :ụ MOV AL, [1234H] ; Copy nội dung ô nhớ có địa chỉ DS:1234 vào AL MOV [ 4320H ], CX ; Copy nội dung của CX vào 2 ô nhớ liên tiếp DS:
4320 và DS: 4321
![Page 37: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/37.jpg)
37/Chapter2
© DHBK 2005
Ch đ đ a ch gián ti p qua thanh ghi ế ộ ị ỉ ếCh đ đ a ch gián ti p qua thanh ghi ế ộ ị ỉ ế(Register indirect Addressing Mode)(Register indirect Addressing Mode)
• M t toán h ng là thanh ghi ch a đ a ch c a 1 ô nh ộ ạ ứ ị ỉ ủ ớd li uữ ệ
• Toán h ng kia ch có th là thanh ghiạ ỉ ể
• Ví d :ụ MOV AL, [BX] ; Copy nội dung ô nhớ có địa chỉ DS:BX vào AL MOV [ SI ], CL ; Copy nội dung của CL vào ô nhớ có địa chỉ DS:SI MOV [ DI ], AX ; copy nội dung của AX vào 2 ô nhớ liên tiếp DS: DI và
DS: (DI +1)
![Page 38: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/38.jpg)
38/Chapter2
© DHBK 2005
Ch đ đ a ch t ng đ i c s ế ộ ị ỉ ươ ố ơ ởCh đ đ a ch t ng đ i c s ế ộ ị ỉ ươ ố ơ ở(Based relative Addressing Mode)(Based relative Addressing Mode)
• M t toán h ng là thanh ghi c s BX, BP và các ộ ạ ơ ởh ng s bi u di n giá tr d ch chuy nằ ố ể ễ ị ị ể
• Toán h ng kia ch có th là thanh ghiạ ỉ ể
• Ví d :ụ MOV CX, [BX]+10 ; Copy nội dung 2 ô nhớ liên tiếp có địa chỉ DS:BX+10
và DS:BX+11 vào CX MOV CX, [BX+10] ; Cách viết khác của lệnh trên MOV AL, [BP]+5 ; copy nội dung của ô nhớ SS:BP+5 vào thanh ghi AL
![Page 39: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/39.jpg)
39/Chapter2
© DHBK 2005
Ch đ đ a ch t ng đ i ch s ế ộ ị ỉ ươ ố ỉ ốCh đ đ a ch t ng đ i ch s ế ộ ị ỉ ươ ố ỉ ố(Indexed relative Addressing Mode)(Indexed relative Addressing Mode)
• M t toán h ng là thanh ghi ch s SI, DI và các h ng ộ ạ ỉ ố ằs bi u di n giá tr d ch chuy nố ể ễ ị ị ể
• Toán h ng kia ch có th là thanh ghiạ ỉ ể
• Ví d :ụ MOV AX, [SI]+10 ; Copy nội dung 2 ô nhớ liên tiếp có địa chỉ DS:SI+10
và DS:SI+11 vào AX MOV AX, [SI+10] ; Cách viết khác của lệnh trên MOV AL, [DI]+5 ; copy nội dung của ô nhớ DS:DI+5 vào thanh ghi AL
![Page 40: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/40.jpg)
40/Chapter2
© DHBK 2005
Ch đ đ a ch t ng đ i ch s c sế ộ ị ỉ ươ ố ỉ ố ơ ởCh đ đ a ch t ng đ i ch s c sế ộ ị ỉ ươ ố ỉ ố ơ ở( ( Based Indexed relative Addressing ModeBased Indexed relative Addressing Mode))
• Ví d :ụ MOV AX, [BX] [SI]+8 ; Copy nội dung 2 ô nhớ liên tiếp có địa chỉ
DS:BX+SI+8 và DS:BX+SI+9 vào AX MOV AX, [BX+SI+8] ; Cách viết khác của lệnh trên MOV CL, [BP+DI+5] ; copy nội dung của ô nhớ SS:BP+DI+5 vào thanh
ghi CL
![Page 41: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/41.jpg)
41/Chapter2
© DHBK 2005
Tóm t t các ch đ đ a chắ ế ộ ị ỉTóm t t các ch đ đ a chắ ế ộ ị ỉChế độ địa chỉ Toán hạng Thanh ghi đoạn ngầm định
Thanh ghi Thanh ghi
Tức thì Dữ liệu
Trực tiếp [offset] DS
Gián tiếp qua thanh ghi [BX][SI][DI]
DSDSDS
Tương đối cơ sở [BX] + dịch chuyển[BP] + dịch chuyển
DSSS
Tương đối chỉ số [DI] + dịch chuyển[SI] + dịch chuyển
DSDS
Tương đối chỉ số cơ sở [BX] + [DI]+ dịch chuyển[BX] + [SI]+ dịch chuyển[BP] + [DI]+ dịch chuyển[BP] + [SI]+ dịch chuyển
DSDSSSSS
![Page 42: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/42.jpg)
42/Chapter2
© DHBK 2005
B ch đ ng m đ nh thanh ghi đo nỏ ế ộ ầ ị ạB ch đ ng m đ nh thanh ghi đo nỏ ế ộ ầ ị ạ(Segment override)(Segment override)
• Ví d :ụ MOV AL, [BX]; Copy nội dung ô nhớ có địa chỉ DS:BX vào AL MOV AL, ES:[BX] ; Copy nội dung ô nhớ có địa chỉ ES:BX vào AL
![Page 43: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/43.jpg)
43/Chapter2
© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ
80286
![Page 44: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/44.jpg)
44/Chapter2
© DHBK 2005
Cách mã hoá l nh c a 8086ệ ủCách mã hoá l nh c a 8086ệ ủ
• M t l nh có đ dài t 1 đ n 6 byteộ ệ ộ ừ ế
Opcode1-2 byte
MOD-REG-R/M0-1 byte
D ch chuy nị ể0-2 byte
T c thìứ0-2 byte
D W
Opcode W=0 d li u 1 byteữ ệ
W=1 d li u 2 byteữ ệ
D=1 d li u đi đ n thanh ghi cho b i 3 bit REGữ ệ ế ở
D=0 d li u đi t thanh ghi cho b i 3 bit REGữ ệ ừ ở
![Page 45: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/45.jpg)
45/Chapter2
© DHBK 2005
Cách mã hoá l nh c a 8086ệ ủCách mã hoá l nh c a 8086ệ ủ
MOD
00 không có d ch chuy nị ể01 d ch chuy n 8 bitị ể10 d ch chuy n 16 bitị ể11 R/M là thanh ghi
REG
Thanh ghi Mã
W=1 W=0AX AL 000BX BL 011CX CL 001DX DL 010SP AH 100DI BH 111BP CH 101SI DH 110
R/M
Mã Chế độ địa chỉ
000 DS:[BX+SI]001 DS:[BX+DI]010 SS:[BP+SI]011 SS:[BP+DI]100 DS:[SI]101 DS:[DI]110 SS:[BP]111 DS:[BX]
MOD <> 11
![Page 46: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/46.jpg)
46/Chapter2
© DHBK 2005
Cách mã hoá l nh c a 8086ệ ủCách mã hoá l nh c a 8086ệ ủ
• Ví d : chuy n l nh MOV CL, [BX] sang mã máyụ ể ệ opcode MOV: 100010 D li u là 1 byte: W=0ữ ệ Chuy n t i thanh ghi: D=1ể ớ Không có d ch chuy n: MOD=00ị ể [BX] nên R/M=111 CL nên REG=001
1 01 0 0 0 1 0 0 0 0 0 1 1 1 1
MOV D WMOD CL [BX]
Ví d 2: chuy n l nh MOV [SI+F3H], CL sang mã máyụ ể ệ
![Page 47: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/47.jpg)
47/Chapter2
© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ
Các l nh di chuy n d li uệ ể ữ ệ Các l nh s h c và logicệ ố ọ Các l nh đi u khi n ch ng trìnhệ ề ể ươ
• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ80286
![Page 48: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/48.jpg)
48/Chapter2
© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ
Các l nh di chuy n d li uệ ể ữ ệ Các l nh s h c và logicệ ố ọ Các l nh đi u khi n ch ng trìnhệ ề ể ươ
• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ80286
![Page 49: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/49.jpg)
49/Chapter2
© DHBK 2005
Các l nh di chuy n d li uệ ể ữ ệCác l nh di chuy n d li uệ ể ữ ệ
• MOV, XCHG, POP, PUSH, POPF, PUSHF, IN, OUT• Các l nh di chuy n chu i MOVS, MOVSB, MOVSWệ ể ỗ
• MOV Dùng đ chuy n gi a các thanh ghi, gi a 1 thanh ghi và 1 ô ể ể ữ ữ
nh ho c chuy n 1 s vào thanh ghi ho c ô nhớ ặ ể ố ặ ớ Cú pháp: MOV Đích, ngu nồ L nh này không tác đ ng đ n cệ ộ ế ờ Ví d :ụ
MOV AX, BXMOV AH, ‘A’MOV AL, [1234H]
![Page 50: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/50.jpg)
50/Chapter2
© DHBK 2005
Các l nh di chuy n d li uệ ể ữ ệCác l nh di chuy n d li uệ ể ữ ệ
• Kh năng k t h p toán h ng c a l nh MOVả ế ợ ạ ủ ệ
Thanh ghi đa năng
Thanh ghi đo nạ
ô nhớ H ng sằ ố
Thanh ghi đa năng
YES YES YES NO
Thanh ghi đo nạ
YES NO YES NO
Ô nhớ YES YES NO NO
H ng sằ ố YES NO YES NO
Đích
Ngu nồ
![Page 51: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/51.jpg)
51/Chapter2
© DHBK 2005
Các l nh di chuy n d li uệ ể ữ ệCác l nh di chuy n d li uệ ể ữ ệ
• L nh XCHGệ Dùng đ hoán chuy n n i dung gi a hai thanh ghi, gi a 1 thanh ghi ể ể ộ ữ ữ
và 1 ô nh ớ Cú pháp: XCHG Đích, ngu nồ Gi i h n: toán h ng không đ c là thanh ghi đo nớ ạ ạ ượ ạ L nh này không tác đ ng đ n cệ ộ ế ờ Ví d :ụ
XCHG AX, BXXCHG AX, [BX]
![Page 52: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/52.jpg)
52/Chapter2
© DHBK 2005
Các l nh di chuy n d li uệ ể ữ ệCác l nh di chuy n d li uệ ể ữ ệ
• L nh PUSHệ Dùng đ c t 1 t t thanh ghi ho c ô nh vào đ nh ngăn x p ể ấ ừ ừ ặ ớ ỉ ế Cú pháp: PUSH Ngu nồ Mô t : SP=SP-2, Ngu n => {SP}ả ồ Gi i h n: thanh ghi 16 bit ho c là 1 t nhớ ạ ặ ừ ớ L nh này không tác đ ng đ n cệ ộ ế ờ Ví d :ụ
PUSH BXPUSH PTR[BX]
• L nh PUSHFệ C t n i dung c a thanh ghi c vào ngăn x pấ ộ ủ ờ ế
![Page 53: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/53.jpg)
53/Chapter2
© DHBK 2005
Các l nh di chuy n d li uệ ể ữ ệCác l nh di chuy n d li uệ ể ữ ệ
• Ví d v l nh PUSHụ ề ệ
130001300113002130031300413005130061300713008130091300A
1 3 0 0
0 0 0 A
1 2 3 4
SS
SP
AX
SP
130001300113002130031300413005130061300713008130091300A
1 3 0 0
0 0 0 8
1 2 3 4
SS
SP
AX
SP
PUSH AX
1234
130001300113002130031300413005130061300713008130091300A
1 3 0 0
0 0 0 6
7 8 5 6
SS
SP
BX
SP
PUSH BX
12347856
![Page 54: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/54.jpg)
54/Chapter2
© DHBK 2005
Các l nh di chuy n d li uệ ể ữ ệCác l nh di chuy n d li uệ ể ữ ệ
• L nh POPệ Dùng đ l y l i 1 t vào thanh ghi ho c ô nh t đ nh ngăn x p ể ấ ạ ừ ặ ớ ừ ỉ ế Cú pháp: POP Đích Mô t : {SP} => Đích, SP=SP+2ả Gi i h n: thanh ghi 16 bit (tr CS) ho c là 1 t nhớ ạ ừ ặ ừ ớ L nh này không tác đ ng đ n cệ ộ ế ờ Ví d :ụ
POP BXPOP PTR[BX]
• L nh POPFệ L y 1 t t đ nh ngăn x p r i đ a vào thanh ghi cấ ừ ừ ỉ ế ồ ư ờ
![Page 55: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/55.jpg)
55/Chapter2
© DHBK 2005
Các l nh di chuy n d li uệ ể ữ ệCác l nh di chuy n d li uệ ể ữ ệ
• Ví d l nh POPụ ệ
130001300113002130031300413005130061300713008130091300A
1 3 0 0
0 0 0 6
3 2 5 4
SS
SP
DX
SP
12347856
130001300113002130031300413005130061300713008130091300A
1 3 0 0
0 0 0 8
7 8 5 6
SS
SP
DX
SP12347856
POP DX
![Page 56: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/56.jpg)
56/Chapter2
© DHBK 2005
Các l nh di chuy n d li uệ ể ữ ệCác l nh di chuy n d li uệ ể ữ ệ
• L nh INệ Dùng đ đ c 1 byte ho c 2 byte d li u t c ng vào thanh ghi AL ể ọ ặ ữ ệ ừ ổ
ho c AX ặ Cú pháp: IN Acc, Port L nh này không tác đ ng đ n cệ ộ ế ờ Ví d :ụ
IN AX, 00H IN AL, F0H IN AX, DX
• L nh OUTệ Dùng đ đ a 1 byte ho c 2 byte d li u t thanh ghi AL ho c AX ra ể ư ặ ữ ệ ừ ặ
c ng ổ Cú pháp: OUT Port, Acc L nh này không tác đ ng đ n cệ ộ ế ờ Ví d :ụ
OUT 00H, AXOUT F0H, ALOUT DX, AX
![Page 57: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/57.jpg)
57/Chapter2
© DHBK 2005
Các l nh di chuy n d li uệ ể ữ ệCác l nh di chuy n d li uệ ể ữ ệ
• Các l nh di chuy n chu i MOVS, MOVSB, MOVSWệ ể ỗ Dùng đ chuy n m t ph n t c a chu i này sang m t chu i ể ể ộ ầ ử ủ ỗ ộ ỗ
khác Cú pháp: MOVS chu i đích, chu i ngu nỗ ỗ ồ
MOVSB MOVSW
Th c hi n: ự ệDS:SI là đ a ch c a ph n t trong chu i ngu nị ỉ ủ ầ ử ỗ ồES:DI là đ a ch c a ph n t trong chu i đíchị ỉ ủ ầ ử ỗSau m i l n chuy n SI=SI +/- 1, DI=DI +/- 1 ho c SI=SI +/- 2, ỗ ầ ể ặ
DI=DI +/- 2 tuỳ thu c vào c h ng DF là 0/1 ộ ờ ướ L nh này không tác đ ng đ n cệ ộ ế ờ Ví d :ụ
MOVS byte1, byte2
![Page 58: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/58.jpg)
58/Chapter2
© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ
Các l nh di chuy n d li uệ ể ữ ệ Các l nh s h c và logicệ ố ọ Các l nh đi u khi n ch ng trìnhệ ề ể ươ
• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ80286
![Page 59: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/59.jpg)
59/Chapter2
© DHBK 2005
Các l nh s h c và logicệ ố ọCác l nh s h c và logicệ ố ọ
• ADD, ADC, SUB, MUL, IMUL, DIV, IDIV, INC, DEC• AND, OR, NOT, NEG, XOR• L nh quay và d ch: RCL, RCR, SAL, SAR, SHL, SHRệ ị• L nh so sánh: CMP, CMPSệ
• L nh ADDệ L nh c ng hai toán h ng ệ ộ ạ Cú pháp: ADD Đích, ngu nồ Th c hi n: Đích=Đích + ngu nự ệ ồ Gi i h n: toán h ng không đ c là 2 ô nh và thanh ghi đo nớ ạ ạ ượ ớ ạ L nh này thay đ i c : AF, CF, OF, PF, SF, ZFệ ổ ờ Ví d :ụ
ADD AX, BXADD AX, 40H
![Page 60: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/60.jpg)
60/Chapter2
© DHBK 2005
Các l nh s h c và logicệ ố ọCác l nh s h c và logicệ ố ọ
• L nh ADCệ L nh c ng có nh hai toán h ng ệ ộ ớ ạ Cú pháp: ADC Đích, ngu nồ Th c hi n: Đích=Đích + ngu n+CFự ệ ồ Gi i h n: toán h ng không đ c là 2 ô nh và thanh ghi đo nớ ạ ạ ượ ớ ạ L nh này thay đ i c : AF, CF, OF, PF, SF, ZFệ ổ ờ Ví d :ụ
ADC AL, 30H
• L nh SUBệ L nh tr ệ ừ Cú pháp: SUB Đích, ngu nồ Th c hi n: Đích=Đích - ngu nự ệ ồ Gi i h n: toán h ng không đ c là 2 ô nh và thanh ghi đo nớ ạ ạ ượ ớ ạ L nh này thay đ i c : AF, CF, OF, PF, SF, ZFệ ổ ờ Ví d :ụ
SUB AL, 30H
![Page 61: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/61.jpg)
61/Chapter2
© DHBK 2005
Các l nh s h c và logicệ ố ọCác l nh s h c và logicệ ố ọ
• L nh MULệ L nh nhân s không d uệ ố ấ Cú pháp: MUL ngu nồ Th c hi n:ự ệ
AX=AL* ngu n8bitồDXAX=AX*ngu n16bitồ
L nh này thay đ i c : CF, OFệ ổ ờ Ví d :ụ
MUL BL
• L nh IMULệ nhân s có d uố ấ
![Page 62: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/62.jpg)
62/Chapter2
© DHBK 2005
Các l nh s h c và logicệ ố ọCác l nh s h c và logicệ ố ọ
• L nh DIVệ L nh chia 2 s không d uệ ố ấ Cú pháp: DIV ngu nồ Th c hi n:ự ệ
AL = th ng (AX / ngu n8bit) ; AH=d (AX / ngu n8bit) ươ ồ ư ồAX = th ng (DXAX / ngu n16bit) ; DX=d (DXAX / ngu n16bit)ươ ồ ư ồ
L nh này không thay đ i cệ ổ ờ Ví d :ụ
DIV BL
• L nh IDIVệ chia 2 s có d uố ấ
![Page 63: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/63.jpg)
63/Chapter2
© DHBK 2005
Các l nh s h c và logicệ ố ọCác l nh s h c và logicệ ố ọ
• L nh INCệ L nh c ng 1 vào toán h ng là thanh ghi ho c ô nhệ ộ ạ ặ ớ Cú pháp: INC Đích Th c hi n: Đích=Đích + 1ự ệ L nh này thay đ i c : AF, OF, PF, SF, ZFệ ổ ờ Ví d :ụ
INC AX
• L nh DECệ L nh tr 1 t n i dung m t thanh ghi ho c ô nhệ ừ ừ ộ ộ ặ ớ Cú pháp: DEC Đích Th c hi n: Đích=Đích - 1ự ệ L nh này thay đ i c : AF, OF, PF, SF, ZFệ ổ ờ Ví d :ụ
DEC [BX]
![Page 64: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/64.jpg)
64/Chapter2
© DHBK 2005
Các l nh s h c và logicệ ố ọCác l nh s h c và logicệ ố ọ
• L nh ANDệ L nh AND logic 2 toán h ngệ ạ Cú pháp: AND Đích, ngu nồ Th c hi n: Đích=Đích And ngu nự ệ ồ Gi i h n: toán h ng không đ c là 2 ô nh ho c thanh ghi ớ ạ ạ ượ ớ ặ
đo nạ L nh này thay đ i c : PF, SF, ZF và xoá c CF, OFệ ổ ờ ờ Ví d :ụ
AND BL, 0FH
• L nh XOR, OR: t ng t nh l nh ANDệ ươ ự ư ệ
• L nh NOT: đ o t ng bit c a toán h ngệ ả ừ ủ ạ• L nh NEG: xác đ nh s bù 2 c a toán h ngệ ị ố ủ ạ
![Page 65: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/65.jpg)
65/Chapter2
© DHBK 2005
Các l nh s h c và logicệ ố ọCác l nh s h c và logicệ ố ọ
• L nh CMPệ L nh so sánh 2 byte ho c 2 tệ ặ ừ Cú pháp: CMP Đích, ngu nồ Th c hi n:ự ệ
Đích = ngu n : CF=0 ZF=1ồĐích> ngu n : CF=0 ZF=0ồĐích < ngu n : CF=1 ZF=0ồ
Gi i h n: toán h ng ph i cùng đ dài và không đ c là 2 ô nhớ ạ ạ ả ộ ượ ớ• L nh CMPSệ
Dùng đ so sánh t ng ph n t c a 2 chu i có các ph n t cùng lo iể ừ ầ ử ủ ỗ ầ ử ạ Cú pháp: CMPS chu i đích, chu i ngu nỗ ỗ ồ
CMPSB CMPSW
Th c hi n: ự ệDS:SI là đ a ch c a ph n t trong chu i ngu nị ỉ ủ ầ ử ỗ ồES:DI là đ a ch c a ph n t trong chu i đíchị ỉ ủ ầ ử ỗSau m i l n so sánh SI=SI +/- 1, DI=DI +/- 1 ho c SI=SI +/- 2, DI=DI +/- 2 ỗ ầ ặ
tuỳ thu c vào c h ng DF là 0/1ộ ờ ướ C p nh t c AF, CF, OF, PF, SF, ZFậ ậ ờ
![Page 66: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/66.jpg)
66/Chapter2
© DHBK 2005
Các l nh s h c và logicệ ố ọCác l nh s h c và logicệ ố ọ
• L nh RCLệ L nh quay trái thông qua c nhệ ờ ớ Cú pháp: RCL Đích, CL (v i s l n quay l n h n 1)ớ ố ầ ớ ơ
RCLĐích, 1 RCL Đích, S l n quay ố ầ (80286 tr lên)ở
Th c hi n: quay trái đích CL l nự ệ ầ Đích là thanh ghi (tr thanh ghi đo n) ho c ô nhừ ạ ặ ớ L nh này thay đ i c : CF, OFệ ổ ờ
• L nh RCRệ L nh quay ph i thông qua c nhệ ả ờ ớ
CF MSB LSB
![Page 67: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/67.jpg)
67/Chapter2
© DHBK 2005
Các l nh s h c và logicệ ố ọCác l nh s h c và logicệ ố ọ
• L nh ROLệ L nh quay tráiệ Cú pháp: ROL Đích, CL (v i s l n quay l n h n 1)ớ ố ầ ớ ơ
ROL Đích, 1 ROL Đích, S l n quay ố ầ (80286 tr lên)ở
Th c hi n: quay trái đích CL l nự ệ ầ Đích là thanh ghi (tr thanh ghi đo n) ho c ô nhừ ạ ặ ớ L nh này thay đ i c : CF, OFệ ổ ờ
• L nh RORệ L nh quay ph iệ ả
CF MSB LSB
![Page 68: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/68.jpg)
68/Chapter2
© DHBK 2005
Các l nh s h c và logicệ ố ọCác l nh s h c và logicệ ố ọ
• L nh SALệ L nh d ch trái s h cệ ị ố ọ Cú pháp: SAL Đích, CL (v i s l n d ch l n h n 1)ớ ố ầ ị ớ ơ
SAL Đích, 1 SAL Đích, s l n d ch ố ầ ị (80286 tr lên)ở
Th c hi n: d ch trái đích CL bit t ng đ ng v i ự ệ ị ươ ươ ớĐích=Đích*2CL
L nh này thay đ i c SF, ZF, PFệ ổ ờ
• L nh SHLệ L nh d ch trái logic t ng t nh SALệ ị ươ ự ư
CF MSB LSB
0
![Page 69: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/69.jpg)
69/Chapter2
© DHBK 2005
Các l nh s h c và logicệ ố ọCác l nh s h c và logicệ ố ọ
• L nh SARệ L nh d ch ph i s h cệ ị ả ố ọ Cú pháp: SAR Đích, CL (v i s l n d ch l n h n 1)ớ ố ầ ị ớ ơ
SAR Đích, 1 ho c ặ SAR Đích, s l n d ch ố ầ ị (80286 tr lên)ở
Th c hi n: d ch ph i đích CL bit ự ệ ị ả L nh này thay đ i c SF, ZF, PF, CF mang giá tr c a MSBệ ổ ờ ị ủ
CFMSB LSB
![Page 70: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/70.jpg)
70/Chapter2
© DHBK 2005
Các l nh s h c và logicệ ố ọCác l nh s h c và logicệ ố ọ
• L nh SHRệ L nh d ch ph i logicệ ị ả Cú pháp: SHR Đích, CL (v i s l n d ch l n h n 1)ớ ố ầ ị ớ ơ
SHR Đích, 1 ho c ặ SHR Đích, s l n d ch ố ầ ị (80286 tr lên)ở
Th c hi n: d ch ph i đích CL bit ự ệ ị ả L nh này thay đ i c SF, ZF, PF, CF mang giá tr c a LSBệ ổ ờ ị ủ
CFMSB LSB
0
Chú ý: Trong các l nh d ch và quay, toán h ng không đ c là thanh ghi đo nệ ị ạ ượ ạ
![Page 71: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/71.jpg)
71/Chapter2
© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ
Các l nh di chuy n d li uệ ể ữ ệ Các l nh s h c và logicệ ố ọ Các l nh đi u khi n ch ng trìnhệ ề ể ươ
L nh nh y không đi u ki n: JMPệ ả ề ệL nh nh y có đi u ki n JE, JG, JGE, JL, JLE...ệ ả ề ệL nh l p LOOPệ ặL nh g i ch ng trình con CALLệ ọ ươL nh g i ch ng trình con ph c v ng t INT và IRETệ ọ ươ ụ ụ ắ
• Cách đánh đ a ch ch đ b o v các máy tính t 80286ị ỉ ở ế ộ ả ệ ở ừ
![Page 72: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/72.jpg)
72/Chapter2
© DHBK 2005
L nh nh y không đi u ki n JMPệ ả ề ệL nh nh y không đi u ki n JMPệ ả ề ệ
• Dùng đ nh y t i m t đ a ch trong b nhể ả ớ ộ ị ỉ ộ ớ• 3 lo i: nh y ng n, g n và xaạ ả ắ ầ
L nh nh y ng n (short jump)ệ ả ắĐ dài l nh 2 bytes:ộ ệ
Ph m vi nh y: -128 đ n 127 bytes so v i l nh ti p theo l nh ạ ả ế ớ ệ ế ệJMP
Th c hi n: IP=IP + đ l chự ệ ộ ệ
Ví d :ụ
E B Đ l chộ ệ
XOR BX, BX
Nhan: MOV AX, 1
ADD AX, BX
JMP SHORT Nhan
![Page 73: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/73.jpg)
73/Chapter2
© DHBK 2005
L nh nh y không đi u ki n JMPệ ả ề ệL nh nh y không đi u ki n JMPệ ả ề ệ
L nh nh y g n (near jump)ệ ả ầPh m vi nh y: ± 32 Kbytes so v i l nh ti p theo l nh JMP ạ ả ớ ệ ế ệVí d :ụ
E 9 Độ lệchLo
XOR BX, BX
Nhan: MOV AX, 1
ADD AX, BX
JMP NEAR Nhan
Độ lệchHi
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]
Th c hi n: IP=IP+ đ l chự ệ ộ ệ IP=BX IP=[BX+1] [BX]
Nh y gián ti pả ế
![Page 74: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/74.jpg)
74/Chapter2
© DHBK 2005
L nh nh y không đi u ki n JMPệ ả ề ệL nh nh y không đi u ki n JMPệ ả ề ệ
L nh nh y xa (far jump)ệ ảĐ dài l nh 5 bytes đ i v i nh y t i nhãn:ộ ệ ố ớ ả ớ
Ph m vi nh y: nh y trong 1 đo n mã ho c nh y sang đo n mã ạ ả ả ạ ặ ả ạkhác
Ví d :ụ
E A IP Lo
EXTRN Nhan: FAR
Next: MOV AX, 1
ADD AX, BX
JMP FAR PTR Next
........
JMP FAR Nhan
IP Hi
Th c hi n: IP=IP c a nhãnự ệ ủ CS=CS c a nhãnủ
CS Lo CS Hi
XOR CX, CX
MOV AX, 1
ADD AX, BX
JMP DWORD PTR [BX]
IP = [BX+1][BX]CS= [BX+3][BX+2]
![Page 75: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/75.jpg)
75/Chapter2
© DHBK 2005
Tóm t t l nh JMPắ ệTóm t t l nh JMPắ ệ
JMP
00000H
FFFFFH
+127
-128
Đo n mã 2ạ
Đo n mã 1ạ
Nh y ng nả ắ Nh y g nả ầ
Nh y xaả
![Page 76: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/76.jpg)
76/Chapter2
© DHBK 2005
L nh nh y có đi u ki nệ ả ề ệL nh nh y có đi u ki nệ ả ề ệ
• JE or JZ, JNE or JNZ, JG, JGE, JL, JLE (dùng cho s có d u) và JA, JB, JAE, JBE (dùng cho s không ố ấ ốd u) ...ấ
• Nh y đ c th c hi n ph thu c vào các cả ượ ự ệ ụ ộ ờ• Là các l nh ệ nh y ng nả ắ• Ví d :ụ
Nhan1: XOR BX, BX
Nhan2: MOV AX, 1
CMP AL, 10H
JNE Nhan1
JE Nhan2
Th c hi n: IP=IP + đ d chự ệ ộ ị
![Page 77: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/77.jpg)
77/Chapter2
© DHBK 2005
L nh l p LOOPệ ặL nh l p LOOPệ ặ
• LOOP, LOOPE/LOOPZ, LOOPNE/LOOPNZ• Là l nh ph i h p gi a DEC CX và JNZệ ố ợ ữ
XOR AL, AL
MOV CX, 16
Lap: INC AL
LOOP Lap
L p đ n khí CX=0ặ ế
XOR AL, AL
MOV CX, 16
Lap: INC AL
CMP AL, 10
LOOPE Lap
L p đ n khí CX=0ặ ếho c AL<>10ặ
XOR AL, AL
MOV CX, 16
Lap: INC AL
CMP AL, 10
LOOPNE Lap
L p đ n khí CX=0ặ ếho c AL=10ặ
![Page 78: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/78.jpg)
78/Chapter2
© DHBK 2005
L nh CALLệL nh CALLệ
• Dùng đ g i ch ng trình conể ọ ươ• Có 2 lo i: CALL g n và CALL xaạ ầ
CALL g n (near call): t ng t nh nh y g nầ ươ ự ư ả ầG i ch ng trình con trong cùng m t đo n mãọ ươ ở ộ ạ
Tong PROC NEAR
ADD AX, BX
ADD AX, CX
RET
Tong ENDP
...
CALL Tong
Tong PROC NEARADD AX, BXADD AX, CX
RET Tong ENDP ...MOV BX, OFFSET Tong CALL BX
CALL WORD PTR [BX]
Cất IP vào ngăn xếpIP=IP + dịch chuyểnRET: lấy IP từ ngăn xếp
Cất IP vào ngăn xếpIP= BXRET: lấy IP từ ngăn xếp
Cất IP vào ngăn xếpIP= [BX+1] [BX]RET: lấy IP từ ngăn xếp
![Page 79: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/79.jpg)
79/Chapter2
© DHBK 2005
L nh CALLệL nh CALLệ
CALL xa (far call): t ng t nh nh y xaươ ự ư ảG i ch ng trình con ngoài đo n mãọ ươ ở ạ
Tong PROC FAR
ADD AX, BX
ADD AX, CX
RET
Tong ENDP
...
CALL Tong
CALL DWORD PTR [BX]
Cất CS vào ngăn xếpCất IP vào ngăn xếpIP=IP của TongCS =CS của TongRET: lấy IP từ ngăn xếplấy CS từ ngăn xếp
Cất CS vào ngăn xếpCất IP vào ngăn xếpIP = [BX+1][BX]CS= [BX+3][BX+2]RET: lấy IP từ ngăn xếplấy CS từ ngăn xếp
![Page 80: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/80.jpg)
80/Chapter2
© DHBK 2005
L nh ng t INT và IRETệ ắL nh ng t INT và IRETệ ắ
• INT g i ch ng trình con ph c v ng t (CTCPVN)ọ ươ ụ ụ ắ• B ng vector ng t: 1 Kbytes 00000H đ n 003FF Hả ắ ế
256 vector ng tắ 1 vector 4 bytes, ch a IP và CS c a CTCPVNứ ủ 32 vector đ u dành riêng cho Intelầ 224 vector sau dành cho ng i dùngườ
• Cú pháp: INT Number• Ví d : INT 21H g i CTCPVN c a DOSụ ọ ủ
![Page 81: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/81.jpg)
81/Chapter2
© DHBK 2005
L nh ng t INT và IRETệ ắL nh ng t INT và IRETệ ắ
• Th c hi n INT:ự ệ C t thanh ghi c vào ngăn x pấ ờ ế IF=0 (c m các ng t khác tác đ ng), TF=0 (ch y su t)ấ ắ ộ ạ ố C t CS vào ngăn x pấ ế C t IP vào ngăn x pấ ế IP=[N*4], CS=[N*4+2]
• G p IRET:ặ L y IP t ngăn x pấ ừ ế L y CS t ngăn x pấ ừ ế L y thanh ghi c t ngăn x pấ ờ ừ ế
![Page 82: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/82.jpg)
82/Chapter2
© DHBK 2005
Ch ng 2: B vi x lý Intel 8088/8086ươ ộ ửCh ng 2: B vi x lý Intel 8088/8086ươ ộ ử
• C u trúc bên trongấ• S đ chânơ ồ• B n đ b nh c a máy tính IBM-PCả ồ ộ ớ ủ• Các ch đ đ a ch c a 8086ế ộ ị ỉ ủ• Cách mã hoá l nh c a 8086ệ ủ• Mô t t p l nh c a 8086ả ậ ệ ủ• Cách đánh đ a ch ch đ b o v các máy tính t ị ỉ ở ế ộ ả ệ ở ừ
80286
![Page 83: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/83.jpg)
83/Chapter2
© DHBK 2005
Đánh đ a ch b nh ch đ b o vị ỉ ộ ớ ở ế ộ ả ệĐánh đ a ch b nh ch đ b o vị ỉ ộ ớ ở ế ộ ả ệ
• Cho phép truy c p d li u và ch ng trình vùng ậ ữ ệ ươ ởnh trên 1Mớ
• Thanh ghi l ch ch a đ a ch l chệ ứ ị ỉ ệ• Thanh ghi đo n ch a t ch n đo n (segment ạ ứ ừ ọ ạ
selector) t ch n đo n ch n 1 ph n t trong 1 trong 2 b ng mô t ừ ọ ạ ọ ầ ử ả ả
đo n (descriptor table), m i b ng có kích th c 64 KBạ ồ ả ướB ng mô t đo n toàn c c (Global DT): ch a thông tin v các ả ả ạ ụ ứ ề
đo n c a b nh mà t t c các ch ng trình có th truy nh pạ ủ ộ ớ ấ ả ươ ể ậB ng mô t đo n c c b (Local DT): ch a thông tin v các đo n ả ả ạ ụ ộ ứ ề ạ
c a 1 ch ng trìnhủ ươ Mô t đo n ch a thông tin v đ a ch b t đ u c a đo nả ạ ứ ề ị ỉ ắ ầ ủ ạ
![Page 84: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/84.jpg)
84/Chapter2
© DHBK 2005
Đánh đ a ch b nh ch đ b o vị ỉ ộ ớ ở ế ộ ả ệĐánh đ a ch b nh ch đ b o vị ỉ ộ ớ ở ế ộ ả ệ
01215
Index TI RPL
RPL: mức ưu tiên yêu cầu, 00 cao nhất, 11 thấp nhấtTI=0, sử dụng bảng toàn cục, TI=1 sử dụng bảng cục bộIndex: 13 bit chỉ số để chọn 1 trong 8K mô tả đoạn trong bảng mô tả đoạn
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
5
7
2
46 Base(B31-B24)
G D O A Limit V (L19-L16)
Access rights Base(B23-B16)
Base(B15-B0)
Limit(L15-L0) 01
3
5
7
2
46
mô t đo n c a 80286ả ạ ủ mô t đo n t 80386ả ạ ừ
Base: xác đ nh đ a ch b t đ u c a đo nị ị ỉ ắ ầ ủ ạLimit: gi i h n kích th c t i đa c a đo nớ ạ ướ ố ủ ạ
![Page 85: Microprocessor final ver1_part2](https://reader033.vdocuments.net/reader033/viewer/2022060201/559b3aa71a28abf73e8b47fa/html5/thumbnails/85.jpg)
85/Chapter2
© DHBK 2005
Đánh đ a ch b nh ch đ b o vị ỉ ộ ớ ở ế ộ ả ệĐánh đ a ch b nh ch đ b o vị ỉ ộ ớ ở ế ộ ả ệ
• 80286 Base 24 bit: 000000H đ n FFFFFFH (16 MB)ế Limit 16 bit: kích th c đo n: t 1 đ n 64 KBướ ạ ừ ế Đ a ch v t lý= Base + đ l chị ỉ ậ ộ ệ 1 ch ng trình có th s d ng t i đa: 2*8K*64 K= 1GB b ươ ế ử ụ ố ộ
nh => b nh o (virtual memory)ớ ộ ớ ả
• 80386/486/Pentium Base 32 bit: 00000000H đ n FFFFFFFFH (4 GB)ế Limit 20 bit:
G=0: kích th c đo n: t 1 đ n 1MBướ ạ ừ ế G=1: kích th c đo n t 4K đ n 4 GB ướ ạ ừ ế
Đ a ch v t lý= Base + đ l chị ỉ ậ ộ ệ 1 ch ng trình có th s d ng t i đa: 2*8K*4 GB= 64 ươ ế ử ụ ố
Terabytes b nhộ ớ