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]