Dường như vấn đề tầm thường trong lắp ráp: Tôi muốn sao chép toàn bộ đăng ký XMM0 sang XMM3. Tôi đã thửLàm thế nào để bạn di chuyển các giá trị 128 bit giữa các thanh ghi XMM?
movdq xmm3, xmm0
nhưng MOVDQ không thể được sử dụng để di chuyển các giá trị giữa hai thanh ghi XMM. Tôi nên làm gì?
movdqa là những gì tôi đang tìm kiếm :) Cảm ơn. Đó là nhanh chóng :) PS. Làm thế nào để di chuyển dấu chấm động thực sự khác với các số nguyên? Đối với tôi, cả hai phải được sao chép đơn giản ... – lampak
Trên bộ xử lý Intel, có các đơn vị FP và số nguyên riêng biệt. Khi bạn thực hiện một lệnh trong một đơn vị, giá trị được chuyển đến đơn vị đó. Nhưng khi bạn đưa ra một lệnh trong một miền khác với giá trị đó, nó phải được chuyển đến đơn vị mới - với một chu kỳ 1-2 chu kỳ. Do đó, tốt nhất nên giữ một giá trị trong một miền nếu có thể - do đó tại sao có các lệnh 'mov' khác nhau. Nếu bạn đang làm số học số nguyên và bạn sử dụng 'movaps', bạn sẽ trả tiền phạt để di chuyển giá trị cho đơn vị FP, và một hình phạt khác để chuyển nó trở lại lệnh số nguyên tiếp theo được cấp cho nó. – Mysticial
Tương tự áp dụng cho toán tử logic: chẳng hạn như: 'por',' orps' và 'orpd' – Mysticial