VI XỬ LÝ Câu 1: Anh (chị) hãy trình bày cấu trúc tổng quát của hệ vi xử lý, nêu rõ chức năng của từng khối thành phần. Giới thiệu về hệ vi xử lý : •Hệ VXL thường bao gồm: CPU (Central Processing Unit): Bộ xử lý trung tâm có nhiệm vụ tính toán và điều khiển + ALU (Arithmetic and Logic Unit): khối tính toán + CU (Control Unit): khối điều khiển Bộ nhớ (Memory): lưu trữ dữ liệu (data) và lệnh (instruction) cho CPU xử lý + Bộ nhớ ROM: lưu lệnh và dữ liệu của hệ thống + Bộ nhớ RAM: lưu lệnh và dữ liệu của hệ thống và của người dùng Các thiết bị vào (Inputs): Tiếp nhận dữ liệu và thông tin điều khiển, chuyển cho CPU xử lý Các thiết bị ra (Outputs): + Kết xuất thông tin ra (màn hình, giấy, ...) + Lưu trữ thông tin lâu dài (đĩa từ, đĩa quang, ....) Câu 2: Anh (chị) hãy trình bày cấu trúc tổng quát của bộ vi xử lý, nêu rõ chức năng của từng khối thành phần. Giới thiệu về vi xử lý :
Trang 1+ ALU (Arithmetic and Logic Unit): khối tính toán
+ CU (Control Unit): khối điều khiển
- Bộ nhớ (Memory): lưu trữ dữ liệu (data) và lệnh (instruction) cho CPU xử lý
+ Bộ nhớ ROM: lưu lệnh và dữ liệu của hệ thống
+ Bộ nhớ RAM: lưu lệnh và dữ liệu của hệ thống và của người dùng
- Các thiết bị vào (Inputs): Tiếp nhận dữ liệu và thông tin điều khiển, chuyển cho CPU xử lý
- Các thiết bị ra (Outputs):
+ Kết xuất thông tin ra (màn hình, giấy, )
+ Lưu trữ thông tin lâu dài (đĩa từ, đĩa quang, )
Câu 2: Anh (chị) hãy trình bày cấu trúc tổng quát của bộ vi xử lý, nêu rõ chức năng của từng khối thành phần.
Giới thiệu về vi xử lý :
Trang 2• Đơn vị điều khiển CU: Chức năng chính của đơn vị điều khiển CU làđọc và giải mã các lệnh của chương trình từ bộ nhớ.
-Điều khiển nhận lệnh từ bộ nhớ đưa vào thanh ghi lệnh
- Tăng nội dung của PC để trỏ sang lệnh kế tiếp
- Giải mã lệnh đã được nhận để xác định thao tác mà lệnh yêu cầu
- Phát ra các tín hiệu điều khiển thực hiện lệnh
- Nhận các tín hiệu yêu cầu từ bus hệ thống và đáp ứng với các yêu cầu đó
• Đơn vị số học và lô-gíc ALU: ALU thực hiện tất cả các thao tác xử
lý dữ liệu bên trong vi xử lý như là các phép toán lô-gíc, số học
- Logic: AND, OR, XOR, NOT, phép dịch bit
-Số học: cộng, trừ, nhân, chia, tăng, giảm,đảo dấu
• Các thanh ghi: lưu giữ các thông tin tạm thời phục vụ cho hoạt động của CPU
-Thanh ghi lệnh: lưu mã lệnh đang thực hiện
-Thanh ghi địa chỉ bộ nhớ: chứa địa chỉ của dữ liệu Vi xử lý sử dụng địa chỉ này như là các con trỏ trực tiếp tới bộ nhớ Nội dung của ô nhớ
có địa chỉ này chính là dữ liệu đang được trao đổi và xử lý
Trang 3-Thanh ghi tổng: còn được gọi là thanh ghi tích lũy (accumulator) Thanh ghi này có kích thước 8, 16, 32 hoặc 64 bít và thường dùng thể lưu kết quả tính toán của đơn vị xử lý số học và lô-gíc ALU Thanh ghi này còn được dùng để trao đổi dữ liệu với các thiết bị vào/ra.
•Bus dữ liệu : Chức năng :
- Thực hiện các phép toán: số học, logic, dịch, quay,…
- Kết nối và trao đổi dữ liệu với các thiết bị bên ngoài thông qua các cổng vào ra
• Phân loại VXL dựa trên chức năng:
- Vi xử lý đa chức năng (general-purpose microprocessors):
+ Chứa tất cả các thành phần phục vụ tính toán và điều khiển
+ Không bao gồm bộ nhớ và các cổng vào ra
- Vi điều khiển (microcontrollers):
+ Chứa tất cả các thành phần phục vụ tính toán và điều khiển
Trang 4- Quá trình thực hiện một lệnh:
+ Đọc lệnh
+ Giải mã lệnh
+ Thực hiện lệnh
+ Lưu kết quả của lệnh (nếu có)
Câu 3: Anh (chị) hãy trình bày cấu trúc tổng quát và các thông số đặc trưng của vi điều khiển 8051.
Cấutrúc tổng quát
- CPU (Central Processing Unit): đơn vị điều khiển trung tâm
- Bộ nhớ chương trình ROM bao gồm 4 Kbyte
- Bộ nhớ dữ liệu RAM bao gồm 128 byte
- Bốn cổng xuất nhập
- Hai bộ định thời/bộ đếm 16 bit thực hiện chức năng định thời và đếm sự kiện
- Bộ giao diện nối tiếp (cổng nối tiếp)
- Khối điều khiển ngắt với hai nguồn ngắt ngoài
- Bộ chia tần số
Trang 5* Các thông số đặc trưng: 128 byte RAM, 4K byte ROM trên chip, 2
bộ định thời, 1 cổng nối tiếp và 4 cổng (đều rộng 8 bit) vào ra tất cả được đặt trên cùng 1 chip có 40 chân
Câu 4: Anh (chị) hãy trình bày cấu trúc tổng quát và các thông số đặc trưng của bộ vi xử lý 8086.
-Bên trong bộ vi xử lý 8086 bao gồm 2 khối chính:
+ Khối thực hiện lệnh (EU- Execution Unit) là nơi giả mã và thi hành các lệnh
+ Giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đẩm bảo việc trao đổi thông tin giữa 8086 với các linh kiện bên ngoài
-Sau đây chúng ta sẽ tìm hiều cấu tạo bên trong của từng khối
• Khối thực hiện lệnh (EU)
Trang 6Khối thực hiện lệnh (EU- Execution Unit) là nơi giả mã và thi hành các lệnh EU bao gồm:
- Bộ xử lý số học và logic(ALU - Arithmatic Logiccal Unit) là nơi thưc hiện các lệnh số học và lệnh logic
- Các thanh ghi đa năng: Có chứa 4 thanh ghi đa năng 16 bit, mỗi thanh ghi có thể chứa bất kì các loại dữ liệu, tuy nhiên một số công việc, các thanh ghi này lại có chức năng đặc biệt của riêng nó mà các thanh ghi khác không thực hiện được
+ Thanh ghi AX: đây là thanh ghi chứa, kết quả của các thao tác thường được chứa ở đây Nếu kết quả là 8 bit thì thanh ghi AL
sẽ được sử dụng
+ Thanh ghi BX: đây là thanh ghi cơ sở, thương được chứa địa chỉ
cơ sở của một bảng khi sử dụng lệnh XLAT
+ Thanh ghi CX: đây là thanh ghi đếm, nó thường được chứa số lần lặp lại trong trường hợp dùng lênh LÔP, còn CL thì thường được chứa số lần quay hay dịch bít của các thanh ghi
+ Thanh ghi DX: đây là thanh ghi dữ liệu, nó thường được sử dụng cùng với thanh ghi AX để thực hiện các phép nhân hay chia của các số 16 bit DX còn được sử dụng để chứa địa chỉ cáccổng trong các lệnh vào/ra dữ liệu trực tiếp
- Thanh ghi cờ F là một đoạn ghi đặc biệt gọi là đoạn ghi cờ hay đoạn ghi trạng thái Mỗi bit của đoạn 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 Đoạn ghi cờ có 16 bitnhưng chỉ dùng hết 9 bit làm bit cờ
Các bit cờ chia thành hai loại:
Trang 7+ S (Sign): cờ dấu;
+ O (Overflow): cờ tràn,
* 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ý
+ IP (Instruction Pointer), BP (Base Pointer ), SP (Stack Ponter),
SI (Source Index): DI (Destinaton Index)
Bảng tóm tắt sự kết hợp ngầm định giữa đoạn ghi đoạn và đoạn ghilệch:
Đoạn ghi đoạn Đoạn ghi lệch Địa chỉ
CS IP Địa chỉ lệnh sắpthực hiện
DS BX, DI, SI Địa chỉ trong đoạn
• Khối giao tiếp bus (BIU)
Khối giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đẩm bảo việc trao đổi thông tin giữa 8086 với các linh kiện bên ngoài BIU gồm :
- Một bộ cộng để tạo địa chỉ vật lý 20 bit từ các thanh ghi 16 bit
- Bốn thanh ghi đoạn 16 bit gồm CS, DS, SS và ES để giúp 8086 truy cập tới các đoạn trên bộ nhớ
+ Thanh ghi đoạn mã CS (Code Segment),
+ Thanh ghi đoạn dữ liệu DS (Data Segment)
+ Thanh ghi đoạn dữ liệu phụ ES (Extra Segment)
+ Thanh ghi đoạn ngăn xếp SS (Stack Segment)
Trang 8Mạch logic điều khiển có nhiệm vụ đảm bảo giao tiếp giữa 8086 với thiết bị bên ngoài.
• Các thông số đặc trưng: có 40 chân
Vi xử lý 8086 được thiết kế để hoạt động một trong hai chế độ, tùy thuộc vào mức điện áp đặt ở chân số 33 (chân MN/MX):
- Chế độ tối thiểu (chế độ MIN) đươc thiết lập nếu điện áp ở chân số
33 ở mức 5V là chế độ tong hệ thống chỉ có 8086 và các vi mạch nhớ, các vi mạch ghép nối vào ra
-Chế độ tối đa (chế độ MAX) được thiết lập nếu điện áp ở chân số 33
ở mức 0V, là chế độ áp dụng cho hệ thống đa xử lý, đồng xử lý (8086
và bộ đồng xử lý toán học 8087)
• Các chân mang thông tin địa chỉ
-Vi xử lý 8086 có 20 đường địa chỉ từ A0 đến A19 tong đó 16 đường dây địa chỉ thấp từ A0 đến A15 được ghép kênh dữ liệu từ D0 đến D15 trên các chân từ AD0 đến AD15 ; còn 4 đường dây địa chỉ cao nhất từ A16 đến A19 được ghép kênh với tín hiệu trạng thái từ S3 đến S6 trên các chân A16/S3 đến A19/S6
• Các chân mang thông tin dữ liệu
- Vi xử ly 8086 có 16 đường dây dữ liệu từDo đến D15 được ghép kênh với 16 đường địa chỉ thấp từ D0 đến D15 Khi hoạt động ở chu kỳ bus dữ liệu thì các đường dây này mang thong tin về dữ liệu, là dữ liệu đọc ra hay vào bộ nhớ
• Các chân tín hiệu trang thái
- Bốn đường dây địa chỉ cao nhất từ A16 đến A19 của 8086 cũng được ghép kênh , nhưng trong trường hợp này nó được ghép kênh với các tín hiệu trạng thái từ S3 đén S6 Các bít trang thái này được đưa ra cùng thời điểm với các dữ liệu được truyền trên các chân
Trang 9kéo dài thời gian thực hiện đọc/ghi bằng cách chèn thêm các chu
kỳ đợi
• Các chân tín hiệu điều khiển
- ALE: [I] Address Latch Enable Xung cho phép chốt địa chỉ Khi ALE = 1 có nghĩa là trên các chân ghép kênh AD có địa chỉ của thiết bị vào/ra hoặc ônhớ Khi CPU chấp nhận treo chân này không
ở trạng thái trở kháng cao mà ALE = 0
- : [O] Data bus Enable Kích hoạt các bộ đệm bus dữ liệu
- : Chọn bộ nhớ (= 0) hoặc thiếtbị vào/ra (= 1) làm việc với
CPU Khi đó trên bus địa chỉ sẽ có địa chỉtương ứng của các thiết
bị đó Chân này ở trạng thái trở kháng cao khi CPU chấp nhận treo
- :[O] Data Transmit/Receive Tín hiệu này cho biết bus dữ liệu đang vận chuyển dữ liệu vào CPU hay ra khỏi CPU Tín hiệu này cũng dùng để điều khiển các bộ đệm 2 chiều của bus dữ liệu
bộ nhớ
- :[O] Read signal Xung cho phép đọc Khi RD = 0 thì bus dữ liệu nhận dữ liệu từ bộ nhớ hoặc thiết bị ngoại vi Chân này ở trạngthái trở kháng caokhi CPU chấp nhận treo
• Các chân tín hiệu ngắt:
- INTR: [I] Interrupt request Tín hiệu yêu cầu ngắt che được Khi cóyêu cầu ngắt (INTR = 1) mà cờ cho phép ngắt IF = 1 thì CPU kết thúc lệnh đang làm dở, sau đó đi vào chu kỳ chấp nhận ngắt và đưa
ra bên ngoài tín hiệu INTA = 0
- :[I] Tín hiệu tại chân này được kiểm tra bởi lệnh WAIT Khi CPU thực hiện lệnh WAIT mà lúc đó tín hiệu TEST = 1 thì nó sẽ chờ cho đến khi tín hiệu TEST = 0 thì mới thực hiện lệnh tiếp theo
- NMI: [I] None-Maskable Interrupt Tín hiệu yêu cầu ngắt không che được Tín hiệu này không bị khống chế bởi cờ IF và nó sẽ đượcCPU nhận biết bằng tác động của sườn lên của xung yêu cầu ngắt Nhận được yêu cầu ngắt này (NMI = 1) CPU kết thúc lệnh đạng làm dở,sau đó chuyển sang thực hiện chương trình phục vụ ngắt kiểu INT2
Trang 10- RESET: Dùng để thiết lập lại phần cứng cho CPU Chuyển RESETxuống mức logic 0 dùng để khởi tạo các thanh ghi nội của vi xử lý
và khởi tạo chương trình con phục vụ thiết lập hệ thống
Câu 5: Anh (chị) hãy trình bày đặc điểm của kiến trúc vi xử lý với tập lệnh rút gon RISC (Reduced Instruction Set Computer) Nếu
ưu và nhược điểm của kiến trúc vi xử lý RISC so với kiến trúc vi xử
lý với tập lệnh phức tạp CISC(Complex Instruction Set Computer).Đặc điểm của RISC
Các lệnh đơn giản: Kiến trúc CISC sử dụng rộng rãi các lệnh phức tạp bởi vì các câu lệnh giúp giảm sự phức tạp của ngữ nghĩa Tuy nhiên, trong thực tế, trình biên dịch hầu như bỏ qua các lệnh này Vì lý
do này, các kiến trúc RISC sử dụng các lệnh đơn giản hơn với độ dài
cố định và không có các lệnh kết hợp load/store với số học
Ít kiểu dữ liệu: kiến trúc CISC hỗ trợ một loạt các cấu trúc dữ liệu từ đơn giản cho đến phức tạp Tuy nhiên, dữ liệu thực nghiệm cho thấy rằng các cấu trúc dữ liệu phức tạp ít được sử dụng RISC hỗ trợ một vài kiểu dữ liệu đơn giản một cách hiệu quả và các kiểu dữ liệu kết hợp/phức tạp được tổng hợp từ chúng
Các chế độ định địa chỉ (addressing mode) đơn giản: thiết kế CISC cung cấp một số lượng lớn các chế độ đánhđịa chỉ để hỗ trợ cấu trúc
dữ liệu phức tạp cũng như để cung cấp sự linh hoạt để truy cập các toán hạng Tuy nhiên nó dẫn đến các vấn đề về thời gian thực thi lệnh
và độ dài lệnh biến thiên Điều này dẫn đến việc giải mã lệnh và định thời không hiệu quả Thiết kế RISC dùng các chế độ định địa chỉ đơn giản và các lệnh có chiều dài cố định để tạo điều kiện cho việc xử lý song song (pipelining) Chế độ định địa chỉ bộ nhớ gián tiếp không được cung cấp
Các thanh ghi mục đích chung giống nhau: thiết kế RISC cho phép bất kỳ thanh ghi nào cũng có thể dùng trong bất kỳ ngữ cảnh nào, đơn giản hóa thiết kế trình biên dịch
Kiến trúc Harvard: các thiết kế RISC thường sử dụng mô hình bộ nhớHarvard, các dòng lệnh và các luồng dữ liệu được tách ra
* Ưu điểm:
Trang 11Diện tích của bộ xử lý dùng cho bộ điều khiển giảm so với kiến trúc CISC Vì vậy có thể tích hợp thêm vào bên trong bộ xử lý các thanh ghi, các cổng vào ra và bộ nhớ cache
Tốc độ tính toán cao nhờ vào việc giải mã lệnh đơn giản, có nhiều thanh ghi và thực hiện kỹ thuật ống dẫn (pipeline) liên tục và có hiệu quả (các lệnh đều có thời gian thực hiện giống nhau và có cùng dạng) Thời gian cần thiết để thiết kế bộ điều khiển là ít Điều này góp phần làm giảm chi phí thiết kế
Bộ điều khiển trở nên đơn giản và gọn làm cho ít rủi ro mắc phải sai sót mà ta gặp thường trong bộ điều khiển
* Nhược điểm:
Việc cấm truy nhập bộ nhớ đối với tất cả các lệnh ngoại trừ các lệnh đọc (load) và ghi (store) vào bộ nhớ Vì vậy phải dùng nhiều lệnh để thực hiện một tác vụ nhất định
Cần phải tính các địa chỉ hiệu dụng vì không có nhiều cách định vị Tập lệnh có ít lệnh nên các lệnh không có sẵn phải được thay thế bằng một chuỗi lệnh của bộ xử lý RISC
- Các chương trình dịch gặp nhiều khó khăn vì có ít lệnh làm cho việc diễn dịch các cấu trúc của chương trình gốc bị hạn chế Sự cứng nhắc của kĩ thuật ống cũng gây khó khăn
- Có ít lệnh trợ giúp cho ngôn ngữ cấp cao
Tóm lại, kiến trúc RISC và CISC đều có những ưu và nhược điểm riêng nên rất khó
đánh giá cái nào sẽ tốt hơn.Hầu hết các bộ vi xử lý hiện nay không đơn thuần là RISC
hoặc CISC mà cố gắng kết hợp những ưu điểm của cả hai phương pháp
CISC vs RISC:
Trang 12Câu 6: Anh (chị) hãy trình bày đặc điểm và cấu trúc tập lệnh của
vi xử lý 8086
* Đặc điểm:
Bộ xử lý 8086 có tập lệnh gồm 111 lệnh, chiều dài của lệnh từ 1 byte đến vài byte Tập lệnh 8086 hỗ trợ các nhóm thao tác căn bản như:-Các lệnh trao đổi dữ liệu
-Các lệnh tính toán số học và lô gíc
-Điều khiển, rẽ nhánh và lặp
-Điều khiển vi xử lý
* Cấu trúc tập lệnh:
Trang 13Câu 7: Anh (chị) hãy trình bày các chế độ địa chỉ của vi xử lý
8086, cho ví dụ minh họa
đối với từng loại chế độ địa chỉ
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ó khi hoạt động Một bộ vi xử lý có thể có nhiều chế độ địa chỉ Các chế độ địa chỉ này được xác định ngay từ khi chế tạo ra bộ bi xử lý và sau này không thể thay đổi được Bộ vi xử lý
8086 và cả họ 80x86 nói chung có 7 chế độ địa chỉ sau:
1 Chế độ địa chỉ thanh ghi (register addressing mode)
2 Chế độ địa chỉ tức thì (immediate addressing mode)
3 Chế độ địa chỉ trực tiếp (direct addressing mode)
4 Chế độ địa chỉ gián tiếp qua thanh ghi (register indirect addressing mode)
5 Chế độ địa chỉ tương đối cơ sở (based indexed relative addressing mode)
6 Chế độ địa chỉ tương đối chỉ số (indexed relative addressing mode)
7 Chế độ địa chỉ tương đối chỉ số cơ sở (based indexed relative
addressing mode)
1 Chế độ địa chỉ thanh ghi
Trong chế độ địa chỉ này, người ta dùng các thanh ghi bên trong CPU như là các toán hạng để chứa dữ liệu cần thao tác Vì vậy khi thực hiện lệnh có thể đạt tốc độ truy nhập cao hơn so với các lệnh có truy nhập đên bộ nhớ
Ví dụ 2-1
MOV BX, DX ; chuyển nội dung DX vào BX
MOV DS, AX ; chuyển nội dung AX vào DS
Trang 142 Chế độ địa chỉ tức thì
Trong chế độ địa chỉ này, toán hạng đích là một thanh ghi hay một ô nhớ, còn toán hạng nguồn là một hằng số và vị trí của toán hạng này ởngay sau mã lệnh Chế độ địa chỉ này có thể được dùng để nạp dữ liệu cần thao tác vào bất kỳ thanh ghi nào (ngoại trừ các thanh ghi đoạn và thanh cờ) hoặc vào bất kỳ ô nhớ nào trong đoạn dữ liệu DS
Ví dụ 2-2
MOV CL, 100 ; chuyển 100 vào CL
MOV AX, 0FF0H ; chuyển 0FF0H vào AX để rồi
MOV DS, AX ; đưa vào DS (vì không thể chuyển hằng trực tiếp vào thanh ghi đoạn)
MOV [BX], 10 ; Nạp 10 vào ô nhớ có địa chỉ DS:BX
3 Chế độ địa chỉ trực tiếpTrong chế độ địa chỉ này một hằng là địa chỉ lệnh của ô nhớ làm một toán hạng, còn toán hạng kia chỉ có thể là thanh ghi mà không được là ô nhớ Nếu so sánh với chế độ địa chỉ tức thì ta thấy ở đây ngay sau mã lệnh không phải là toán hạng mà là địa chỉ lệch của toánhạng
Ví dụ 2-3
MOV AL, [1234H] ;chuyển nội dung ô nhớ DS:1234 vào AL
MOV [4320H], CX ;chuyển CX vào 2 ô nhớ liên tiếp DS:4320 và DS:4321
4 Chế độ gián tiếp qua thanh ghi
Trong chế độ địa chỉ này một toán hạng là một thanh ghi được sử dụng để chứa địa chỉ lệch của ô nhớ chứa dữ liệu, còn toán hạng kia chỉ có thể là thanh ghi mà không được là ô nhớ (8086 không cho phép tham chiếu bộ nhớ 2 lần đối với một lệnh)
5 Chế độ địa chỉ tương đối cơ sở
Trong chế độ địa chỉ này các thanh ghi cơ sở như BX hoặc BP và hằng
số biểu diễn giá trị dịch chuyển (displacement value) được dùng để tính địa chỉ hiệu dụng của một toán hạng trong vùng nhớ DS hoặc SS
Sự có mặt của các giá trị dịch chuyển xác định tính tương đối của địa chỉ so với địa chỉ cơ sở
Trang 15Ví dụ 2-5
MOV CX, [BX] +10 ; chuyển nội dung 2 ô nhớ liên tiếp có địa chỉ DS: [BX + 10]
; và DS: [BX+10] vào CX
MOV CX, [BX+10] ; một cách viết khác của lệnh trên
MOV CX, 10 [BX] ; một cách viết khác của lệnh đầu
MOV AL, [BP] +5 ; chuyển nội dung ô nhớ SS: [BP+5] vào AL.ADD AL, Table [BX] ; cộng AL với ô nhớ do BX chỉ ra trong bảng Table
; (bảng này nằm trong DS), kết quả lưu vào AL
6 Chế độ địa chỉ tương đối chỉ số
Trong chế độ địa chỉ này các thanh ghi chỉ số như SI hoặc DI và hằng
số biểu diễn giá trị dịch chuyển (displacement value) được dùng để tính địa chỉ hiệu dụng của một toán hạng trong vùng nhớ DS hoặc ES (trong các lệnh chuyễn chuỗi các byte hoặc từ)
Ví dụ 2-6
MOV CX, [SI] +10 ; chuyển nội dung 2 ô nhớ liên tiếp có địa chỉ DS: [SI + 10]
; và DS: [SI+10] vào CX
MOV CX, [SI+10] ; một cách viết khác của lệnh trên
MOV CX, 10 [SI] ; một cách viết khác của lệnh đầu
MOV AL, [DI] +5 ; chuyển nội dung ô nhớ DS: [DI+5] vào AL
7 Chế độ địa chỉ tương đối chỉ số cơ sở
Kết hợp hai chế độ địa chỉ tương đối chỉ số và tương đối cơ sở ta có chế độ địa chỉ tương đối chỉ số cơ sở Trong chế độ địa chỉ này ta dùng cả thanh ghi cơ sở lẫn thanh ghi chỉ số và một hằng biểu diễn sự dịch chuyển của địa chỉ để tính địa chỉ của toán hạng Ta có thể thấy chế độ địa chỉ này rất phù hợp cho việc địa chỉ hoá các mảng hai
chiều
Ví dụ 2-7
MOV AX, [ BX ] [SI ]+8 ;chuyển 2 ô nhớ liên tiếp có địa chỉ ; DS:[BX+SI+8] và DS:[BX+SI+9] vàoAX
MOV AX, [BX+SI+8] ; một cách viết khác của lệnh trên
MOV CL, [BP+DI+5] ; chuyển ô nhớ SS:[BP+DI+5] vào CL