PDA

View Full Version : Move data



Zero
23-07-2002, 13:19
Trong Assembler lệnh nào dùng để chuyển một khối dữ liệu lớn (khoảng 10 - 20 MB) trong bộ nhớ nhanh nhất ? hiện mình đang dùng MovQ

CrazyBabe
24-07-2002, 13:45
Theo tui, MovQuadWord là giải pháp tốt nhất cho các dòng xử lý 8086 từ P2 trở về trước, còn bi giờ có thể sử dụng các bộ lệnh mới theo chuẩn SIMD (Single Instruction Multiple Data) cụ thể là các bộ lệnh MMX (Cho P3 hoặc phiên bản mở rộng cho P4) hay các lệnh 3DNow! (Công nghệ tương tự của AMD) có khả năng pack và xử lý trên một package dữ liệu có độ lớn tính theo khối MMX, chỉ có điều các bộ lệnh này xử lý gói nên khối dữ liệu của bạn tốt nhân nên có kích thước chia hết cho 1 QuadWord thì mới đạt được tốc độ tối ưu, về điểm này bạn nên tìm cuốn "Art of Assembly programming" có các ví dụ rất cụ thể, cuốn này có phiên bản mới tháng 4 năm 2002, có ở Amazon, giá là $120.

ngocthachez
02-09-2010, 15:01
Khai quật con hàng cách đây 8 năm lên cái nào :P

FullOfLove
03-09-2010, 09:41
asm x86 có prefix REP, REPZ, REPNZ mà, dùng cái đó để lặp lại cho nhanh
mình học MIPS nên chỉ đọc sơ qua x86 thôi, có j sai xin mấy bro hướng dẫn thêm ;))