SAL – Shift Arithmetically Left (Dịch trái số học) / SHL – Shift (Logically) Left (Dịch trái logic)

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

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

vSAL – Shift Arithmetically Left (Dịch trái số học) / SHL – Shift (Logically) Left (Dịch trái logic)

Cú pháp: SAL Đích, CL

SHL Đích, CL

Trong đó toán hạng đích có thể tìm được theo các chế độ địa chỉ khác nhau Hai lệnh này có cùng tác dụng dịch trái số học toán hạng (còn gọi là dịch trái logic để có lệnh đối nhau với lệnh dịch phải logic sẽ nói ở phần sau). Mỗi lần dịch MSB sẽ được đưa qua cờ CF và 0 đưa vào LSB. Thao tác kiểu này được gọi là dịch logic. CL phải được chứa sẵn số lần dịch mong muốn. Trong trường hợp dịch một lần có thể viết trực tiếp :

SAL Đích, 1

(từ các bộ vi xử lý thế hệ sau như 80186, 80286 ... thì có thể viết trực tiếp kiểu này với số lần dịch lớn nhất là 32). Ta nhận thấy một lần dịch trái kiểu này tương đương với một lần làm phép nhân với 2 của số không dấu. Vì vậy ta có thể làm phép nhân một số với số nhân không dấu tương đương với 2 bằng các dịch trái số học số bị nhân i lần. Chính vì vậy thao tác này còn được gọi là dịch trái số học. Trong chừng mực nhất định lệnh này chạy nhanh hơn MUL

Tác động vào cờ :

Sau lệnh SAL hoặc SHL cờ CF mang giá trị cũ của MSB (vì vậy lệnh này còn dùng để tạo cờ CF từ giá trị của MSB làm điều kiện cho các lệnh nhảy có điều kiện), còn cờ OF ¬ 1 nếu sau khi dịch 1 lần mà bit MSB bị thay đổi so với trước khi dịch. Cờ OF sẽ không được xác định sau nhiều lần dịch.

Cập nhật : SF, ZF, PF, PF chỉ có ý nghĩa khi kết quả là 8 bit.

Không xác định : AF

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