Chuyển giá trị hằng số FFFFH vào thanh ghi AX; số 0 ởđầu được dùng để

Một phần của tài liệu GIỚI THIỆU CHUNG VỀ KIẾN TRÚC MÁY TÍNH. (Trang 25 - 26)

Bộ nhớ Thanh ghi Tức thời MOV 100H, AX MOV AX, MEM1

MOV AX, BX MOV AX, 0FFFFH MOV AX, 0FFFFH

- chuyển nôi dung trong AX vào vị trí nhớ 100H. nhớ 100H.

- Chuyển nội dung trong vị trí nhớ do nhãn MEM1 chỉ ra vào thanh ghi AX. nhãn MEM1 chỉ ra vào thanh ghi AX. - Chuyển nội dung trong BX vào thanh ghi AX.

- Chuyển giá trị hằng số FFFFH vào thanh ghi AX; số 0 ở đầu được dùng để thanh ghi AX; số 0 ở đầu được dùng để

phân biệt và chỉ rõ FFFFH là một giá trị

hằng chứ không phải là một nhãn.

XCHG -exchange two operands (hoán đổi nội dung 2 toán hạng). Viết lệnh: XCHG Đích, Nguồn

Trong đó toán hạng đích và nguồn có thể tìm được theo các chế độ địa chỉ khác nhau, nhưng phải có cùng độ dài và không được phép đồng thời là 2 ô nhớvà cũng không được là thanh ghi đoạn.

Ví dụ:

XCHG AH, AL ; tráo nội dung AH và AL.

XCHG AL, [BX] ; tráo nội dung AL với ô nhớ có địa chỉ DS:BX.

IN- Input data from a port (Đọc dữ liệu từ cổng vào thanh Acc) Viết lệnh: IN Acc, Port

Port là địa chỉ 8 bit của cổng, nó có thể có giá trị trong khoảng 00H..FFH. Nếu Acc là AL thì dữ liệu 8 bit được đưa vào từ cổng Port.

Nếu Acc là AX thì dữ liệu 16 bit được đưa vào từ cổng Port và Port+1.

Có thể biểu diễn địa chỉ cổng thông qua thanh ghi DX và như vậy địa chỉ cổng được địa chỉ hoá linh hoạt hơn. Lúc này địa chỉ cổng nằm trong dải 0000H..FFFFH và lệnh được viết như sau:

IN Acc, DX

Trong đó DX phải được gán từ trước giá trịứng với cổng.

OUT- Output a byte or word to a port ( Đưa dữ liệu ra cổng từ Acc). Viết lệnh: OUT Port, Acc

Nếu Acc là AH thì dữ liệu 16 bit được đưa ra cổng Port và cổng Port+1. Tương tự với lệnh IN, ở đây cũng có thể dùng thanh ghi DX để chứa địa chỉ cổng. Khi đó lệnh được viết như sau:

OUT DX, Acc.

Thanh ghi DX phải được nạp địa chỉ cổng từ trước.

LEA (load effective address). Lệnh nạp địa chỉ hiệu dụng vào thanh ghi, nó không di chuyển nội dung chứa trong địa chỉ đó. Đây là lệnh để tính địa chỉ lệch hoặc địa chỉ của ô nhớ chọn làm gốc rồi nạp vào thanh ghi đã chọn.

Viết lệnh: LEA Đích, nguồn.

trong đó :

- Đích thường là một trong các thanh ghi BX, CX, DX, BP, SI, DI.

- Nguồn là tên biến trong đoạn DS được chỉ rõ trong lệnh hoặc ô nhớ cụ thể. Ví dụ:

LEA DX, MSG ; Nạp địa chỉ lệch của bản tin MSG vào DX. LEA CX, [BX] [DI] ; Nạp vào CX địa chỉ hiệu dụng do

; BX và DI chỉ ra: EA=BX+DI.

PUSH/POP Thanh ghi ngăn xếp là nơi rất thuận tiện để cất giữ tạm dữ liệu và các toán hạng cần nhớ của chương trình. Ví dụ, một chương trình có thể muốn cất lại các nội dung trong thanh ghi AX để dùng trong một số thao tác sau này. Để thực hiện nhiệm vụ đó có thể dùng các lệnh PUSH POP.

Một phần của tài liệu GIỚI THIỆU CHUNG VỀ KIẾN TRÚC MÁY TÍNH. (Trang 25 - 26)

Tải bản đầy đủ (PDF)

(83 trang)