Tôi đang làm việc trên một phần rất thấp của ứng dụng trong đó hiệu suất là rất quan trọng.Tại sao các lệnh lắp ráp lại chứa các phép nhân trong lệnh "lea"?
Trong khi điều tra lắp ráp tạo ra, tôi nhận thấy các hướng dẫn sau đây:
lea eax,[edx*8+8]
Tôi thường thấy bổ sung khi sử dụng tài liệu tham khảo bộ nhớ (ví dụ [edx + 4]), nhưng đây là lần đầu tiên tôi nhìn thấy một phép nhân.
- Điều này có nghĩa là bộ xử lý x86 có thể thực hiện phép nhân đơn giản trong lệnh lea?
- Phép nhân này có ảnh hưởng đến số chu kỳ cần thiết để thực hiện lệnh không?
- Phép nhân được giới hạn ở lũy thừa 2 (tôi có giả định đây là trường hợp) không?
Xin cảm ơn trước.
Hãy lưu ý cách nó nhân với sức mạnh của hai người. – Mysticial
Xem thêm [Mục đích của hướng dẫn LEA là gì?] (Https://stackoverflow.com/questions/1658294/whats-the-purpose-of-the-lea-instruction) để biết thêm thông tin chung về việc sử dụng nó cho những thứ khác hơn là tính toán địa chỉ nghiêm ngặt. –