2011-12-29 26 views

Trả lời

10

Đó là movapd, movaps, hoặc movdqa

movaps xmm3, xmm0 

Tất cả họ đều làm điều tương tự, nhưng có một nhược điểm:

  • movapdmovaps hoạt động trong lĩnh vực dấu chấm động.
  • movdqa hoạt động trong lĩnh vực nguyên

Sử dụng một trong những phù hợp theo kiểu dữ liệu của bạn để tránh các quầy hàng miền thay đổi.

Ngoài ra, không có lý do gì để sử dụng movapd. Luôn sử dụng movaps thay vì vì movapd mất thêm một byte để mã hóa.

+1

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

+4

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

+1

Tương tự áp dụng cho toán tử logic: chẳng hạn như: 'por',' orps' và 'orpd' – Mysticial

Các vấn đề liên quan