Chương 1 Tổ chức của máy tính PC-IBM
CÁC HỆ ĐẾM Hệ nhị phân Hệ bát phân Hệ thập phân Hệ thập lục phân
Bạn đang xem nội dung tài liệu Chương 1 Tổ chức của máy tính PC-IBM, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
DuyTan University Assembly Language Programming
CHNG 1
T
CHC CA MÁY
TÍNH PC-IBM
Nguyn Vn Th
B môn in t vin thông
Khoa Công ngh thông tin, $i hc Duy Tân – 2008
I HC DUY TÂN
KHOA CÔNG NGH THÔNG TIN
Nguyen Van Tho – Duy Tan University.
CÁC H M
H nh/ phân
H bát phân
H th2p phân
H th2p l3c phân
Nguyen Van Tho – Duy Tan University.
CHUY!N
I GI"A CÁC H M
BIN HEX
HEX BIN
DECBIN
BIN DEC
1111F15011177
1110E14011066
1101D13010155
1100C12010044
1011B11001133
1010A10001022
100199000111
100088000000
BINHEXDECBINHEXDEC
DuyTan University Assembly Language Programming
Nguyen Van Tho – Duy Tan University.
T
CHC LU TR" D" LIU CA MÁY TÍNH
• S2 nguyên không d<u :
• 1byte : phBm vi biFu diGn [ 0,255]
• 2byte : phBm vi biFu diGn [0,65536]
• S2 nguyên có d<u :
• sN dOng 1 bit là bit d<u
• 1byte : phBm vi biFu diGn [ -127,+128]
• 2byte : phBm vi biFu diGn [-32767,+32768]
• S2 thSc
• S2 d<u ch<m tTnh
• S2 d<u ch<m UVng
• Ký tS và bXng mã ASCII
• MZi kí tS U\]c mã hóa b_ng 1 s2 1 byte
• Kí tS hiFn th` : 0..9,A..Z, kí tS Ucc bidt #,$ …
• Kí tS Uihu khiFn : Uihu khiFn xu2ng dòng, …
Nguyen Van Tho – Duy Tan University.BkNG MÃ ASCII
w77119c6399O4F79;3B5927391319
v76118b6298N4E78:3A58&26381218
u75117a6197M4D7793957%25371117
t741166096L4C7683856$24361016
s73115_5F95K4B7573755#2335F15
r72114^5E94J4A7463654"2234E14
q71113]5D93I497353553!2133D13
p70112\5C92H4872434522032C12
o6F111[5B91G4771333511F31B11
n6E110Z5A90F4670232501E30A10
m6D109Y5989E4569131491D2999
l6C108X5888D4468030481C2888
7F127k6B107W5787C4367/2F471B2777
~7E126j6A106V5686B4266.2E461A2666
}7D125i69105U5585A4165-2D45192555
|7C124h68104T5484@4064,2C44182444
{7B123g67103S5383?3F63+2B43172333
z71122f66102R5282>3E62*2A42162222
y79121e65101Q5181=3D61)2941152111
x78120d64100P5080<3C60(2840142000
CH
A
R
H
E
X
D
E
C
CH
A
R
H
E
X
D
E
C
CH
A
R
H
E
X
D
E
C
CH
A
R
H
E
X
D
E
C
CH
A
R
H
E
X
D
E
C
CH
A
R
H
E
X
D
E
C
CH
A
R
H
E
X
D
E
C
Nguyen Van Tho – Duy Tan University.
2-6
B X LÝ (CPU) CA MÁY IBM-PC
CS
DS
ES
IP
BX
AX
CX
DX
SP
BP
DI
SI SS
ALU
Khi iu
khin
ca EU
Logic
iu khin
bus
Các thanh
ghi a nng
Các thanh ghi
con 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 ca CPU
16 bit d- li"u
20 bit 0a ch
bus 0a ch
20 bitEU BIU
Bus d- li"u
ALU 16 bit
DuyTan University Assembly Language Programming
Nguyen Van Tho – Duy Tan University.
2-7
THANH GHI D" LIU
AX ALAH
BX BLBH
CX CLCH
DX DLDH
8 bit cao 8 bit thAp
Thanh ghi cha AX (accumulator): chBa kDt quF cGa các
phép tính. KDt quF 8 bit JKLc chBa trong AL
Thanh ghi c s BX (base): chBa J/a chM cN sO
Thanh ghi Um CX (count): dùng JR chBa sS lTn lUp trong các
lnh lUp (Loop). CL JKLc dùng JR chBa sS lTn d/ch hoUc quay
trong các lnh d/ch và quay thanh ghi
Thanh ghi d lidu DX (data): cùng AX chBa dY liu trong các
phép tính nhân chia sS 16 bit. DX còn JKLc dùng JR chBa J/a
chM c[ng trong các lnh vào ra dY liu tr\c tiDp (IN/OUT)
Nguyen Van Tho – Duy Tan University.
2-8
THANH GHI D" LIU
EAX ALAH
EBX BLBH
ECX CLCH
EDX DLDH
16 bit cao 16 bit thAp
•8088/8086 Dn 80286 : 16 bits
•80386 trO lên: 32 bits EAX, EBX, ECX, EDX
Fm bFo tính tKNng thích ngKLc : các chKNng trình viDt cho
8088/8086 van ch$y JKLc trên các b x lý 80386 hoUc cao
hNn
Các chKNng trình viDt cho 80386 có thR không ch$y JKLc trên
máy tính có b x lý thAp hNn.
Nguyen Van Tho – Duy Tan University.
2-9
A CH VT LÝ Ô NH
00000H
00001H
00002H
FFFFFH
FFFFEH
8 bit
Mgi ô nhh trong b
nhh JKLc gán cho 1
J/a chM 20bit. ó là J/a
chM v2t lý
Mgi ô nhh chM có 1
J/a chM v2t lý duy nhAt.
Không có 2 ô nhh nào
cùng J/a chM v2t lý
DuyTan University Assembly Language Programming
Nguyen Van Tho – Duy Tan University.
2-10
A CH LOGIC Ô NH
• Chia bV nh thành nhihu UoBn
• MZi UoBn 64KB
• Hai UoBn liên tip cách nhau 16
byte
•MZi UoBn U\]c gán cho 1 giá tr`
gi là U`a ch UoBn (Segment)
•Trong mZi UoBn các ô nh U\]c
Uánh 1 s2 th tS t 0000h –
FFFFh gi là U`a ch t\ng U2i
(Offset)
Segment : Offset gi là U`a ch
logic
o$n 0005h (Segment)
Ô nhh 0000h (Offset)
Ô nhh FFFFh (Offset)
0005 : FFFFh
0005h:0000h
Nguyen Van Tho – Duy Tan University.
2-11
A CH VT LÝ & A CH LOGIC
Quan hd gia U`a ch vt lý và U`a ch logic
A CH VT LÝ = SEGMENT x 10H + OFFSET
Ví d3 :
/a chM logic : A4FBh : 4872h
/a chM logic : A4FBh x 10h + 4872h = A9822h
Nguyen Van Tho – Duy Tan University.
2-12
A CH VT LÝ & A CH LOGIC
Các UoBn chng nhau
1 U`a ch vt lý có nhihu
U`a ch logic
o$n 0000h
o$n 0001h
o$n 0002h
16byte 00000h
00010h
00020h
0FFFFh
1FFFFh
2FFFFh
FFFFFh
DuyTan University Assembly Language Programming
Nguyen Van Tho – Duy Tan University.
2-13
THANH GHI ON
Cha U`a ch UoBn (Segment)
CS
DS
ES
SS
16bit
o$n mã
o$n dY liu
o$n thêm
o$n ngn xDp
Nguyen Van Tho – Duy Tan University.
2-14
THANH GHI CON TR & CH S¡
Cha U`a ch ldch (offset)
• Con tr¢ ldnh IP (instruction pointer): cha U`a ch ldnh tip theo trong UoBn
mã ldnh CS.
CS:IP
• Con tr¢ c s BP (Base Pointer): cha U`a ch c£a d lidu trong UoBn ng¤n
xp SS hocc các UoBn khác
SS:BP
• Con tr¢ ng¤n xp SP (Stack Pointer): cha U`a ch hidn th¥i c£a Unh ng¤n
xp
SS:SP
• Ch s2 ngun SI (Source Index): cha U`a ch d lidu ngun trong UoBn d
lidu DS trong các ldnh chuZi
DS:SI
• Ch s2 Uích (Destination Index): cha U`a ch d lidu Uích trong UoBn d lidu
DS trong các ldnh chuZi
DS:DI
• SI và DI có thF U\]c sN dOng nh\ thanh ghi Ua n¤ng
• 80386 tr lên 32 bit: EIP, EBP, ESP, EDI, ESI
Nguyen Van Tho – Duy Tan University.
2-15
THANH GHI C¦
9 bit U\]c sN dOng, 6 c¥ trBng thái:
• C ho¤c CF (carry flag)): CF=1 khi có nh hocc m\]n t MSB
• P hocc PF (parity flag): PF=1 (0) khi t§ng s2 bít 1 trong kt quX là ch¨n
(l©)
• A hocc AF (auxilary carry flag): c¥ nh phO, AF=1 khi có nh hocc
m\]n t mVt s2 BCD th<p sang BCD cao
• Z hocc ZF (zero flag): ZF=1 khi kt quX b_ng 0
• S hocc SF (Sign flag): SF=1 khi kt quX âm
• O hocc OF (Overflow flag): c¥ tràn OF=1 khi kt quX là mVt s2 v\]t ra
ngoài gii hBn biFu diGn c£a nó trong khi thSc hidn phép toán cVng tr
s2 có d<u
1 0215 14
CPAZSTIDO
DuyTan University Assembly Language Programming
Nguyen Van Tho – Duy Tan University.
2-16
THANH GHI C¦
3 c¥ Uihu khiFn
• T ho¤c TF (trap flag)): c¥ b¬y, TF=1 khi CPU làm vidc ch UV
chBy tng ldnh
• I hocc IF (Interrupt enable flag): c¥ cho phép ngt, IF=1 thì CPU
s¯ cho phép các yêu c°u ngt (ngt che U\]c) U\]c tác UVng
(Các ldnh: STI, CLI)
• D hocc DF (direction flag): c¥ h\ng, DF=1 khi CPU làm vidc vi
chuZi ký tS theo th tS t phXi sang trái (ldnh STD, CLD)
1 0215 14
CPAZSTIDO
Nguyen Van Tho – Duy Tan University.
2-17
BkN ± B NH CA MÁY TÍNH PC-IBM
00000
A0000
9FFFF
FFFFF
Vùng nh4 m5 r6ng
1 Mbytes
bV nh thSc
Vùng nh4 h" thng
384 Kbytes
Vùng nh4 ch<=ng trình
640 Kbytes
Nguyen Van Tho – Duy Tan University.
2-18
BkN ± B NH CA MÁY TÍNH PC-IBM
00000
02530
Các vector ngot00400
00500
00700
01160
08490
9FFF0
9FFFF
Vùng BIOS
Vùng DOS
IO.SYS
MSDOS
Device drivers
COMMAND.COM
MSDOS
08E30
Vùng dành cho các
chKNng trình Bng d3ng
A0000
Video RAM (p ho$)
B0000
F0000
FFFFF
Video BIOS ROM
ROM BIOS
Vùng R dành
E0000 ROM BASIC
C0000
C8000
Video RAM (text)
Vùng nhh chKNng trình Vùng nhh h thSng
DuyTan University Assembly Language Programming
Nguyen Van Tho – Duy Tan University.
2-19
CHNG TRÌNH TH³C THI ´C LU TR" TRONG B
NH NH TH NÀO ?
00000
FFFFF
?o n d- li"u
Data segment
?o n mã
Code segment
?o n ngn xCp
Stack segment
?o n d- li"u phF
extra segment
10000
20000
1FFFF
30000
2FFFF
34000
43FFF
49000
58FFF
1 0 0 0 DS
2 0 0 0 CS
3 4 0 0 SS
4 9 0 0 ES
.............
Các lnh
DY liu
DY liu khi dùng
lnh PUSH
/a chM trO vq khi gi
chKNng trình con