LOCK – Assert Bus Lock Signal (Đưa ra tín hiệu khóa bus)

Một phần của tài liệu Thiết kế và thi công Kit vi xử lý 8086 (Trang 101 - 102)

I. Cấu trúc phần cứng của 8251: 1.Sơ đồ khối:

vLOCK – Assert Bus Lock Signal (Đưa ra tín hiệu khóa bus)

Lệnh LOCK dùng đặt trước các lệnh mà khi chạy nó có nguy cơ gây lỗi do khả năng xảy ra tranh chấp trong việc sử dụng bus giữa bộ vi xử lý 8086 và các bộ xử lý khác trong hệ thống đa xử lý. Nếu có lệnh LOCK đặt trước một lệnh nào đó, thì khi chạy lệnh này, 8086 đưa ra tín hiệu khóa bus. Tín hiệu này sẽ nối ra thiết bị điều khiển bus ngoài để cấm các bộ xử lý khác trong hệ thống sử dụng bus.

Lệnh XCHG cần 2 lần thâm nhập bus để hoàn tất việc thực hiện lệnh, do đó cần đặt sau LOCK để tránh nguy cơ tranh chấp bus có thể xảy ra trong hệ thống đa xử lý.

v LODS/LODSB/LODSW – Load String Byte/Word into AL/AX (Nạp vào AL/AX 1 phần tử của chuỗi byte/từ) AL/AX 1 phần tử của chuỗi byte/từ)

Cú pháp: LODS Chuỗi gốc

LODSB

LODSW

Mô tả : AL ¬ Phần tử hiện thời, SI ¬ SI + tùy theo DF, nếu là chuỗi byte

AX ¬ Phần tử hiện thời, SI ¬ SI + 2 tùy theo DF, nếu là chuỗi từ

(Phần tử hiện thời của chuỗi là do DS : SI hiện thời chỉ ra)

Lệnh LODS nạp vào AL/AX 1 bytes/ từ (1 phần tử của chuỗi đã được định nghĩa trước là chuỗi gồm các byte hoặc từ do SI chỉ ra trong đoạn DS, sau đó SI tự động tăng/giảm để chỉ vào phần tử tiếp theo tùy theo cờ hướng. Khi phải dịch lệnh LODS Chuỗigốc, chương trình dịch dùng tên Chuỗigốc để xác định xem lúc khai báo thì Chuỗigốc có các phần tử là byte hay từ. Muôn chỉ rõ cho chương trình dịch hợp ngữ rằng ta làm việc với chuỗi các byte hoặc các từ, ta cũng có thể dùng lệnh LODSB hoặc LODSW.

Lệnh này không tác động đến các cờ

Một phần của tài liệu Thiết kế và thi công Kit vi xử lý 8086 (Trang 101 - 102)