Bộ vi xử lý - Chế độ địa chỉ 8086
Các cách khác nhau trong đó toán hạng nguồn được biểu thị trong một lệnh được gọi là addressing modes. Có 8 chế độ địa chỉ khác nhau trong lập trình 8086 -
Chế độ giải quyết ngay lập tức
Chế độ định địa chỉ trong đó toán hạng dữ liệu là một phần của bản thân lệnh được gọi là chế độ định địa chỉ tức thì.
Thí dụ
MOV CX, 4929 H, ADD AX, 2387 H, MOV AL, FFH
Đăng ký chế độ địa chỉ
Nó có nghĩa là thanh ghi là nguồn của một toán hạng cho một lệnh.
Thí dụ
MOV CX, AX ; copies the contents of the 16-bit AX register into
; the 16-bit CX register),
ADD BX, AX
Chế độ địa chỉ trực tiếp
Chế độ định địa chỉ trong đó địa chỉ hiệu quả của vị trí bộ nhớ được ghi trực tiếp trong lệnh.
Thí dụ
MOV AX, [1592H], MOV AL, [0300H]
Đăng ký chế độ địa chỉ gián tiếp
Chế độ định địa chỉ này cho phép dữ liệu được định địa chỉ tại bất kỳ vị trí bộ nhớ nào thông qua một địa chỉ offset được giữ trong bất kỳ thanh ghi nào sau đây: BP, BX, DI & SI.
Thí dụ
MOV AX, [BX] ; Suppose the register BX contains 4895H, then the contents
; 4895H are moved to AX
ADD CX, {BX}
Chế độ địa chỉ dựa trên
Trong chế độ định địa chỉ này, địa chỉ offset của toán hạng được cho bởi tổng nội dung của các thanh ghi BX / BP và độ dịch chuyển 8 bit / 16 bit.
Thí dụ
MOV DX, [BX+04], ADD CL, [BX+08]
Chế độ đánh chỉ mục
Trong chế độ định địa chỉ này, địa chỉ bù của toán hạng được tìm thấy bằng cách thêm nội dung của thanh ghi SI hoặc DI và các chuyển vị 8 bit / 16 bit.
Thí dụ
MOV BX, [SI+16], ADD AL, [DI+16]
Chế độ địa chỉ dựa trên chỉ mục
Trong chế độ định địa chỉ này, địa chỉ bù đắp của toán hạng được tính bằng cách tính tổng thanh ghi cơ sở với nội dung của thanh ghi chỉ mục.
Thí dụ
ADD CX, [AX+SI], MOV AX, [AX+DI]
Dựa trên được lập chỉ mục với chế độ dịch chuyển
Trong chế độ định địa chỉ này, phần bù toán hạng được tính bằng cách thêm nội dung thanh ghi cơ sở. Một Chỉ mục đăng ký nội dung và độ dịch chuyển 8 hoặc 16-bit.
Thí dụ
MOV AX, [BX+DI+08], ADD CX, [BX+SI+16]