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

pdf7 trang | Chia sẻ: lylyngoc | Lượt xem: 1566 | Lượt tải: 1download
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 CH C C A 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 CH C LU TR" D" LIU C A 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) C A MÁY IBM-PC CS DS ES IP BX AX CX DX SP BP DI SI SS ALU Khi iu khi n ca EU Logic iu khi n 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 cha 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 U’m 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• V–T 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 ti’p cách nhau 16 byte •MZi UoBn U\]c gán cho 1 giá tr` gši là U`a ch› UoBn (Segment) •Trong mZi UoBn các ô nh˜ U\]c Uánh 1 s2 th tS tœ 0000h – FFFFh gši là U`a ch› t\ng U2i (Offset)  Segment : Offset gši 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• V–T LÝ & ”A CH• LOGIC Quan hd gi“a U`a ch› vžt lý và U`a ch› logic ”A CH• V–T 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• V–T LÝ & ”A CH• LOGIC Các UoBn chŸng nhau  1 U`a ch› vžt 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 Cha 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¡ Cha U`a ch› ldch (offset) • Con tr¢ ldnh IP (instruction pointer): cha U`a ch› ldnh ti’p theo trong UoBn mã ldnh CS.  CS:IP • Con tr¢ c s‘ BP (Base Pointer): cha U`a ch› c£a d“ lidu trong UoBn ng¤n x’p SS hocc các UoBn khác  SS:BP • Con tr¢ ng¤n x’p SP (Stack Pointer): cha U`a ch› hidn th¥i c£a U›nh ng¤n x’p  SS:SP • Ch› s2 nguŸn SI (Source Index): cha U`a ch› d“ lidu nguŸn trong UoBn d“ lidu DS trong các ldnh chuZi  DS:SI • Ch› s2 Uích (Destination Index): cha 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 k’t 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 k’t quX b_ng 0 • S hocc SF (Sign flag): SF=1 khi k’t quX âm • O hocc OF (Overflow flag): c¥ tràn OF=1 khi k’t quX là mVt s2 v\]t ra ngoài gi˜i 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 tœng ldnh • I hocc 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 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 v˜i 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— C A 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— C A 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