intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình Assembly: Chương 1 - Nguyễn Văn Thọ

Chia sẻ: Cvcxbv Cvcxbv | Ngày: | Loại File: PDF | Số trang:7

138
lượt xem
18
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình Assembly: Chương 1 - Nguyễn Văn Thọ

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2