Bài giảng Lập trình Assembly: Chương 1 - Nguyễn Văn Thọ
lượt xem 18
download
Bài giảng Lập trình Assembly Chương 1 Tổ chức của máy tính PC -IBM trình bày 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, chuyển đổi giữa các hệ đếm, tổ chức lưu trữ dữ liệu của máy tính.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình Assembly: Chương 1 - Nguyễn Văn Thọ
- DuyTan University Assembly Language Programming I H C DUY TÂN KHOA CÔNG NGH THÔNG TIN CH NG 1 T CH C C A MÁY TÍNH PC-IBM Nguy n V n Th B môn i n t vi n thông Khoa Công ngh thông tin, $i h c Duy Tân – 2008 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 DEC HEX BIN DEC HEX BIN HEX BIN 0 0 0000 8 8 1000 DEC BIN 1 1 0001 9 9 1001 BIN DEC 2 2 0010 10 A 1010 3 3 0011 11 B 1011 4 4 0100 12 C 1100 5 5 0101 13 D 1101 6 6 0110 14 E 1110 7 7 0111 15 F 1111
- DuyTan University Assembly Language Programming Nguyen Van Tho – Duy Tan University. T CH C L U TR" D" LI U C A MÁY TÍNH • S2 nguyên không d
- DuyTan University Assembly Language Programming Nguyen Van Tho – Duy Tan University. THANH GHI D" LI U 8 bit cao 8 bit thAp AX AH AL BX BH BL CX CH CL DX DH DL 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 l nh lUp (Loop). CL JKLc dùng JR chBa sS lTn d/ch hoUc quay trong các l nh d/ch và quay thanh ghi Thanh ghi d“ lidu DX (data): cùng AX chBa dY li u trong các phép tính nhân chia sS 16 bit. DX còn JKLc dùng JR chBa J/a 2-7 chM c[ng trong các l nh vào ra dY li u tr\c tiDp (IN/OUT) Nguyen Van Tho – Duy Tan University. THANH GHI D" LI U •8088/8086 Dn 80286 : 16 bits •80386 trO lên: 32 bits EAX, EBX, ECX, EDX 16 bit cao 16 bit thAp EAX AH AL EBX BH BL ECX CH CL EDX DH DL 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. 2-8 Nguyen Van Tho – Duy Tan University. ”A CH• V–T LÝ Ô NH— FFFFFH Mgi ô nhh trong b FFFFEH 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ý 00002H 00001H 00000H 8 bit 2-9
- DuyTan University Assembly Language Programming Nguyen Van Tho – Duy Tan University. ”A CH• LOGIC Ô NH— • Chia bV nh˜ thành nhihu UoBn 0005 : FFFFh • 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) 0005h:0000h 2-10 Nguyen Van Tho – Duy Tan University. ”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 2-11 Nguyen Van Tho – Duy Tan University. ”A CH• V–T LÝ & ”A CH• LOGIC Các UoBn chŸng nhau FFFFFh 1 U`a ch› vžt lý có nhihu U`a ch› logic 2FFFFh 1FFFFh 0FFFFh o$n 0002h 00020h o$n 0001h 00010h 16byte 00000h o$n 0000h 2-12
- DuyTan University Assembly Language Programming Nguyen Van Tho – Duy Tan University. THANH GHI O N Ch•a U`a ch› UoBn (Segment) 16bit CS o$n mã DS o$n dY li u o$n thêm ES SS o$n ng n xDp 2-13 Nguyen Van Tho – Duy Tan University. 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 2-14 Nguyen Van Tho – Duy Tan University. THANH GHI C¦ 15 14 2 1 0 O D I T S Z A P 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
- DuyTan University Assembly Language Programming Nguyen Van Tho – Duy Tan University. THANH GHI C¦ 15 14 2 1 0 O D I T S Z A P 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) 2-16 Nguyen Van Tho – Duy Tan University. BkN ± BŒ NH— C A MÁY TÍNH PC-IBM Vùng nh4 m5 r6ng FFFFF Vùng nh4 h" th ng A0000 384 Kbytes 1 Mbytes 9FFFF bV nh˜ thSc Vùng nh4 ch
- DuyTan University Assembly Language Programming Nguyen Van Tho – Duy Tan University. CH NG TRÌNH TH³C THI ´C L U TR" TRONG BŒ NH— NH TH NÀO ? FFFFF DY li u khi dùng ............. 58FFF l nh PUSH ?o n d- li"u phF extra segment /a chM trO vq khi g i 49000 4900 ES 43FFF chKNng trình con ?o n ng n xCp Stack segment 34000 3400 SS Các l nh 30000 2FFFF ?o n mã Code segment 20000 2000 CS 1FFFF DY li u ?o n d- li"u Data segment 10000 1000 DS 00000 2-19
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kiến trúc máy tính: Chương 2 - TS. Vũ Đức Lương
25 p | 267 | 37
-
Bài giảng Assembly: Chương 7 - Nhập môn Assembly
128 p | 302 | 29
-
Bài giảng Cấu trúc máy tính và ASM
570 p | 201 | 27
-
Bài giảng Kiến trúc máy tính - Chương 5: Lập trình hợp ngữ (Assembly Language)
22 p | 254 | 22
-
Bài giảng Lập trình hợp ngữ
63 p | 106 | 22
-
Bài giảng Lập trình Assembly: Chương 2 - Nguyễn Văn Thọ
9 p | 167 | 21
-
Bài giảng Lập trình Assembly: Chương 7 - Nguyễn Văn Thọ
14 p | 152 | 18
-
Bài giảng Lập trình Assembly: Chương 5 - Nguyễn Văn Thọ
10 p | 183 | 16
-
Bài giảng Cấu trúc máy tính và lập trình hợp ngữ - Chương 6: Nhập môn assembly
38 p | 205 | 12
-
Bài giảng Cấu trúc máy tính: Chương 8 - Ngô Phước Nguyên
52 p | 92 | 10
-
Bài giảng Cấu trúc máy tính: Chương 4 - Đào Quốc Phương
40 p | 74 | 10
-
Bài giảng Lập trình hướng đối tượng: Chương 2 - ĐH Bách Khoa TP.HCM
13 p | 81 | 8
-
Bài giảng Lập trình Assembly: Chương 8 - Nguyễn Văn Thọ
8 p | 100 | 8
-
Bài giảng Hợp ngữ và lập trình hệ thống: Chương 1 - Phạm Công Hòa
95 p | 100 | 6
-
Bài giảng Cấu trúc máy tính và lập trình hợp ngữ - Chương 8: Cấu trúc điều khiển và vòng lặp
52 p | 79 | 5
-
Bài giảng Hợp ngữ và lập trình hệ thống: Chương 0 - Phạm Công Hòa
7 p | 87 | 4
-
Bài giảng Nhập môn Tin học - Chương 3: Ngôn ngữ máy
57 p | 59 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn