Professional Documents
Culture Documents
Cc thanh ghi trong b vi x l 8086 u l cc thanh ghi 16 bit v c chia thnh cc nhm nh sau: - Cc thanh ghi cng d ng chung AX (accumulator), BX (base), CX (counter), DX (data): c th c truy xu t c l p nh 2 thanh ghi 8 bit : AH v AL, BH v BL, CH v CL, DH v DL.
Cc thanh ghi con tr v ch m c (xem chi ti t cc ph n sau) SP (Stack Pointer), BP (Base Pointer): con tr dng khi lm vi c v i stack SI (Source Index), DI (Destination Index): ch s m ng khi x l m ng (chu i) - Cc thanh ghi phn o n CS (Code Segment), DS (Data Segment), ES (Extra data Segment), SS (Stack Segment): tng ng lu a ch phn o n m l nh, phn o n d li u, phn o n d li u b sung, phn o n ngn x p. a ch phn o n ny s c k t h p v i a ch offset truy xu t nh . (xem chi ti t cc ph n sau) - Cc thanh ghi con tr l nh v tr ng thi IP (Intruction Pointer): thanh ghi ch a a ch offset c a l nh k ti p c n th c hi n. Thanh ghi ny khng th c truy xu t tr c ti p. FLAGS: thanh ghi c tr ng thi, dng ch a cc bit m t tr ng thi c a l nh v a c th c hi n, ho c ch a cc bit i u khi n c n thi t l p tr c khi g i l nh. Bao g m cc bit c sau y: (xem chi ti t cc ph n sau)
CF (Carry Flag): PF (Parrity Flag): AF (Auxilary Flag): ZF (Zero Flag): SF (Sign Flag): TF (Trace Flag): IF (Interrupt Flag): DF (Direction Flag): OF (Overflow Flag):
b b b b b b b b b
t khi php tnh v a th c hi n c s d ng bit nh t khi k t qu c a php tnh v a th c hi n c ch n bit 1 t khi php tnh v a th c hi n c s d ng bit nh ph t khi k t qu c a php tnh v a th c hi n l 0 t khi k t qu c a php tnh v a th c hi n c bit d u b t t chuy n sang ch ch y t ng b c t cho php cc ng t x y ra t ch n ch gi m ch s t ng khi lm vi c v i m ng t khi php tnh v a th c hi n gy ra trn s
T ch c b nh trong 8086
a ch v t l.
a ch c r ng 20 bit, n u nh a ch tu n t tng d n cho cc nh : s l ng t i a cc nh c th c nh a ch l 2^20 nh . M i nh c kch th c 1 byte kch th c b nh t i a c th truy c p l 2^20 byte = 1 MB. Khi , a ch c a m t nh l m t con s 20 bit (ho c 5 ch s hex), g i l a ch v t l. Bus
a ch logic
Cc thanh ghi trong 8086 u l 16 bit. N u dng cc thanh ghi ny lu tr a ch 20bit th khng ti n l i. Ng i ta tm cch gi m s bit dng nh a ch xu ng cn 16bit. t ng c s d ng l: thng th ng, cc d li u m m t chng trnh c n truy c p n m g n nhau v t o thnh m t kh i khng l n l m; nh v y, n u ta nh a ch tng i (g i l offset) trong m t kh i th s l ng bit dng nh a ch s gi m xu ng. B nh c chia thnh cc kh i 64KB, g i l segment, cc kh i ny khng x p tu n t c nh nhau m x p g i u, v i kho ng cch 16byte. Ngha l, c 16 byte th l i b t u m t segment m i. Nh v y, s l ng segment trong 1MB b nh l 1MB / 16byte = 65536 = 2^16. Do , nh a ch segment ta cng c n 16 bit. Trong ph m vi m t segment 64KB (=65536 byte), ch c n dng 16 bit lm a ch offset xc nh m t nh . (Xem Hnh 1. T ch c b nh ki u segment - offset) Tm l i, trong cch nh a ch logic, m i nh c a ch l m t c p (segment:offset), t ng c ng 32bit. Tuy nhin, nh ni trn, cc d li u c lin quan trong b nh th ng g n nhau trong m t kh i segment nn ta c th khng c n xc nh t ng minh a ch segment m ch c n ng m hi u. Khi b t u lm vi c v i m t segment no th ta s dng m t thanh ghi ghi l i a ch segment . Thanh ghi ny s c dng chung cho t t c cc php truy xu t b nh ti p theo. V nh th , trong cc php truy xu t b nh ti p theo, ch c n dng thm 16 bit a ch offset l xc nh v tr m t nh . N u a ch g m c hai ph n segment:offset, ng i ta g i l a ch xa. N u a ch ch c offset cn segment ng m nh th ng i ta g i l a ch g n, hm l n xc nh m t nh ch trong ph m vi c a segment ng m nh m thi.
Chuy n
Vi c
i gi a hai ki u
it
a ch
a ch v t l r t n gi n.
a ch logic sang
Physical address
RAM
16 bytes
0000Fh 00010h 00011h .. 0001Fh 00020h .. 0FFFFh 10000h .. 1000Fh 10010h .. 1001Fh 10020h .. F0000h .. F000Fh F0010h .. FFFF0h .. FFFFFh
16 bytes
Segment 0001
0000h:0020h 0001h:0010h 0002h:0000h V m i nh c th thu c nhi u segment khc nhau, m t a ch v t l 00020h c th ng v i nhi u a ch logic khc nhau, ty vo vi c l a ch n segment.
Segment 0002
Segment F000h
Segment F001h
M t chng trnh khi c n p vo b nh th c hi n thng th ng chi m 3 phn o n. M t phn o n dnh cho m l nh (code segment), m t phn o n dnh cho d li u (data segment), v m t phn o n ngn x p (stack segment) dnh lu cc gi tr trung gian ho c cc a ch tr v dng khi g i hm. a ch c a 3 phn o n tng ng c n p vo 3 thanh ghi CS, DS, SS. Thanh ghi IP ch a a ch offset c a l nh s p c th c hi n. Nh v y, c p CS:IP s cho bi t a ch logic c a l nh. Thanh ghi SP ch a a ch offset c a nh cu i cng c lu vo stack. Cc php truy xu t n phn o n ngn x p s dng c p SS:SP. Cc l nh truy xu t d li u trong phn o n d li u s dng n DS k t h p v i offset c tnh ton t m l nh c c a ch logic c a nh c n truy xu t.