1 / 108

Bộ vi xử lý 8088 đơn giản hơn.

Lý do nghiên cứu bộ vi xử lý 8088. 1. 2. 3. Bộ vi xử lý 8088 đơn giản hơn. C ó tính kế thừa của các sản phẩm trong họ vi xử lý 80x86. Nhiều điểm giống với họ vi xử lý 80x86=> nắm bắt được hệ vi xử lý của hãng khác. Chương II: BỘ VI XỬ LÝ INTEL 8088.

oriana
Télécharger la présentation

Bộ vi xử lý 8088 đơn giản hơn.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lý do nghiên cứu bộ vi xử lý 8088 1 2 3 Bộ vi xử lý 8088 đơn giản hơn. Có tính kế thừa của các sản phẩm trong họ vi xử lý 80x86. Nhiều điểm giống với họ vi xử lý 80x86=> nắm bắt được hệ vi xử lý của hãng khác

  2. Chương II: BỘ VI XỬ LÝ INTEL 8088 I - CẤU TRÚC BÊN TRONG VÀ NGUYÊN LÝ HOẠT ĐỘNG CỦA BỘ VI XỬ LÝ 8088 1. Sơ đồ khối của bộ vi xử lý 8088 2. Nguyên lý hoạt động II - CÁC THANH GHI VÀ CÁC CHẾ ĐỘ ĐỊA CHỈ 1. Các thanh ghi 2. Cách mã hóa lệnh của bộ vi xử lý 8088 3. Các chế độ địa chỉ dữ liệu III- TẬP LỆNH CỦA BỘ VI XỬ LÝ 8088 Chương II: Bộ vi xử lý Intel 8088

  3. I – Cấu trúc bên trong và nguyên lý hoạt động của bộ vi xử lý Cáclệnhnằmchờ EU xửlý Chương II: Bộ vi xử lý Intel 8088

  4. I – Cấu trúc bên trong và nguyên lý hoạt động của bộ vi xử lý • Khối đơn vị giao tiếp bus (Bus Interface Unit, BIU): • Thanh ghi đoạn và thanh ghi con trỏ lệnh IP • Khối logic điều khiển bus, bộ cộng • Bus dữ liệu 8 bit và bus địa chỉ 20 bit • Khối thực hiện lệnh (Execution Unit, EU). • Thanh ghi đa năng, các thanh ghi con trỏ và chỉ số • Khối tính toán số học và logic ALU • Khối điều khiển EU • Bus dữ liệu 16 bit của ALU, bus tín hiệu điều khiển. Việc chia CPU thành hai phần làm việc đồng thời có liên hệ với nhau qua hàng đợi lệnh làm tăng tốc độ đáng kể của CPU. Chương II: Bộ vi xử lý Intel 8088

  5. 2. Nguyên lý hoạt động • Đơnvịthựchiện EU • EU có nhiệm vụ cung cấp địa chỉ cho BIU để khối này đọc lệnh và dữ liệu • Giảimãlệnhđểtạoracáctínhiệuđiềukhiểnnhằmthựchiệnlệnhđãđượcgiảimã. • Khối tính toán số học và logic ALU dùng để thực hiện các thao tác khác nhau với các toán hạng của lệnh • Đơnvịgiaotiếp BUS • BIU có nhiệm vụ đưa ra địa chỉ, đọc mã lệnh từ bộ nhớ, đọc/ghi dữ liệu từ/vào cổng hoặc bộ nhớ. • Bên trong BIU còn có bộ nhớ đệm lệnh (còn gọi là hàng đợi lệnh) với dung lượng 4 byte (8088), 6 byte (8086) dùng để chứa các lệnh đã đọc được nằm sẵn chờ EU xử lý. Chương II: Bộ vi xử lý Intel 8088

  6. Chương II: BỘ VI XỬ LÝ INTEL 8088 I - CẤU TRÚC BÊN TRONG VÀ NGUYÊN LÝ HOẠT ĐỘNG CỦA BỘ VI XỬ LÝ 8088 1. Sơ đồ khối của bộ vi xử lý 8088 2. Nguyên lý hoạt động II - CÁC THANH GHI VÀ CÁC CHẾ ĐỘ ĐỊA CHỈ 1. Các thanh ghi 2. Cách mã hóa lệnh của bộ vi xử lý 8088 3. Các chế độ địa chỉ dữ liệu III- TẬP LỆNH CỦA BỘ VI XỬ LÝ 8088 Chương II: Bộ vi xử lý Intel 8088

  7. 1. Các thanh ghi • 8088 có 14 thanh ghi 16 bit

  8. 1.1 Các thanh ghi đa năng 8 Bit thấp 8 Bit cao •8088/8086 đến 80286 : 16 bits •80386 trởlên: 32 bits EAX,EBX, ECX, EDX • Lưutrữtạmthờidữliệuđểtruycậpnhanhhơntránhkhỏiphảitruycậpbộnhớ • AX (Accumulator): Các thanh ghi này được sử dụng trong các tính.Kết quả8 bit được chứa trong AL • BX (Base): thanh ghi cơ sở, thường chứa địa chỉ lệch của ô nhớ trong đoạn DS. • CX (Count): thanh ghi đếm, CX thường chứa số lần lặp trong các lệnh lặp, CL thường chứa số lần dịch hoặc quay trong lệnh dịch và quay thanh ghi. • DX (Data): thanh ghi dữ liệu, DX cùng với AX tham gia vào phép nhân hoặc chia các số 16 bit. DX còn dùng để chứa địa chỉ của các cổng vào/ra trong các lệnh vào ra dữ liệu trực tiếp. Chương II: Bộ vi xử lý Intel 8088

  9. 1.2 Cácthanhghiđoạn 4 thanh ghi đoạn: CS,DS,SS,ES • Lưu trữ địa chỉ đoạn của 1 ô nhớ cần truy cập • CS (Code Segment): thanh ghi đoạn mã, xác định địa chỉ bắt đầu của đoạn nhớ chứa mã chương trình. • DS (Data Segment): thanh ghi đoạn dữ liệu, xác định địa chỉ bắt đầu của đoạn nhớ chứa hầu hết dữ liệu của chương trình. • ES (Extra Segment): thanh ghi đoạn dữ liệu phụ, xác định địa chỉ bắt đầu của đoạn nhớ chứa dữ liệu phụ. Đoạn nhớ này được các lệnh về chuỗi sử dụng để chứa dữ liệu đích. • SS (Stack Segment): thanh ghi đoạn ngăn xếp, xác định địa chỉ bắt đầu của đoạn nhớ ngăn xếp. Chương II: Bộ vi xử lý Intel 8088

  10. Cácthanhghiđoạn Phươngphápquảnlýbộnhớ • Bộ nhớ là tập hợp các ô nhớ (byte) • Mỗi ô nhớđượcnhậndạngbằngmộtđịachỉvậtlýduynhất 20 bit • 8086/8088 có bus địachỉ 20 bit nêncóthểchophéptruyxuất 220= 1048576 địachỉbộnhớkhácnhau. • Trong 1 MB = 1048576 byte bộ nhớ cầnchiathànhnhiềuđoạnnhớkhác nhau: Chương II: Bộ vi xử lý Intel 8088

  11. Các thanh ghi phân đoạn • Cácthanhghinàycó 16 bit trongkhiđịachỉbộnhớlà 20 bit nênđểxácdịnhvịtríbộnhớ, tasẽthêm 4 bit 0 vàocác bit thấpcủathanhghiđoạn. • Giảsửnhưthanhghi CS chứagiátrị 1111h thìnósẽchỉtớiđịachỉbắtđầulà 11110h. • VD: Thanhghi DS cógiátrịlà 1000h thìđịachỉbắtđầucủađoạnlà 10000h. • ĐịachỉkếtthúctìmđượcbằngcáchcộngđịachỉbắtđầuvớivớigiátrịFFFFh (64K) → địachỉkếtthúclà 10000h + FFFFh = 1FFFFh. • Nhưvậyđoạndữliệucóđịachỉtừ 10000h -> 1FFFFh.

  12. VD • Giả sử các thanh ghi đoạn có các giá trị CS = 2800h, DS = E000h, SS = 2900h và ES = 1000h. Ta có vị trí các đoạn trong bảng bộ nhớ như sau:

  13. Địa chỉ vật lý và địa chỉ logic • Địachỉlệch (offset): xuấthiệntrongđoạnnhớ 64KB (từ 0000h đếnffffh) • Vídụ: địachỉ offset 0010h củađoạnmã CS= 2800h sẽcóđịachỉthậtsựlà 28000h + 0010h = 28010h. Địachỉnàygọilàđịachỉvậtlý. • Địa chỉ vật lý = Nội dung thanh ghi đoạn x 10h + Nội dung thanh ghi lệch= Địa chỉ đoạn + Địa chỉ lệch • Địachỉ logic = Thanh ghi đoạn:Thanh ghi lệch (địa chỉ lệch)

  14. Mối liên hệ ĐCVL & ĐCLG Chương II: Bộ vi xử lý Intel 8088

  15. Mối liên hệ ĐCVL & ĐCLG • Segment:Offset: là địa chỉ logic vì nó tồn tại dưới dạng giá trị của các thanh ghi, và khi cần truy nhập ô nhớ nào thì nó phải được đổi ra địa chỉ vật lý của ô nhớ đó. • Địa chỉ logic có tính đa trị: vì ứng với một địa chỉ vật lý có rất nhiều địa chỉ logic khác nhau. • Ví dụ, địa chỉ vật lý 12345H có thể tạo ra từ các địa chỉ logic sau: 1000H:2345H 1200H:0345H 1004H:2305H Chương II: Bộ vi xử lý Intel 8088

  16. VD Vd:1 Cho một ô nhớ có địa chỉ vật lý là 1256Ah hãy cho biết địa chỉ dạng segment:offset với các đoạn 1256h và 1240h? Giải: Gọi X là offset trong segment 1256h và Y là offset trong segment 1240h chúng ta có: 1256Ah=12560h+X 1256Ah=Y+12400h Do đó: X=1256Ah-12560h=Ah Y= 1256Ah-12400h=16Ah Như vậy: 1256Ah =1256:000A=1240:016A Chương II: Bộ vi xử lý Intel 8088

  17. VD Vd2: Một ô nhớ có địa chỉ vật lý 80FD2h, ở trong đoạn nào thì nó có Offset bằng BFD2h Giải: Địa chỉ vật lý=segment * 10h + offset Chương II: Bộ vi xử lý Intel 8088

  18. 1.3. Thanh ghi con trỏ và chỉ số • IP (Instruction Pointer): thanh ghi con trỏ lệnh • IP luôn trỏ vào lệnh tiếp theo sẽ được thực hiện nằm trong đoạn mã CS. • Địa chỉ của lệnh này là CS:IP. • BP (Base Pointer): con trỏ cơ sở • BP chủyếuđượcsửdụngđểtruynhậpdữ liệu nằm trong đoạn ngăn xếp. • Địa chỉ logic của ô nhớ ngăn xếp do BP trỏ tới là SS:BP Chương II: Bộ vi xử lý Intel 8088

  19. Thanh ghi con trỏ và chỉ số • SP (Stack Ponter): con trỏ ngăn xếp • SP luôn trỏ vào đỉnh hiện thời của ngăn xếp. • Địa chỉ logic của đỉnh ngăn xếp là SS:SP • SI (Source Index): chỉ số nguồn • SI trỏ vào dữ liệu trong đoạn dữ liệu DS. • Địa chỉ logic của ô nhớ do SI trỏ tới là DS:SI • DI (Destinaton Index): chỉ số đích, • DI trỏ vào dữ liệu trong đoạn dữ liệu DS. • Địa chỉ logic của ô nhớ do DI trỏ tới là DS:DI • Riêng trong các lệnh về chuỗi thì: • ES:DI luôn ứng với địa chỉ của một phần tử thuộc chuỗi đích • DS:SI luôn ứng với địa chỉ của một phần tử thuộc chuỗi nguồn. Chương II: Bộ vi xử lý Intel 8088

  20. Thanh ghi con trỏ và chỉ số Bảng tóm tắt sự kết hợp ngầm định giữa thanh ghi đoạn và thanh ghi lệch: Chương II: Bộ vi xử lý Intel 8088

  21. 1.5 Thanh ghi cờ (Flag Register) • Mục đích của thanh ghi cờ là chỉ ra trạng thái của bộ vi xử lý. • Mỗi bit của thanh ghi này được dùng để phản ánh một trạng thái nhất định của kết quả phép toán do ALU thực hiện hoặc một trạng thái hoạt động của CPU. • Thanh ghi cờ có 16 bit nhưng chỉ dùng hết 9 bit làm bit cờ. Các cờ điều khiển Các trạng thái Chương II: Bộ vi xử lý Intel 8088

  22. Thanh ghi cờ (Flag Register) • có 6 cờ trạng thái là C, P, A, Z, S và O. Các cớ trạng thái này được thiết lập bằng 1 hoặc xóa bằng 0 sau hầu hết các lệnh toán học và logic. • C (Carry): cờ nhớ, C = 1 khi có nhớ từ bit trái nhất trong phép cộng hoặc có vay vào bit msb trong phép trừ • P (Parity): cờ chẵn lẻ, P = 1 khi tổng số bit 1 trong byte thấp là chẵn, P = 0 khi tổng số bit 1 trong byte thấplà lẻ. • A (Auxiliary): cờ nhớ phụ, A = 1 khi có nhớ hoặc mượn từ một số BCD thấp sang một số BCD cao. • Z (Zero): cờ rỗng, Z = 1 khi kết quả của phép tính số học bằng 0, Z = 0 khi kết quả của phép tính số học khác 0. • S (Sign): cờ dấu, S = 1 kết quả âm. • O (Overflow): cờ tràn, O = 1 khi kết quả vuợt ra ngoài giới hạn biểu diễn dành cho nó Chương II: Bộ vi xử lý Intel 8088

  23. Thanh ghi cờ (Flag Register) • Các cờ điều khiển: có 3 cờ T, I, D. Các cờ này được thiết lập bằng 1 hoặc xóa bằng 0 thông qua các lệnh để điều khiển chế độ làm việc của bộ vi xử lý. • T (Trap): cờ bẫy, T = 1 thì bộ vi xử lý làm việc ở chế độ chạy từng lệnh. • I (Interrupt): cờ ngắt, I = 1 thì bộ vi xử lý cho phép các yêu cầu ngắt được tác động. Cờ này được thiết lập bằng lệnh STI và xóa bằng lệnh CLI. • D (Direction): cờ hướng, D = 1 thì bộ vi xử lý làm việc với chuỗi ký tự theo thứ tự từ phải sang trái. Chương II: Bộ vi xử lý Intel 8088

  24. Hiệntượngtrànxảyrakhinào?

  25. Hiệntượngtrànxảyrakhinào? • Xét số có dấu 1 word [-32768,32767] • Co dau 1 byte [-128,127] *. Xét số không dấu 1 word [0,65535] 1 byte [0,255] • Vượt ra khỏi giới hạn biểu diễn => tràn

  26. VD1: Tràn không dấu nhưng không tràn có dấu • AX: FFFFH, BX: 0001H • ADD AX,BX Kết quả: 1111 1111 1111 1111 0000 0000 0000 0001 10000 0000 0000 0000 - Nếu xét số không dấu: KQ: 65536 > 65535 => AX: 0h=> sai - Nếu xét số có dấu: FFFFH=-1; 0001H=+1 => AX:0h =>đúng

  27. VD2: tràn có dấu nhưng không tràn không dấu • AX, BX: 7FFFH • Add AX,BX 0111 1111 1111 1111 0111 1111 1111 1111 1111 1111 1111 1110 • Xét số có dấu: AX,BX: 32767 => KQ: 65534 >32767 => Vượt khỏi phạm vi, kết quả nhận được dạng có dấu -2 => tràn có dấu • Xét số không dấu: AX,BX: 32767 => KQ: 65534 <65535 =>không tràn • Làm sao CPU chỉ ra được hiện tượng tràn? • Làm sao CPU biết được có hiện tượng tràn xảy ra?

  28. Giảipháp • CPU chỉrahiệntượngtràn: • CPU lậpcờ OF=1 báohiệntượngtràncódấu • CF=1 => hiệntượngtrànkhôngdấu • Làmthếnào CPU biếtđượccóhiệntượngtrànxảyra: xét +, - -Hiệntượngtrànkhôngdấu: + Phép + => Trànxảyrakhicónhớtừ bit msbnghĩalà KQ vượtrakhỏiphạm vi biểudiễnnó + Phép -: Hiệntượngtrànxảyrakhivóvayvào bit msb (KQ <0) -Hiệntượngtràncódấu: + cộngcácsốcùngdấu: A+B=-C; (-A)+(-B)=C + trừcácsốkhácdấu: A-(-B)=A+B; -A-(+B)=-A+-B + cộng 2 sốkhác

  29. Hiện tượng tràn Hiện tượng tràn không dấu: • Phép cộng: khi có nhớ từ bit trái nhất msb. Kết quả vượt ra khỏi phạm vi biểu diễn nó. • Phép trừ: Khi có sự vay vào bit msb. Kết quả đúng < 0 • VD: Thực hiện phép cộng AL,BL cùng chứa 80h 80 80 100 • SF=0 vì msb=0 • PF=1 vì tất cả các bit của tổng bằng 0 • ZF=1 vì kết quả thu được bằng 0 • CF=1 vì có nhớ từ bit msb trong phép cộng • OF=1 vì kết quả vượt ra khỏi phạm vi biểu diễn nó Chương II: Bộ vi xử lý Intel 8088

  30. Hiện tượng tràn Hiện tượng tràn có dấu: • Phép cộng: khi có nhớ từ bit trái nhất msb. Kết quả vượt ra khỏi phạm vi biểu diễn nó. • Phép trừ: Khi có sự vay vào bit msb. Kết quả đúng < 0 • VD: Thực hiện phép cộng AL,BL cùng chứa 80h 80 80 100 • SF=0 vì msb=0 • PF=1 vì tất cả các bit của tổng bằng 0 • ZF=1 vì kết quả thu được bằng 0 • CF=1 vì có nhớ từ bit msb trong phép cộng • OF=1 vì kết quả vượt ra khỏi phạm vi biểu diễn nó Chương II: Bộ vi xử lý Intel 8088

  31. Bài tập kết thúc phần thanh ghi B1: Một ô nhớcóđịachỉvậtlýlà 4A37Bh hãytính a. Địachỉ Offset củanónếuđịachỉđoạnlà 40FFh b. Địachỉđoạncủanónếuđịachỉ Offset là 123Bh B2: Xácđịnhđịachỉvậtlýcủa ô nhớcóđịachỉ logic là: 0A51h: CD90h Chương II: Bộ vi xử lý Intel 8088

  32. Chương II: BỘ VI XỬ LÝ INTEL 8088 I - CẤU TRÚC BÊN TRONG VÀ NGUYÊN LÝ HOẠT ĐỘNG CỦA BỘ VI XỬ LÝ 8088 1. Sơ đồ khối của bộ vi xử lý 8088 2. Nguyên lý hoạt động II - CÁC THANH GHI VÀ CÁC CHẾ ĐỘ ĐỊA CHỈ 1. Các thanh ghi 2. Cách mã hóa lệnh của bộ vi xử lý 8088 3. Các chế độ địa chỉ dữ liệu III- TẬP LỆNH CỦA BỘ VI XỬ LÝ 8088 Chương II: Bộ vi xử lý Intel 8088

  33. 2. Cách mã hóa lệnh của bộ vi xử lý 8088 Mã lệnh Địa chỉ của các toán hạng • Các lệnh của bộ vi xử lý phải được mã hoá dưới dạng các số 0 và 1 (còn gọi là mã máy). Để dịch các mã lệnh này sang mã máy thì bộ vi xử lý sử dụng các chương trình dịch hợp ngữ như MASM, TASM. • Vì lệnh cho bộ vi xử lý được cho dưới dạng mã máy nên sau khi nhận lệnh bộ vi xử lý phải thực hiện giải mã lệnh rồi sau đó mới thực hiện lệnh. • Một lệnh vi xử lý có thể dài một vài byte tuỳ theo bộ vi xử lý. • Đối với bộ vi xử lý 8088 một lệnh có độ dài từ 1 - 6 byte. • Ví dụ, lệnh MOV dạng mã máy cần ít nhất là 2 byte, trong đó 6 bit của byte đầu dùng để chứa mã lệnh. Chương II: Bộ vi xử lý Intel 8088

  34. Chương II: BỘ VI XỬ LÝ INTEL 8088 I - CẤU TRÚC BÊN TRONG VÀ NGUYÊN LÝ HOẠT ĐỘNG CỦA BỘ VI XỬ LÝ 8088 1. Sơ đồ khối của bộ vi xử lý 8088 2. Nguyên lý hoạt động II - CÁC THANH GHI VÀ CÁC CHẾ ĐỘ ĐỊA CHỈ 1. Các thanh ghi 2. Cách mã hóa lệnh của bộ vi xử lý 8088 3. Các chế độ địa chỉ dữ liệu III- TẬP LỆNH CỦA BỘ VI XỬ LÝ 8088 Chương II: Bộ vi xử lý Intel 8088

  35. 3. Các chế độ địa chỉ dữ liệu • Chế độ địa chỉ (Addressing mode) là cách để CPU tìm thấy toán hạng cho các lệnh của nó. • Để minh họa cho các chế độ địa chỉ ta sử dụng lệnh chuyển dữ liệu MOV, nó có dạng như sau: • Lệnh MOV sao chép dữ liệu ở nguồn vào đích, dữ liệu nguồn không thay đổi còn dữ liệu đích bị thay đổi. Chương II: Bộ vi xử lý Intel 8088

  36. 3. Các chế độ địa chỉ dữ liệu a. Chế độ địa chỉ thanh ghi b Chế độ địa chỉ tức thì c Chế độ địa chỉ trực tiếp d. Chế độ địa chỉ gián tiếp qua thanh ghi e Chế độ địa chỉ tương đối cơ sở f. Chế độ địa chỉ tương đối chỉ số g. Chế độ địa chỉ tương đối chỉ số cơ sở Chương II: Bộ vi xử lý Intel 8088

  37. a. Chế độ địa chỉ thanh ghi (register mode) • CPU sử dụng các thanh ghi bên trong làm các toán hạng chứa dữ liệu cần thao tác. • Các thanh ghi sử dụng trong lệnh phải cùng kích cỡ Chương II: Bộ vi xử lý Intel 8088

  38. 3. Các chế độ địa chỉ dữ liệu a. Chế độ địa chỉ thanh ghi b Chếđộđịachỉtứcthời c Chế độ địa chỉ trực tiếp d. Chế độ địa chỉ gián tiếp qua thanh ghi e Chế độ địa chỉ tương đối cơ sở f. Chế độ địa chỉ tương đối chỉ số g. Chế độ địa chỉ tương đối chỉ số cơ sở Chương II: Bộ vi xử lý Intel 8088

  39. b Chếđộđịachỉtứcthời (immediate mode) Quy định viết hằng số: - Số hex: thêm chữ H vào cuối, riêng các số bắt đầu bằng chữ thì phải thêm cả số 0 đằng trước. Ví dụ: 1234H, 0A231H - Số thập phân: viết bình thường. Ví dụ: 123, 22 - Ký tự và chuỗi ký tự: phải đặt trong hai dấu phẩy trên. Ví dụ: ‘A’, ‘AB’ Toán hạng đích Toán hạng nguồn là một thanh ghi hay ô nhớ là một hằng số Chương II: Bộ vi xử lý Intel 8088

  40. b Chếđộđịachỉtứcthời (immediate mode) • VD: Chương II: Bộ vi xử lý Intel 8088

  41. 3. Các chế độ địa chỉ dữ liệu a. Chế độ địa chỉ thanh ghi b Chếđộđịachỉtứcthời c Chế độ địa chỉ trực tiếp d. Chế độ địa chỉ gián tiếp qua thanh ghi e Chế độ địa chỉ tương đối cơ sở f. Chế độ địa chỉ tương đối chỉ số g. Chế độ địa chỉ tương đối chỉ số cơ sở Chương II: Bộ vi xử lý Intel 8088

  42. c Chếđộđịachỉtrựctiếp (direct mode) • Mộttoánhạnglà địa chỉ lệch của ô nhớ (dướidạngtênbiếnhoặcsố hex) trong đoạn dữ liệu DS • Toán hạng cònlại là thanh ghi không được là ô nhớ. Chương II: Bộ vi xử lý Intel 8088

  43. c Chếđộđịachỉtrựctiếp • VD: MOV AX,0 ; Toán hạng đích AX ở chế độ địa chỉ thanh ghi ; Toán hạng nguồn 0 ở chế độ địa chỉ tức thời MOV SO,AX ;Toán hạng đích SO ở chế độ địa chỉ trực tiếp ; Toán hạng AX ở chế độ địa chỉ thanh ghi Chương II: Bộ vi xử lý Intel 8088

  44. 3. Các chế độ địa chỉ dữ liệu a. Chế độ địa chỉ thanh ghi b Chế độ địa chỉ tức thì c Chế độ địa chỉ trực tiếp d. Chế độ địa chỉ gián tiếp qua thanh ghi e Chế độ địa chỉ tương đối cơ sở f. Chế độ địa chỉ tương đối chỉ số g. Chế độ địa chỉ tương đối chỉ số cơ sở Chương II: Bộ vi xử lý Intel 8088

  45. d Chếđộđịachỉgiántiếp qua thanhghi • Mộttoánhạng là một trong các thanh ghi BP, BX, DI, SI đểchứa địa chỉ lệch của ô nhớ • Toán hạngcònlạilà thanh ghi (không được là ô nhớ). • Cácthanhghiđóngvaitrònhưlà con trỏtrỏđến ô nhớ • Các thanh ghi đặt trong ngoặc vuông. • BX, SI, DI chứa địa chỉ lệch của ô nhớ trong đoạn dữ liệu DS • BP chứa địa chỉ lệch của ô nhớ trong đoạn ngăn xếp SS.

  46. d Chế độ địa chỉ gián tiếp qua thanh ghi • VD: SI chứađịachỉ Offset 0100h vànội dung tạiđịachỉđólà 1234h. MOV AX,[SI]; SI cóđịachỉ ô nhớlà DS:0100h ; Chuyểnnội dung 1234h vào AX MOV AX,SI ; Chuyển 0100h vào AX

  47. d Chế độ địa chỉ gián tiếp qua thanh ghi VD: Giảsử BX chứa 1000h, offset 1000h chứa 1BACH Giảsử SI chứa 2000h, offset 2000h chứa 20FEH Giảsử DI chứa 3000h, offset 3000h chứa 031DH • Địachỉ offset nằmtrongđoạndữliệu DS • Hãychobiếtlệnhnàosauđâylàhợplệ, nếuhợplệhãyđưarađịachỉ offset củatoánhạngnguồnvàkếtquảcủatoánhạngđích? • MOV BX,[BX] • MOV CX,[SI] • MOV BX,[AX] • ADD [SI],[DI] • INC [DI]

  48. d Chế độ địa chỉ gián tiếp qua thanh ghi Lời giải:

  49. 3. Các chế độ địa chỉ dữ liệu a. Chế độ địa chỉ thanh ghi b Chế độ địa chỉ tức thì c Chế độ địa chỉ trực tiếp d. Chế độ địa chỉ gián tiếp qua thanh ghi e Chế độ địa chỉ tương đối cơ sở f. Chế độ địa chỉ tương đối chỉ số g. Chế độ địa chỉ tương đối chỉ số cơ sở Chương II: Bộ vi xử lý Intel 8088

  50. e Chế độ địa chỉ tương đối cơ sở • Một toán hạng là một ô nhớ (baogồmthanh ghi cơ sở BXhoặcBPkếthợpvớigiá trị dịch chuyển) • Toán hạng cònlại chỉ có thể là thanh ghi không được là ô nhớ. • BX xác định địa chỉ trong đoạn dữ liệu DS • BP xác định địa chỉ trong đoạn ngăn xếp SS. • Giá trị dịch chuyển có thể bằng số hoặc bằng tên. • Cácdạngbiểuthứccủatoánhạng • [Thanhghi + độdịch] • [Độdịch + thanhghi] • [thanhghi] + độdịch • Độdịch [thanhghi] • Độdịch+ [thanhghi] Chương II: Bộ vi xử lý Intel 8088

More Related